#python #tensorflow #keras
#python #тензорный поток #keras
Вопрос:
import tensorflow as tf
print("Tensorflow version: ", tf.__version__)
import logging
tf.get_logger().setLevel(logging.ERROR)
import numpy as np
from keras.models import Sequential
from keras.layers import AveragePooling2D
# define input image
image = np.array([ [2, 2, 7, 3],
[9, 4, 6, 1],
[8, 5, 2, 4],
[3, 1, 2, 6]])
image = image.reshape(1, 4, 4, 1)
# define model containing just a single average pooling layer
# https://keras.io/api/layers/pooling_layers/average_pooling2d/
model = Sequential(
[AveragePooling2D(pool_size = 2, strides = 2)]
)
# generate pooled output
output = model.predict(image)
# print output image
output = np.squeeze(output)
print("Average Pooling using keras:",output)
Я получил следующую ошибку:
- Ошибка значения: ввод 0 слоя sequential_14 несовместим со слоем: ожидаемый ndim=5, найденный ndim=4. Получена полная форма: [Нет, 4, 4, 1]
У вас есть какие-нибудь идеи? Спасибо.
Комментарии:
1. Работает для меня для версии Tensorflow:
2.1.0
. Вывод:Average Pooling using keras: [[4.25 4.25] [4.25 3.5 ]]
. Какую версию tensorflow вы используете?2. Спасибо за ваш быстрый ответ. Версия Tensorflow: 2.3.0
3. Теперь я понял. Я использовал JupyterLab 2.2.6, но он хорошо работает в Jupyter notebook 6.1.1 Спасибо за ваши усилия
Ответ №1:
Попробуйте изменить тип:
image = np.array([ [2, 2, 7, 3],
[9, 4, 6, 1],
[8, 5, 2, 4],
[3, 1, 2, 6]], dtype="float64")