前言
文章性质:实操记录 💻
主要内容:主要记录了如何配置项目环境以及进行 Quick Test 。
项目源码:GitHub - wenyyu/Image-Adaptive-YOLO
冷知识+1:小伙伴们不经意的 点赞 👍🏻 与 收藏 ✨ 可以让作者更有创作动力!
目录
① TypeError: Descriptors cannot not be created directly
② ModuleNotFoundError: No module named 'easydict'
Prepare
在作者提供的 README.md 文件中,已经有比较详细的步骤说明了。
1、PyCharm 连接远程服务器
具体的连接过程可以参考这篇博客:
【深度学习】手把手教你在远程服务器上跑 YOLOv3 相关代码(含环境配置)_在服务器上跑代码需要把数据集放上去吗-CSDN博客文章浏览阅读909次,点赞14次,收藏13次。这篇文章主要记录了如何配置项目环境以及如何在远程服务器上跑 YOLOv3 模型。_在服务器上跑代码需要把数据集放上去吗https://blog.csdn.net/nanzhou520/article/details/136062559【注意】图中的 Sync folders 就是项目代码在远程服务器上的存放路径。
2、PyCharm 创建虚拟环境
(1)更新 bashrc 的环境变量
首先,进入远程服务器终端命令窗口后,我们应该更新 bashrc 中的环境变量:
conda init bash && source /root/.bashrc
(2)创建项目的虚拟环境
接着,我们会默认进入 base 环境,我们可以为项目创建新的虚拟环境:
conda create -n detection python=3.7
(3)更新 bashrc 的环境变量
然后,我们需要再次更新 bashrc 中的环境变量:
conda init bash && source /root/.bashrc
(4)激活项目的虚拟环境
最后,我们可以激活刚刚新建的虚拟环境:
conda activate detection
(5)新建虚拟环境的解释器
成功创建虚拟环境后,我们需要新建对应的 Python 解释器,注意 第 1 步 的 SSH connection 应选择 Existing 。
【注意】图中的 Environment 选择 Existing ,Interpreter 选择对应的虚拟环境,Sync folders 就是项目代码在远程服务器上的存放路径。
3、requirements.txt 安装依赖
【Step1】复制项目在远程服务器上的绝对地址,比如我的是:/root/autodl-tmp/pycharm-project 。
【Step2】打开远程服务器的 Terminal 命令窗口,先用 cd 命令进入指定目录:
cd /root/autodl-tmp/pycharm-project
【Step3】再用 pip install 命令根据 requirements.txt 安装依赖:
pip install -r ./docs/requirements.txt
4、下载 Datasets and Models
(1)PASCAL VOC
根据作者提供的 README.md 文件下载 PASCAL VOC 的压缩包,并按照作者提供的文件结构解压:
$ wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
$ wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
$ wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
VOC
├── test
| └──VOCdevkit
| └──VOC2007 (from VOCtest_06-Nov-2007.tar)
└── train
└──VOCdevkit
└──VOC2007 (from VOCtrainval_06-Nov-2007.tar)
└──VOC2012 (from VOCtrainval_11-May-2012.tar)
① 下载压缩包
关于文件上传的步骤,我们最好在 Tabby 中进行,关于 Tabby 如何连接远程服务器,可参考这篇博客:
【深度学习】手把手教你在远程服务器上跑 YOLOv3 相关代码(含环境配置)_在服务器上跑代码需要把数据集放上去吗-CSDN博客文章浏览阅读913次,点赞14次,收藏13次。这篇文章主要记录了如何配置项目环境以及如何在远程服务器上跑 YOLOv3 模型。_在服务器上跑代码需要把数据集放上去吗https://blog.csdn.net/nanzhou520/article/details/136062559?spm=1001.2014.3001.5501#2%E3%80%81%E5%88%9B%E5%BB%BA%C2%A0Python%20%E8%99%9A%E6%8B%9F%E7%8E%AF%E5%A2%83
【彩蛋】用 wget 下载数据集压缩包太慢了,建议直接复制链接后在本地用迅雷下载:
在本地用迅雷下载完成后,再将其上传至远程服务器中:
② 解压压缩包
我将 VOC 文件夹放在 data 文件目录下,这里注意 VOC 文件夹的内部结构最好按照作者的设置来。
【Step1】用 tar -xvf 命令将 VOCtest_06-Nov-2007.tar 解压至指定目录:
tar -xvf VOCtest_06-Nov-2007.tar -C /root/autodl-tmp/pycharm_project/data/VOC/test
【Step2】用 tar -xvf 命令将 VOCtrainval_06-Nov-2007.tar 解压至指定目录:
tar -xvf VOCtrainval_06-Nov-2007.tar -C /root/autodl-tmp/pycharm_project/data/VOC/train
【Step3】用 tar -xvf 命令将 VOCtrainval_11-May-2012.tar 解压至指定目录:
tar -xvf VOCtrainval_11-May-2012.tar -C /root/autodl-tmp/pycharm_project/data/VOC/train
③ 目录结构展示
前面解压压缩包的时候,我忘记指定文件夹名称啦!这里需要大家手动修改噢~
(2)Voc foggy & Models
根据 README.txt 文件中作者提供的网盘地址,在本地下载相关文件,并在 Tabby 中将其上传至远程服务器。
① 解压(去雾相关)
【Step1】先用 cd 命令进入 test_sub.zip 压缩包所在的文件路径:
cd /root/autodl-tmp/pycharm_project/experiments/dataset_vocfog
再用 unzip 命令将 test_sub.zip 命令解压至当前路径:
unzip test_sub.zip
【Step2】先用 cd 命令进入 checkpoint.zip 压缩包所在的文件路径:
cd /root/autodl-tmp/pycharm_project/experiments/exp_101
再用 unzip 命令将 checkpoint.zip 命令解压至当前路径:
unzip checkpoint.zip
② 解压(弱光相关)
【Step1】先用 cd 命令进入 voc_lowlight_test.zip 压缩包所在的文件路径:
cd /root/autodl-tmp/pycharm_project/experiments_lowlight
再用 unzip 命令将 voc_lowlight_test.zip 命令解压至当前路径:
unzip voc_lowlight_test.zip
【Step2】先用 cd 命令进入 checkpoint.zip 压缩包所在的文件路径:
cd /root/autodl-tmp/pycharm_project/experiments_lowlight/exp_58
再用 unzip 命令将 checkpoint.zip 命令解压至当前路径:
unzip checkpoint.zip
5、运行 evaluate.py (Quick Test)
(1)过程报错处理
① TypeError: Descriptors cannot not be created directly
【错误】TypeError: Descriptors cannot not be created directly
【解决】根据错误提示,用 pip install 命令安装 3.20 版本的 protobuf:
pip install protobuf==3.20
② ModuleNotFoundError: No module named 'easydict'
【错误】ModuleNotFoundError: No module named 'easydict'
【解决】根据错误提示,用 pip install 命令安装:
pip install easydict