TensorFlow 2.5.0 incompatibility with NumPy 1.21+? (2021-10-05)(TensorFlow 2.5.0与NumPy 1.21+不兼容?(2021-10-05))
问题描述
给每一个偶然发现这一点的人:
我最近在做图像分类(将CNN添加到一些已标记的数据上),我想使用KERAS的模块进行数据增强。但是,我抛出了一个NotImplementedError。更具体地说,它逐字如下:
NotImplementedError:无法将符号张量(sequential_3/sequential/random_rotation/rotation_matrix/strided_slice:0)转换为数字数组。此错误可能表示您正试图将张量传递给不受支持的NumPy调用
以下是我为增强层编写的代码:
angle = 15
data_augmentation = keras.Sequential([
layers.experimental.preprocessing.RandomFlip('horizontal'),
layers.experimental.preprocessing.RandomRotation(angle/360)
])
所以我想要水平翻转我所有的图像并随机旋转15度。我直接把这条信息输入我的CNN:
layers_2 = [
#image augmentation layer
data_augmentation,
#convolution layer
keras.layers.Conv2D(16, 3, padding = 'same', activation = 'relu'),
keras.layers.MaxPooling2D(),
keras.layers.Conv2D(32, 3, padding = 'same', activation = 'relu'),
keras.layers.MaxPooling2D(),
keras.layers.Conv2D(64, 3, padding = 'same', activation = 'relu'),
keras.layers.MaxPooling2D(),
keras.layers.Flatten(),
#dropout for regularization
keras.layers.Dropout(0.2),
#MLP layer
keras.layers.Dense(128, activation = 'relu'),
keras.layers.Dense(64, activation = 'relu'),
keras.layers.Dense(3, activation = 'softmax')
]
model_2 = keras.Sequential(layers_2)
model_2.compile(optimizer = tf.optimizers.Adam(),
loss = tf.keras.losses.SparseCategoricalCrossentropy(),
metrics = [tf.metrics.SparseCategoricalAccuracy()]
)
epochs_2 = 15
#fitting
history_2 = model_2.fit(
normalized_train_ds,
validation_data = normalized_val_ds,
epochs = epochs_2
)
其中Normalized_Train_DS和Normalized_Val_DS都是规范化的tensorflow.data.Dataset对象。
必要的上下文:我在我的本地机器上,在配置了Python3.9.7的环境中运行它。我的NumPy版本是1.21.2,我的TensorFlow版本是2.5.0。早在2021年2月,我就遇到过类似的问题,只是他们注意到运行Python3.9.1和TensorFlow 2.4.1,以及NumPy 1.20+的人出现了同样的问题(该问题的链接:https://github.com/tensorflow/tensorflow/issues/47360)。
实际问题:我只是写了一些糟糕的代码,还是我的版本的Python、TensorFlow、NumPy不兼容?我试着安装了之前版本的NumPy(1.20+),但它抛出了同样的问题。如果我在Google Colab笔记本上运行它,这就不再是问题了。
推荐答案
根据GitHub上的此问题,TensorFlow2.5和NumPy 1.20+不兼容。 https://github.com/tensorflow/tensorflow/issues/47691
这篇关于TensorFlow 2.5.0与NumPy 1.21+不兼容?(2021-10-05)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:TensorFlow 2.5.0与NumPy 1.21+不兼容?(2021-10-05)


- pytorch 中的自适应池是如何工作的? 2022-07-12
- python-m http.server 443--使用SSL? 2022-01-01
- 如何在 python3 中将 OrderedDict 转换为常规字典 2022-01-01
- padding='same' 转换为 PyTorch padding=# 2022-01-01
- python check_output 失败,退出状态为 1,但 Popen 适用于相同的命令 2022-01-01
- 沿轴计算直方图 2022-01-01
- 如何将一个类的函数分成多个文件? 2022-01-01
- 如何在 Python 的元组列表中对每个元组中的第一个值求和? 2022-01-01
- 使用Heroku上托管的Selenium登录Instagram时,找不到元素';用户名'; 2022-01-01
- 分析异常:路径不存在:dbfs:/databricks/python/lib/python3.7/site-packages/sampleFolder/data; 2022-01-01