TF 2.0 создать модель — объект ‘Tensor’ не имеет атрибута ‘numpy’

#python #numpy #tensorflow

#python #numpy #тензорный поток

Вопрос:

При выполнении приведенного ниже кода у меня возникает следующая ошибка.

 AttributeError: 'Tensor' object has no attribute 'numpy'
  

исходный код

 
    inp = Input(shape=(TIME_STEPS, INPUT_DIM,))
    inp_time = Input(shape=(1,))
    print(tf.executing_eagerly())  # return True
    
    print(inp_time.numpy()) # error
    # inp_time=inp_time.eval()/ K.get_value()/ x.numpy()/ K.eval()
    x = ConvAtteShare(inp_time=inp_time.numpy(),kernel=(32,32),stride=(16,16),filter_num=3)(inp)
    x = Dense(kind_num,activation='softmax')(x)
    m = Model(inputs=[inp,inp_time], outputs=[x], name='convatte-test')
    print(m.summary())

  

ошибка

 print(inp_time.numpy())

AttributeError: 'Tensor' object has no attribute 'numpy'
  

Если я прав, .Numpy поддерживается только в режиме ожидания, в котором я должен работать (см. print (tf.executing_eagerly()) возвращает true)

Нужна помощь, чтобы выяснить ошибку и где могло пойти не так.

Спасибо за вашу помощь

Ответ №1:

Обновите свой пакет tensorflow или, если вы не можете, попробуйте ввести

 tf.enable_eager_execution()
  

в начале вашего скрипта на python и выполните.

Комментарии:

1. я использую tf2.0, режим ожидания по умолчанию.

2. теперь возникает вопрос: как преобразовать символьный тензор в значение int?