部署nsfw_model的过程

环境部署过程

模型来源:GantMan/nsfw_model: Keras model of NSFW detector (github.com)https://github.com/GantMan/nsfw_model

部署的环境配置:(nsfw-model-conda环境)

 具体配置如下:tf24、python38

配置脚本总结(可能不全)

#创建虚拟环境nsfw和python版本
conda create -n nsfw python=3.8
#尝试安装tensorflow==2.6.0,因为模型需要>=2.2.0
pip install tensorflow==2.6.0 -i https://pypi.douban.com/simple/
#为了jupyter,vscode会提示安装,不过建议再命令行安装,这样在pycharm也可以用(好像)
conda install ipykernel
#添加虚拟环境到内核(很重要)(vscode不用,pycharm要,jupyter也要,不然内核change中无法看到新的虚拟环境)
ipython kernel install --user --name=nsfw 
#导入tensorflow报错,修改protobuf版本
conda install protobuf==3.19.6
#安装tensorflow-hub:0.5/0.12/0.13
pip install tensorflow-hub -i https://pypi.douban.com/simple/
pip install tensorflow_hub -i https://pypi.douban.com/simple/
#导入tensorflow报错,再次修改protobuf
pip uninstall protobuf
pip install protobuf==3.19.0 -i https://pypi.douban.com/simple/
#修改tensorflow_hub版本
pip install tensorflow_hub==0.5.0 -i https://pypi.douban.com/simple/
pip install --upgrade tensorflow-hub -i https://pypi.douban.com/simple/
#修改tensorflow版本
pip uninstall tensorflow==2.6.0 
conda activate nsfw
pip install tensorflow==2.4.0 -i https://pypi.douban.com/simple/

 最后运行成功:

部署nsfw_model的过程_第1张图片

 经验总结:

什么时候修改protobuf版本:(图片来源)

验证是否成功的方法:尝试导入tensorflow看是否报错,此前请忽略一些不必要的版本警告(d2l、matlib等)

什么时候修改tensorflow版本

1.报错:tensorflow某些库的函数缺失,或者库缺失如(tf.python.checkpoint)

如何查看库是否缺失:到envs/Lib\site-packages/tensorflow/*  查看

(重装后有了checkpoint,不知道死版本问题,还是安装出错问题)

部署nsfw_model的过程_第2张图片

 

我就是看到tf21有,到了tf26没有,才想着要改为tf24的

如果重装不彻底(可能有残余,建议新建虚拟环境,但我重装tf没问题)

2.不要耍小聪明把tf21有的包复制到tf26下,否则报另一个错误:

Duplicate registrations for type trackable_dict_wrapper

 3.关于pycharm

pycharm也可以利用conda创建虚拟环境和安装包,但是有的需要管理员权限,另外还发现pycharm和vscode运行上述代码,报错有的还不一样。

你可能感兴趣的:(python,tensorflow,开发语言)