caffe安装+使用places365进行迁移学习

来源:互联网 发布:办公软件excel下载 编辑:程序博客网 时间:2024/05/22 06:46

caffe安装+使用places365进行迁移学习

安装ubuntu caffe cuda7.5 cudnn4.5

  • 由于最近需要使用places365模型,是由caffe搭建了,所以又重装了次电脑,悲催。。。
  • 安装ubnutu

    • 分区
      • 固态硬盘sda
        • boot 400m ext4
        • swap 32g
        • / 固态硬盘剩余所有空间 ext4
      • 3t机械硬盘sdb,在try ubuntu中找到磁盘应用进行格式化,不要再
        安装的过程中选择格式化,不然会卡死
        • home ext4
      • 引导选择sda
    • 装完网卡不能用。。。
      • 首先用ifconfig,发现没有eht。只有那个本地回环,怀疑网卡没有装上
      • lspci | grep -i net查看网卡信息,intel网卡
      • 几经周折找到了一个可以用的网卡驱动
        • http://www.intel.cn/content/www/cn/zh/support/network-and-i-o/ethernet-products/000005480.html#build_e1e
        • 安装步骤
          • tar zxf 。。。。解压
          • 进入解压好的目录 cd。。。
          • make install
          • rmmod e1000e; modprobe e1000e
        • 然后联网ing
    • 安装cuda7.5

      • 并不需要啥关掉图形界面啥啥的,直接装
      • 安装依赖

        • apt-get install bulid-essential

          sudo apt-get --purge remove nvidia-* dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb apt-get updateapt-get install cuda安装完成重启电脑
      • 安装cudnn

        tar -zxvf cudnn-7.5-linux-x64-v5.0-ga.tgz 将解压出来的cuda中的lib目录下的文件都复制到/usercp cuda/lib64/lib* /usr/local/cuda/lib64cp cuda/include/cudnn.h /usr/local/cuda/include/
      • 配置环境变量,和下面的protobuf caffe都一起配置了

        PATH=/usr/local/cuda/bin:$PATH export PATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64export LD_ LIBRARY_PATHexport PYTHONPATH=/home/ubuntu/caffe/pythonexport PATH=$PATH:/usr/local/protobuf/bin/export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
    • 更新一下系统

      • sudo apt-get update && sudo apt-get upgrade
      • sudo apt-get install linux-source
      • sudo apt-get install linux-headers-uname -r
    • 安装caffe

       sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler gfortran libjpeg62 libfreeimage-dev libatlas-base-dev git python-dev python-pip libgoogle-glog-dev libbz2-dev libxml2-dev libxslt-dev libffi-dev libssl-dev libgflags-dev liblmdb-dev python-yaml python-numpysudo easy_install pillowsudo apt-get install pypy-devcd ~git clone https://github.com/BVLC/caffe.gitcd caffecat python/requirements.txt | xargs -L 1 sudo pip installcp Makefile.config.example Makefile.configvi Makefile.config# 去掉USE_CUDNN:=1注释# 去掉WITH_PYTHON_LAYERS注释make pycaffe -j4make all -j4make test -j4#   如果什么什么错误60,61什么的把下面的几行注释掉,这是版本不一致造成的#-gencode arch=compute_60,code=sm_60 \#-gencode arch=compute_61,code=sm_61 \#-gencode arch=compute_61,code=compute_61export PYTHONPATH=/home/username/caffe/python  
    • 安装protobuf
      • 解压protobuf包
      • 进入目录
      • ./configure
      • make
      • make check
      • sudo make install
      • cd ./python//进入protobuf目录中的python目录中
      • python setup.py build
      • python setup.py test
      • python setup.py install
      • 将protobuf配到环境文件中

finetune places365模型

  • 模型下载地址https://github.com/metalbubble/places365上面可以下到每种模型训练得到的caffemodel文件,以及模型文件train_val_alexnet.prototxt和solver_alexnet.prototxt文件

  • 训练时首先准备数据集,训练和测试的lmdb文件以及相应的lable文件,并得到均值文件,注意lable文件索引要从0开始

  • 因为是在别人训练好的模型上继续训练,所以要更改solver文件

            net: "train_val_alexnet.prototxt"#模型文件路径        test_iter: 20        test_interval: 50        base_lr: 0.001        lr_policy: "step"        gamma: 0.1        stepsize: 2000        display: 20        max_iter: 10000        momentum: 0.9        weight_decay: 0.0005        snapshot: 1000        snapshot_prefix: "models/bvlc_alexnet/caffe_alexnet_train"#快照保存路径        solver_mode: GPU
    • 修改train_val_alexnet.prototxt文件中的路径,以及最后一层的名称,不然这一层也会引用caffemodel中的参数。还要修改类别个数

      layer {  name: "fc8_flicker"#改成任意字符  type: "InnerProduct"  bottom: "fc7"  top: "fc8_flicker"  param {    lr_mult: 1    decay_mult: 1  }  param {    lr_mult: 2    decay_mult: 0  }  inner_product_param {    num_output: 18#需要分多少类    weight_filler {      type: "gaussian"      std: 0.01    }    bias_filler {      type: "constant"      value: 0    }  }}layer {  name: "accuracy"  type: "Accuracy"  bottom: "fc8_flicker"  bottom: "label"  top: "accuracy"  include {    phase: TEST  }}layer {  name: "loss"  type: "SoftmaxWithLoss"  bottom: "fc8_flicker"  bottom: "label"  top: "loss"}}
    • 开始训练

      ../caffe/build/tools/caffe train -solver solver.prototxt -weights alexnet_places365.caffemodel -gpu 0  
阅读全文
0 0
原创粉丝点击