0
点赞
收藏
分享

微信扫一扫

tensorflow 1.x 到 2.x 代码修改

求索大伟 2022-04-06 阅读 66

参考:导师让我将一个在tensorflow1.x上写的代码改成tensorflow2.x我该如何改? - 知乎 (zhihu.com) ;Tensorflow2.0遇到的几个无法使用Tensorflow1.0的语句对应解决方案_贪吃的燕子的博客-CSDN博客

修改 tensorflow 引用方式

import tensorflow as tf

将其改为

import tensorflow.compat.v1 as tf 

可能会在编译器爆红,但并不影响使用

img

contrib 模块

tensorflow 在 2.x 版本移除了contrib 模块,下面整理了在进行升级改造时遇到的包

crf

crf 模块被迁移至了 tensorflow_addons

# 修改前
from tensorflow.contrib.crf import crf_log_likelihood
# 修改后
from tensorflow_addons.text.crf import crf_log_likelihood

layers

layer 模块被迁移至 tf_slim

# 修改前
from tensorflow.contrib.layers.python.layers import initializers
# 修改后
from tf_slim.layers import initializers

complier

complier 模块保留在 tensorflow

# 修改前
from tensorflow.contrib.compiler import jit
# 修改后
from tensorflow.compiler import jit

rnn / rnn_cell包

# 修改前
from tensorflow.contrib import rnn
# 修改后
from tensorflow.python.ops import rnn,rnn_cell

crf包

先通过 pip install tensorflow_addons 下载 tensorflow_addons

# 修改前
from tensorflow.contrib.crf import crf_log_likelihood
# 修改后
from tensorflow_addons.text.crf import crf_log_likelihood

数据定义

# 修改前
x = tf.placeholder(dtype=tf.int32,shape=[None,None],name='number')
# 修改后
x = tf.Variable(tf.zeros(shape=[None,None]),name='number')

模型保存器 Save

# 修改前
x = tf.train.Saver()
# 修改后
x = tf.compat.v1.train.Saver()

import 时的语句

# 修改前
import tensorflow as tf
# 修改后
import tensorflow.compat.v1 as tf

Adam 调用

# 修改前
opt = tensorflow.train.AdamOptimizer()
# 修改后
opt = tensorflow.python.training.adam.AdamOptimizer()
举报

相关推荐

0 条评论