TensorArray читается, когда размер равен 0Python

Программы на Python
Ответить
Anonymous
 TensorArray читается, когда размер равен 0

Сообщение Anonymous »

num_items функция выдает

в коде пользователя:
Файл "/Users/anu/PycharmProjects/Siglip/KVCache.py", строка 12, в num_items *
tf.cond( self.key_cache.size() > 0,
OutOfRangeError: пыталась прочитать индекс 0, но размер массива это: 0

Я не мог понять, почему он так охотно выполняет чтение. update еще не отлажено. Этот код является частью моей логики вывода модели Keras/TensorFlow. Если я изменю его, чтобы включить лямбда, он тоже не работает. На данный момент я удалил TensorArray и использую dict с tf.Variable. значение.
import tensorflow as tf

class KVCache:

def __init__(self, ):
self.key_cache = tf.TensorArray(tf.int32, size=0, dynamic_size=True)
self.value_cache = tf.TensorArray(tf.int32, size=0, dynamic_size=True)

@tf.function
def num_items(self):
tf.cond( self.key_cache.size() > 0,
tf.shape(self.key_cache.read(0))[-2],
tf.constant(0, tf.int32)
)
@tf.function
def update(self,
key_states,
value_states,
layer_idx):
if self.key_cache.size()

Подробнее здесь: https://stackoverflow.com/questions/798 ... -size-is-0
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»