yolov3-pytorch复现

文章目录

    • 1.先前准备
    • 2.复现yolov3

1.先前准备

  • 安装cuda、cudnn,参考这个
    深度学习装机详细教程-ubuntu16.04下安装cuda9.0+nvidia-384+cudnn7.1.4+tensorflow1.9
    检测cudnn是否安装成功
  • 安装Anaconda
    Anaconda下载地址
    安装Anaconda

2.复现yolov3

\quad\quad 使用的是pytorch版本的yolov3,代码仓库在这里:yolov3-pytorch ,先git clone到本地

  1. 首先利用Anaconda新建一个虚拟环境,并激活

    conda create --name yolov3-pytorch-100 python=3.6
    conda activate yolov3-pytorch-100
    

    \quad 对了这里Ananconda最好换一下源,直接使用自带的新建环境都很慢,换成了清华的感觉也不是很快,后来换成了中科大的速度就很快,具体做法就是,在home目录下,Ctrl+h,会看到隐藏文件.condarc,打开把里面的东西都删了,然后复制下面的中科大源进去,直接保存关闭就好。

    channels:
       - https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
       - https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
       - https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
       - https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
       - https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
       - defaults
    show_channel_urls: true
    
  2. 安装模块
    readme里面是这样说的:

    sudo pip3 install -r requirements.txt
    

    看一下requirements.txt这个txt文件

    numpy
    torch>=1.0
    torchvision
    matplotlib
    tensorflow
    tensorboard
    terminaltables
    pillow
    tqdm
    

    其实就是安装这些模块,我是使用命令行直接在终端里面安装的,然后使用清华的源,超级快

    #安装torch
    conda install pytorch==1.0.0 torchvision==0.2.1 cuda90 -c pytorch
    
    #更新pip
    python -m pip install -U pip -i https://pypi.tuna.tsinghua.edu.cn/simple
    
    #安装依赖包
    pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple 
    pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple 
    pip install terminaltables -i https://pypi.tuna.tsinghua.edu.cn/simple 
    pip install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple
    pip install tqdm -i https://pypi.tuna.tsinghua.edu.cn/simple
    
  3. 下载权重

    $ cd weights/
    $ bash download_weights.sh
    

    打开这个文件看了一下,有三组权重

    #!/bin/bash
    # Download weights for vanilla YOLOv3
    wget -c https://pjreddie.com/media/files/yolov3.weights
    # # Download weights for tiny YOLOv3
    wget -c https://pjreddie.com/media/files/yolov3-tiny.weights
    # Download weights for backbone network
    wget -c https://pjreddie.com/media/files/darknet53.conv.74
    

    其实可以手动下载,只下载第一个就好,emmm需要科学下载,之后会上传这些文件

  4. 下载数据

    $ cd data/
    $ bash get_coco_dataset.sh
    

    打开这个文件看了一下

    #!/bin/bash
    
    # CREDIT: https://github.com/pjreddie/darknet/tree/master/scripts/get_coco_dataset.sh
    
    # Clone COCO API
    git clone https://github.com/pdollar/coco
    cd coco
    
    mkdir images
    cd images
    
    # Download Images
    wget -c https://pjreddie.com/media/files/train2014.zip
    wget -c https://pjreddie.com/media/files/val2014.zip
    
    # Unzip
    unzip -q train2014.zip
    unzip -q val2014.zip
    
    cd ..
    
    # Download COCO Metadata
    wget -c https://pjreddie.com/media/files/instances_train-val2014.zip
    wget -c https://pjreddie.com/media/files/coco/5k.part
    wget -c https://pjreddie.com/media/files/coco/trainvalno5k.part
    wget -c https://pjreddie.com/media/files/coco/labels.tgz
    tar xzf labels.tgz
    unzip -q instances_train-val2014.zip
    
    # Set Up Image Lists
    paste <(awk "{print \"$PWD\"}" <5k.part) 5k.part | tr -d '\t' > 5k.txt
    paste <(awk "{print \"$PWD\"}" <trainvalno5k.part) trainvalno5k.part | tr -d '\t' > trainvalno5k.txt
    
    

    其实也是主要下载这几个就行,也是科学下载

    # Download Images
    https://pjreddie.com/media/files/train2014.zip
    https://pjreddie.com/media/files/val2014.zip
    # Download COCO Metadata
    https://pjreddie.com/media/files/instances_train-val2014.zip
    https://pjreddie.com/media/files/coco/5k.part
    https://pjreddie.com/media/files/coco/trainvalno5k.part
    https://pjreddie.com/media/files/coco/labels.tgz
    
  5. 跑一下demo

     python3 detect.py --image_folder data/samples/
    

    结果:yolov3-pytorch复现_第1张图片/PyTorch-YOLOv3-master/output 这个文件夹下有输出的结果:

    yolov3-pytorch复现_第2张图片

  6. 待填坑
    \quad 这是简单跑了个demo,至于具体训练,目前电脑不太行,以后可以了再补上,还有代码分析也后再填坑。

你可能感兴趣的:(目标检测)