yolov5 训练
参考:
教程:超详细从零开始yolov5模型训练
https://blog.csdn.net/qq_45701791/article/details/113992622
目标检测---教你利用yolov5训练自己的目标检测模型
https://blog.csdn.net/didiaopao/article/details/119954291
教程:超详细从零开始yolov5模型训练
https://blog.csdn.net/qq_45701791/article/details/113992622
目标检测---教你利用yolov5训练自己的目标检测模型
https://blog.csdn.net/didiaopao/article/details/119954291
github 上面有一个 onnx 模型的仓库,里面有关于修改图像风格的,直接按照里面的说明即可。 有多种风格,碎玻璃,棒棒糖等等。
参考: https://github.com/onnx/models/tree/master/vision/style_transfer/fast_neural_style
https://github.com/pytorch/examples/blob/master/fast_neural_style/neural_style/utils.py
https://github.com/onnx/models/tree/master/vision
https://github.com/onnx/models/tree/master/vision/classification/mobilenet
https://github.com/onnx/models/blob/master/vision/classification/imagenet_preprocess.py
https://github.com/onnx/models/blob/master/vision/classification/imagenet_inference.ipynb
https://github.com/onnx/models/tree/master/vision/classification/squeezenet
data.yaml
,把里面的 train 和 val 这两个目录修改为从 yolov5 的 train.py 出发的路径。models/yolov5s.yaml
复制到训练集下面,修改里面的 nc 数值为 2,和训练集的 class number 匹配。python train.py --img 640 --batch 16 --epochs 300 --data ../dataset/Mask_Wearing.v1-416x416-black-padding.yolov5pytorch_2/data.yaml --cfg ../dataset/Mask_Wearing.v1-416x416-black-padding.yolov5pytorch_2/yolov5s.yaml --weights '' --workers 1
开始训练。 提示有包没有,安装 pip install tensorboard
OSError: [WinError 1455]
,然后修改 batch 数值,改为 4,就可以了。python train.py --img 640 --batch 4 --epochs 300 --data ../dataset/Mask_Wearing.v1-416x416-black-padding.yolov5pytorch_2/data.yaml --cfg ../dataset/Mask_Wearing.v1-416x416-black-padding.yolov5pytorch_2/yolov5s.yaml --weights '' --workers 1
.
参考: https://github.com/ultralytics/yolov5/issues/3182runs\detect\exp \weights\best.pt
可以直接拿来用。python detect.py --weight runs\train\exp3\weights\best.pt --source ..\dataset\Mask_Wearing.v1-416x416-black-padding.yolov5pytorch_2\test\images\126202-untitled-design-13_jpg.rf.56b50d413464989bb2232448a8fbb915.jpg
输出在 runs\detect
下面。https://www.bilibili.com/video/BV1Pf4y1R7wD/?spm_id_from=autoNext
https://xugaoxiang.com/2020/07/02/yolov5-training
https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data
pip install coremltools>=4.1 onnx>=1.9.0 scikit-learn==0.19.2
安装报错,没有 msvc, 和相应的库。C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30037
加入环境变量 MSVC
,然后把 %MSVC%\bin\Hostx64\x64
加入环境变量 PATH
里面即可。
参考: https://blog.csdn.net/qq_38204686/article/details/108493511libgcc, libquadmath, musl, libgfortran, lapack-dev
库
参考: https://github.com/scipy/scipy/issues/9481 https://github.com/ultralytics/yolov5/issues/251
https://zhuanlan.zhihu.com/p/358176744
data/scripts
下面找到,一个脚本对应一个数据集。cuda 是 nvidia 提供的运算平台。
C:\Program Files\NVIDIA Corporation\NVSMI
,然后输入 nvidia-smi
就可以查看自己显卡的 cuda 版本了,版本信息在右上角。CUDA_PATH
等。https://www.jianshu.com/p/622f47f94784
https://developer.nvidia.com/cuda-11.1.1-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal
https://developer.nvidia.com/cuda-11.2.2-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal
cuDNN 是 nvidia 提供的深度学习 gpu 加速库。
bin
include
lib
这三个文件夹里面的文件复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1
的对应文件夹里面。nvcc -V
有相应输出即可。https://www.bilibili.com/video/BV1L5411Y7pM
https://developer.nvidia.com/rdp/cudnn-download
https://xugaoxiang.com/2019/12/18/windows-10-cuda-cudnn/
安装 miniconda,然后打开并配置环境
conda env list
查看已有虚拟环境,conda env remove -n env_name
删除指定虚拟环境。conda create -n pytorch_v190
创建一个新环境,如果需要指定 python 版本,那么需要追加 python=3.7
这样的版本语句即可。activate pytorch_v190
启用新环境,python --version
检查当前 python 版本号。conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch -c conda-forge
安装 pytorchpython
import torch
print(torch.cuda.is_available())
x = torch.ones(2, 2)
y = x + 2
print(y)
exit()
参考:
https://www.bilibili.com/video/BV1oz411v7cv?from=search&seid=9560127527480640558
https://pytorch.org/get-started/locally/
https://blog.csdn.net/qq_18668137/article/details/80807829
vscode 需要安装 python 插件
参考: https://www.bilibili.com/video/BV18K411w7Vs?from=search&seid=9560127527480640558
https://www.jianshu.com/p/f10fb1a4cc87
https://www.jianshu.com/p/ef1ae10ba950
https://github.com/ultralytics/yolov5
下载 yolov5 源码https://github.com/ultralytics/yolov5/releases
下载权重文件并放到源码目录下面的 weights 文件夹parser.add_argument('--weights', nargs='+', type=str, default='weights/yolov5s.pt', help='model.pt path(s)')
修改成这样,detect.py 默认就可以在 weights 文件夹下面找权重文件了,也可以使用的时候使用 weights 这个参数。python detect.py
,会读取 data/images
下面的图片,处理完之后,输出到 runs/detect
下面。 也可以附带参数,具体参数使用 python detect.py -h
查看,也可以直接看代码,获得去 github 上面查看。如果碰到缺包,可以安装 pip install opencv-python pandas requests pyyaml tqdm matplotlib seaborn
https://www.bilibili.com/video/BV1QT4y1J7rm
https://github.com/ultralytics/yolov5
https://xugaoxiang.com/2020/06/17/yolov5
https://blog.csdn.net/weixin_39450145/article/details/104801730
https://blog.csdn.net/weixin_43707402/article/details/107688603
image mean 在深度学习中指的就是平均值。 对多个图像进行训练后,在同一个位置,同一个通道上的平均值。
图像数据减去均值之后,能够让图像数据在 0 两边比较均匀。
正常情况下, mean 是在 rgb 三个通道上分别求平均值,比如说 [0.5, 0.5, 0.5] 就是三个通道上的分别平均值,还有一个标准差 std,也是三个通道分别求值,比如说 [0.5, 0.5, 0.5]。
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
这个执行的计算是: image =(图像 - 平均值)/ std
参考:
https://blog.csdn.net/weixin_37251044/article/details/81157344
https://www.cnblogs.com/volcao/p/9089716.html
https://www.zhihu.com/question/330534169
https://www.cnblogs.com/booturbo/p/12688105.html
https://blog.csdn.net/KaelCui/article/details/106175313
https://discuss.pytorch.org/t/understanding-transform-normalize/21730
目标检测算法使用已知的对象类别集合来识别和定位图像中的对象的所有实例。该算法接受图像作为输入并输出对象所属的类别,以及它属于该类别的置信度分数,该算法还使用矩形边界框预测对象的位置和比例。
目标检测的目的是“识别对象并给出其在图中的确切位置”,可以分为三部分:
Tengine是OPEN AI LAB(开放智能)推出的边缘AI推理框架,致力于应用场景下多厂家多种类的边缘智能芯片与多样的训练框架、算法模型之间的相互兼容适配,同时提升算法在芯片上的运行性能,将从云端完成训练后的算法高效迁移到异构的边缘智能芯片上执行,缩短AI应用开发与部署周期,助力加速AI产业化落地。
Tengine重点关注嵌入式设备上的边缘AI计算推理,为大量应用和设备提供高性能AI推理的技术支持。一方面可以通过异构计算技术同时调用CPU、GPU、DSP、NPU等不同计算单元来完成AI网络计算,另一方面,它支持TensorFlow、Caffe、MXNet、PyTorch、MegEngine、DarkNet、ONNX、ncnn等业内主流框架,是国际上为数不多的通过ONNX官方认证的战略合作伙伴之一。
Miniconda3
和 Miniconda3\Scripts
添加到 path 里面。pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
添加阿里的源,清华的源安装好像有点问题。conda env create -f environment.yml
安装相应的环境软件conda activate gluon
开启 gluon 环境,conda deactivate
退出环境。jupyter notebook
启动 jupyter,浏览器也会自动打开。如果不能打开,就在浏览器中输入 http://localhost:8888
pip uninstall mxnet
, 然后安装 cuda conda install cudatoolkit=10.0
, 修改 environment.yml
把 mxnet
修改为 mxnet-cu100
,然后执行 conda env update -f environment.yml
或者直接 pip install mxnet-cu100==1.5.0
这样就安装好了。误差公式其中常数1/2使对平方项求导后的常数系数为1,这样在形式上稍微简单一些。
https://stackoverflow.com/questions/44597662/conda-command-is-not-recognized-on-windows-10
https://discuss.gluon.ai/t/topic/12816/4
https://zhuanlan.zhihu.com/p/109939711
https://discuss.gluon.ai/t/topic/13576
人脸是一种非常重要的生物特征,具有结构复杂、细节变化多等特点,同时也蕴含了大量的信息,比如性别、种族、年龄、表情等。主流的人脸属性识别算法主要包括:性别识别、种族识别、年龄估计、表情识别等。 目前主流的人脸属性识别算法主要包括:性别识别、种族识别、年龄估计、表情识别等。