这里是一只从零开始机器学习的小白,搭建的这个果蔬识别系统来自up主肆十二-的: 果蔬识别系统,不过up主使用cpu进行训练,这里将其修改为使用gpu训练,在搭建环境的过程中出现了许多问题,特记录下来。
该系统界面如下图所示,上传图片后即可识别是哪一种水果。
代码: vegetables
数据集在代码里
搭建过程可参考博客: 水果蔬菜识别系统-基于tensorflow2.3开发
以下主要是搭建过程中遇到的问题。
pycharm下载地址: PyCharm (社区版即可,安装时复选框全勾上)
下载地址: Conda
下载哪个版本的按理说没啥影响,我下载的版本如下图所示:
安装时勾选这个,可以自动配置环境变量,比较方便一些
显示下列信息则表示安装成功且环境配置完成
tensorflow-gpu安装过程参考博客: tensorflow-gpu版本安装教程(过程详细)
安装步骤:cuda -> cuDNN -> tensorflow-gpu
上述链接里很详细,因此仅记录下本机安装的版本
首先是本机的驱动配置CUDA 11.6.134 driver
下载链接: CUDA Toolkit
下载链接: cuDNN
下载版本,直接最新,这可能也为之后遇到的问题埋下了伏笔
tensorflow-gpu、Python、CUDA、cuDNN之间的版本对应关系查看: link
综上:本机选择安装的是
tensorflow_gpu:2.6.0 -> 2.8.0 (因为安装了2.6.0报错,所以改成了2.8.0,这一点在后面会提到)
python:3.7
cuDNN:8.4
CUDA:11.6.0
cmd打开命令行
(1)为加速下载速度,切换镜像源
pip config set global.index-url https://opentuna.cn/pypi/web/simple
(2)创建虚拟环境
conda create -n tf2.6 python==3.7
(3)激活虚拟环境
conda activate tf2.6
(4)安装tensorflow-gpu (起初安装的是2.6.0版本,后来报错改为2.8.0即可)
pip install tensorflow-gpu==2.6.0
(5)测试是否安装成功
python
import tensorflow as tf
tf.config.list_physical_devices('GPU')
如下图所示即为安装成功
(6)安装果蔬识别系统所需的包
pip install pyqt5 -i https://mirror.baidu.com/pypi/simple
pip install pillow -i https://mirror.baidu.com/pypi/simple
pip install opencv-python -i https://mirror.baidu.com/pypi/simple
pip install matplotlib -i https://mirror.baidu.com/pypi/simple
在Pycharm中打开项目
添加刚才建立的虚拟环境
发生报错
ImportError: cannot import name ‘dtensor’ from ‘tensorflow.compat.v2.experimental’
解决方案参考: tensorflow 2.x常见问题
本机解决方案:将tensorlfow更新为2.8
pip install tensorflow==2.8 -i https://pypi.tuna.tsinghua.edu.cn/simple
再次运行,又发生报错
解决方案参考: 解决Loaded cuDNN version 8400加载问题
本机解决方案:
(1)下载 zlibwapi
(2)将下载后的安装包解压,里面的三个文件加入命名“zlib123dllx64”的文件夹
(3)将zlib123dllx64文件夹移入C:\Program Files (x86)路径下,将此路径设置在path中
至此,问题解决,成功运行