Ошибка учебника по официальной документации TensorFlow '' numpy .ndarray 'объект не имеет атрибута' get_shape ' - PullRequest
0 голосов
/ 27 апреля 2020

Я пытался запустить точный код в учебнике TensorFlow здесь .

Когда я попадаю в строку:

predictions = model(x_train[:1]).numpy()

Я получаю ошибку:

'numpy.ndarray' объект не имеет атрибута 'get_shape'

Я видел здесь , что у кого-то была похожая проблема, поэтому я изменил строку на:

predictions = model(tf.convert_to_tensor(x_train[:1])).numpy()

И я получаю ошибку:

Ввод 'b' из 'MatMul' Оператор имеет тип float32, который не соответствует типу float64 аргумента 'a'

Может кто-нибудь сказать мне правильный код, который должен быть в учебнике? Или это проблема с моей стороны?

Одна странная вещь - она ​​запускается, если я запускаю код в записной книжке colab, но если я загружаю записную книжку jupyter для локального запуска, тогда я получаю ошибка. Поэтому мне интересно, есть ли у меня другая / неправильная версия TensorFlow?

Мои пакеты:

tensorflow                1.13.1            
tensorflow-base           1.13.1            
tensorflow-estimator      1.13.0                       
python                    3.7.6                 

1 Ответ

0 голосов
/ 28 апреля 2020

Учебник, на который вы ссылаетесь, находится в Tensorflow 2.x (где режим Eager по умолчанию). В режиме Eager вы можете получить доступ к тензору с помощью метода .numpy(), чтобы получить numpy значение тензора.

В вашем локальном компьютере у вас есть TensorFlow 1.13.1, который запускает модель в графическом режиме. Вы можете получить доступ к значению numpy graph tensor (не трезвого тензора), запустив сеанс и оценив тензор. Здесь - это один учебник по TF1.x с данными mnist. В целом, в TF1.x вам необходимо создать график, создать заполнители, затем запустить сеанс, передать данные заполнителям и обучить модель, а затем прогнозировать.

Другой альтернативой является установка Tensorflow 2. x, запустив "pip3 install tenorflow == 2.1`. После установки вы можете запустить пример без каких-либо проблем.

...