TensorFlow2.X 和 1.X不同导致的报错

本文探讨了TensorFlow 1.x与2.x之间的主要差异,包括Model类定义、模块导入、GPU配置和函数名称调整。通过实例解决了从1.x升级过程中遇到的报错,并提供了必要的迁移建议。附录列出了关键函数的调整,以及一些常见问题的解决方案。
摘要由CSDN通过智能技术生成

TensorFlow2.X 和 1.X不同导致的报错

一、
TensorFlow1.X :

model = Model(input=[inputs], output=output)

报错信息:

TypeError: (‘Keyword argument not understood:’, ‘input’)

解决方法,换成TensorFlow2.X :

model = Model(inputs=..., outputs=...)

二、
TensorFlow1.X :

from keras.models import Model
from keras.optimizers import Adam
from keras import backend as K
from keras.models import load_model

from keras.utils import to_categorical

报错信息:

ModuleNotFoundError: No module named ‘keras’

TensorFlow2.X :

from tensorflow.python.keras.models import Model
from tensorflow.python.keras.optimizers import Adam
from tensorflow.python.keras import backend as K
from tensorflow.python.keras.models import load_model

from tensorflow.keras.utils import to_categorical

三、

TensorFlow1.X :

import tensorflow as tf
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.333)
sess = tf.Session(config=tf.compat.v1.ConfigProto(gpu_options=gpu_options))

os.environ['CUDA_VISIBLE_DEVICES'] = '0'
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)

报错信息:

AttributeError: module ‘tensorflow’ has no attribute ……

TensorFlow2.X :

import tensorflow.compat.v1 as tf
tf.compat.v1.disable_eager_execution()
或
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

替换import tensorflow as tf

四、

TensorFlow1.X :

history = model.fit(X_train, train_label, batch_size=64, nb_epoch=nb_epoch,verbose=1,
                    shuffle=True, validation_data=(X_val, val_label), callbacks=callback_lists)

报错信息:

TypeError: fit() got an unexpected keyword argument ‘nb_epoch’

TensorFlow2.X :

history = model.fit(X_train, train_label, batch_size=64, epochs=nb_epoch,verbose=1,
                        shuffle=True, validation_data=(X_val, val_label),callbacks=callback_lists)

附件
在TensorFlow 2.x版本中,将TensorFlow 1.x版本中的部分函数名字进行调整,如下:

将函数tf.random_uniform —>tf.random.uniform
将函数tf.random_crop—>tf.image.random_crop
将函数tf.random_shuffle—>tf.random.shuffle
将函数tf.read_file—>tf.io.read_file

参考链接
https://zhuanlan.zhihu.com/p/74858833

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值