Tensorflow2.0框架的使用感悟

1. 即时执行模式

Tensorflow2.0版本的框架时,一般默认为即使执行模式。但是如果你使用的是tensorflow1.x版本框架,必须在导入相应的库函数之后,还需要调用这个函数:tf.enable_eager_execution(),启用及时执行模式,否则会导致如下类似错误:
AttributeError: ‘RefVariable‘ object has no attribute ‘_id‘、AttributeError: ‘Tensor‘ object has no attribute ‘numpy‘等。

在这里插入图片描述

2. 导入第三方的库报错

(1)在导入第三方库时,有时候会报错:No module named “XXX” ,一般我们只需要pip install 相应的package即可。
(2)但是如果使用其自己或者他人编写的的代码库时,有可能会报如下错误:ModuleNotFoundError: No module named ‘zh.model’; ‘zh’ is not a package (zh是该作者的写的代码库: 简明的TensorFlow2
在这里插入图片描述
特别是我们在使用pycharm调试代码时,因为Pycharm默认不会执行当前目录下的文件。为了解决上述问题:
a.将zh代码库拷贝到当前目录下,并将其设置成source code(右键单击选择相应选项即可)。
b.在zh文件夹下新建一个__init__.py文件。里面内容可以为空

在这里插入图片描述(图2-1文件存放的路径)
在这里插入图片描述
(图2-2 设置成源文件)
在这里插入图片描述
(图2-3 添加__init__.py文件)

3. 模型的保存及部署

为了将训练好的机器学习模型部署到各个目标平台,我们首先要做的就是保存模型,将其导出标准格式的文件。然后可以在不同的部署平台使用相应的部署工具即可调用模型。
(1)将训练好的模型保存并导出
一般使用SaveModel模块保存模型。具体的文章及代码可以参考: 模型保存.
(2)一般工业界将模型部署在服务器上,需要使用Tensorflow Serving,而服务器一般是Linux系统,但是我们一般使用windows系统编写代码,此时可以安装windows10自带的Linux子系统。 安装子系统的参考文章请访问:WSL.在这里插入图片描述
我在安装WSL的过程中遇到的问题就是步骤7,设置新分发的时候出现了问题:
Installing, this may take a few minutes…
WslRegisterDistribution failed with error: 0x80071772
Error: 0x80071772 ???

Press any key to continue…
在这里插入图片描述
为了解决这个问题,直接换用最新版的Ubuntu即可。
(3)当安装好windows10的linux子系统之后,安装TensorFlow Serving后,我们可以使用TensorFlow Serving进行部署,最常见的方式,是在服务器上提供一个 API,即客户机向服务器的某个 API 发送特定格式的请求,服务器收到请求数据后通过模型进行计算,并返回结果。相关文章可以参考: TensorFlow Serving安装及使用.
这里需要注意的是由于电脑是windows10系统和linux系统的文件夹互相读取时不时很方便,这里建议将保存的模型放在linux系统的文件夹下。我遇到的问题如下:
在这里插入图片描述
最后我将保存的模型文件保存到了linux系统可读取的文件夹下(pwd指令确定即可),部署成功得状态显示如下:
在这里插入图片描述
(4)然后在python客户端调用模型即可:
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值