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)
基础教程推荐
- 合并具有多索引的两个数据帧 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01