网上很多的开源代码所用的库的版本都是tensorflow1.x的,跟tensorflow2.0里面的内容完全不匹配,以下是我在学习中遇到的一些版本差异带来的问题
1.调用库时遇到的问题
下面是一段代码:
from keras.optimizers import SGD,RMSprop,Adam
在tensorflow2.x版本上会报错,表示在keras中找不到这些函数
其实原因是tensorflow2.x版本兼容了keras,需要进行修改
from tensorflow.keras.optimizers import Adam,RMSprop,SGD
修改成这样以后就能成功运行了
2.model.compile()函数中遇到的问题
源代码是这样的:
model.compile(optimizer='Adam', loss=['categorical_crossentropy'],metrics=[f1])
显示报错,但是错误为module 'tensorflow' has no attribute 'is_nan',完全看不懂这是什么意思
在找到对应的这行代码之后,我去查阅了compile函数,发现其中的metrics参数存在问题,没有f1这个选项,在我把它改成accuracy之后就可以运行了
metrics=["accuracy"]
3.module 'tensorflow' has no attribute 'placeh