基于opencv+tensorflow的图像识别系统基础配置
- 首先安装Anaconda
- 安装Python3.9,因为最新的tensorflow-2.6.0支持Python最高版本是3.9,选择最新的full bugfix版本。详细支持列表见链接:
https://tensorflow.google.cn/install/source_windows?hl=zh-cn
- 改变anaconda默认python版本:首先创建一个名为tensorflow的环境,指定的Python版本是3.7(不需要写具体版本号,conda会在软件包安装时根据兼容情况自行安装Pthon3.7最高版本)
>conda create --prefix=E:\python_envs\tensorflow python=3.7
现有运行环境如果要修改python版本:
方法1:Conda激活虚拟环境,安装相应版本的python。
方法2:在Anaconda Navigator中修改,点击python前面的绿色钩选择需要修改的版本后点击右下角的Apply按钮即可。
>conda activate E:\python_envs\tensorflow
>conda install python=3.8.10
- 激活和停用环境:
>conda activate E:\python_envs\tensorflow
>conda deactivate
如果提示 invalid choice: 'activate',需要初始化conda
>conda init
要删除配置的新环境,可以命令行,也可以在Anaconda Navigator中删除:
>conda remove --name tensorflow --all
>conda env remove -n TF2.9
>conda env list
- 改变Anaconda 默认Python版本,将其路径放在anaconda3之前。
- CUDA安装
在显卡驱动被正确安装的前提下,在命令行里输入nvidia-smi.exe
可以看到显示CUDA Version为12.2,说明该显卡最高支持到12.2。
- 下载安装CUDA Toolkit 11.2.2
https://developer.nvidia.com/cuda-toolkit-archive
重启电脑,然后Win+R进入cmd界面,输入nvcc -V,出现如下界面,代码cuda已经安装成功了。必须要重启电脑,否则运行nvcc -V 会找不到命令
- cuDNN 安装v8.1.1
cuDNN下载地址:
https://developer.nvidia.com/rdp/cudnn-archive
下载的cuDNN压缩包解压后出现三个子文件夹,拷贝到CUDA安装目录即可
Windows10检查Cuda和cuDNN是否安装成功?
首先CMD命令行输入nvcc –V查看Cuda版本信息;然后进入到cuda的安装路径,C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA \v11.2\extras\demo_suite目录下首先执行:deviceQuery.exe,然后执行bandwidthTest.exe,确认信息无异常。
- 激活sensorflow环境,pip安装TensorFlow 2.6.0
>conda activate E:\python_envs\tensorflow
>pip install tensorflow-gpu==2.6.0
建议使用pip安装,conda虽然能自动解决依赖和冲突,但是速度慢,库少。conda更新:
>conda update -n base -c defaults conda
>conda list opencv #查找包含opencv字段的已安装软件包
- 检验安装是否成功
如果报错:AttributeError: module 'numpy' has no attribute 'object',解决方法是将numpy版本修复到仍然支持使用 np.object 的一个版本(≤1.23.4),考虑兼容性,合适的版本为1.19.4(与python3.7兼容)。
>conda search numpy #查看可用版本
>conda install numpy==1.19.4
这是tensorflow-gpu2.6.0兼容的几个包的版本,亲测可用
按顺序安装,最后pandas会跟随前面的包安装好,不用单独安装
cudatoolkit=11.2.2
cudnn=8.1.0.77
tensorflow-gpu=2.6.0
tensorflow-estimator=2.6.0
keras=2.6.0
numpy=1.19.4
matplotlib=3.5.3
seaborn=0.12.2
scikit-learn=1.3.2
pandas=1.4.4
- 设置conda安装源
>conda config --show channels
>conda config --set show_channel_urls yes
>conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
>conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
>conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
>conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
>conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
>conda config --add channels https://mirrors.pku.edu.cn/anaconda/pkgs/main/
>conda config --add channels https://mirrors.pku.edu.cn/anaconda/cloud/conda-forge/
>conda config --add channels https://mirrors.pku.edu.cn/anaconda/cloud/bioconda/
配置文件为:C:\Users\yisl04\.condarc
也可以用北外的源:
- https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/
- https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/
采用mamba加速软件依赖解析 [mamba采用c++重写了部分解析过程,这个提速效果是很明显的 (安装好mamba后就可以用mamba替换conda进行安装了)
conda install mamba -c conda-forge
mamba install ***
- 安装相关python包,OpenCV的Python包为"opencv-python"(pip安装)或"opencv-python-headless"(Conda安装),建议pip安装。
>conda activate E:\python_envs\sensorflow
>pip install future
>pip install requests
>pip install selenium
>pip install tensorflow==2.6.0 opencv-contrib-python==2.6.0 imageai keras h5py matplotlib pillow opencv py-opencv scipy
Conda找不到的包可以上https://anaconda.org/查找对应的源(如ncb)。
> mamba install -c ncb opencv-python-headless==4.5.5.64
>mamba install –c roulbac opencv-contrib-python-headless==4.5.5.64
#查看安装包的版本信息
>pip show opencv-python-headless
- 启动Spyder
命令行启动或或者在Anaconda Navigator中启动(在环境中安装Spyder)
>conda activate E:\python_envs\tensorflow
>conda install spyder
>spyder