当前位置:   article > 正文

第一次跑yolov5-pytorch,第一次利用github深度学习库_github yolov5

github yolov5

(注意:全文只针对所找到的这个深度学习库)

目录

1.首先找到github开源库

2.配置环境

3.过程中——

 4.后期工作:

4.1 train.py——


1.首先找到github开源库

2.配置环境

使用anaconda创建了一个虚拟环境,利用指令安装该库需要的环境(最后面是requirements.txt文件所在位置,里面包含该环境需要的模块)

pip install -r G:\yk\yolov5-pytorch-main\requirements.txt

这里使用的是pycharm,所以还需要在pycharm中使用该环境。如下,找到创建的虚拟环境py36,在env文件下,选中python.exe,最后点击ok即可

遇到的问题

安装torch.1.20失败了,解决办法,参考链接:安装 pytorch---1.2.0【各种版本pytorch安装 合集  采用了以下语句

conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch

 关于下载速度慢的问题,可以使用镜像源进行下载。

  1. #下载pytorch
  2. python3 -m pip install --upgrade torch torchvision -i https://pypi.tuna.tsinghua.edu.cn/simple
  3. # 下载TensorFlow
  4. # 1.CPU版本
  5. pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow
  6. # 2.GPU版本
  7. pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu

穿插一个:如何查看CUDA的版本,在window终端中输入nvidia-smi。(高版本的pytorch一般能兼容低版本cuda

 可以参考

​​​​​​ PyTorch 最新安装教程(2021-07-27)

安装环境完成后,可进行检查,是否成功。“True”即成功了

  1. import torch
  2. print(torch.__version__) # pytorch版本
  3. print(torch.version.cuda) # cuda版本
  4. print(torch.cuda.is_available()) # 查看cuda是否可用

 4.后期工作,运行代码,训练->预测->评估

主要步骤:首先训练数据集==》然后预测(使用自己训练的权重)==》最后评估自己的数据集

过程中肯定需要看代码,看懂代码

根据自己想要实现的功能,构造数据集格式,

制作好数据集,完成数据集的处理,自己可以建立一个cls_classes.txt,里面写自己所需要区分的类别。并注意需要修改对应的路径。

具体可参照找到的深度学习库里面的实现步骤。

运行过程中,出现了一些报错

4.1 准备数据集(VOC)

1)批量裁剪,得到想要的大小的数据集

这里进行了批量裁剪与批量重命名——

批量裁剪函数:

  1. import cv2
  2. import os
  3. def update(input_img_path, output_img_path):
  4. image = cv2.imread(input_img_path)
  5. print(image.shape)
  6. cropped = image[0:640, 0:640] # 裁剪坐标为[y0:y1, x0:x1],获得640*640的图片
  7. cv2.imwrite(output_img_path, cropped)
  8. dataset_dir = 'E:/data/maofa/select'
  9. output_dir = ['E:/data/maofa/out_1', 'E:/data/maofa/out_2', 'E:/data/maofa/out_3', 'E:/data/maofa/out_4', 'E:/data/maofa/out_5', 'E:/data/maofa/out_6']
  10. # 获得需要转化的图片路径并生成目标路径
  11. image_filenames = [(os.path.join(dataset_dir, x), os.path.join(output_dir[3], x))
  12. for x in os.listdir(dataset_dir)]
  13. # 转化所有图片
  14. for path in image_filenames:
  15. update(path[0], path[1])

批量重命名:

  1. import os
  2. class BatchRename():
  3. def __init__(self):
  4. self.path = 'E:/data/maofa/data_use' # 表示需要命名处理的文件夹目录,复制地址后注意反斜杠
  5. def rename(self):
  6. filelist = os.listdir(self.path) # 获取文件路径
  7. total_num = len(filelist) # 获取文件长度(文件夹下图片个数)
  8. i = 1 # 表示文件的命名是从1开始的
  9. for item in filelist:
  10. if item.endswith('.jpg') or item.endswith('.PNG') or item.endswith('.bmp'): # 初始的图片的格式为jpg格式的(或者源文件是png格式及其他格式,后面的转换格式就可以调整为自己需要的格式即可,我习惯转成.jpg)
  11. src = os.path.join(os.path.abspath(self.path), item)
  12. dst = os.path.join(os.path.abspath(self.path), format(str(i), '0>3s') + '.jpg') # 处理后的格式也为jpg格式的,当然这里可以改成png格式
  13. # 这种情况下的命名格式为000xxxx.jpg形式,可以自主定义想要的格式
  14. try:
  15. os.rename(src, dst)
  16. print('converting %s to %s ...' % (src, dst))
  17. i = i + 1
  18. except:
  19. continue
  20. print('total %d to rename & converted %d jpgs' % (total_num, i))
  21. if __name__ == '__main__':
  22. demo = BatchRename()
  23. demo.rename()

2)打标签(这个过程很痛苦)——labelimg

具体实现参见:4 教你如何制作自己的yolo数据集_哔哩哔哩_bilibili

4.2 voc_annotation;train.py——

voc_annotation.py——主要进行对数据集的处理,获得VOCdevkit/VOC2007/ImageSets里面的txt以及训练用的2007_train.txt、2007_val.txt

train.py——训练数据集

遇到的问题

no module named ‘tensorboard’                    解决:pip install tensorboard

ModuleNotFoundError: No module named 'past'                 解决:pip install future

下面这个错误折腾了好久——

最后发现,“cspdarknet”多了两个空格 ,引起的报错

 训练成功

(跑了一晚上都没跑出来)

4.3 yolo.py;predict.py

这两个是训练结果预测需要运行的文件,记得修改相关参数。(特别是训练自己的数据集的时候)

另外还可以评估数据集,具体参见深度学习库里面的readme.md文件。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/291137
推荐阅读
相关标签
  

闽ICP备14008679号