MATLAB深度学習ツールMatConvNetインストール

3882 ワード

紹介する
MatConvNetは,コンピュータ視覚応用のための畳み込みニューラルネットワーク(CNN)を実現するMATLABツールボックスである.このツールボックスを使えばMATLABでGPUを使ってトレーニングが簡単にできます.
要求
十分な新しいMATLABバージョン(R 2015 b以降)、およびC++11をサポートするコンパイラ(Visual Studio 2015、GCC 4.8、Xcode 7.3.1以降).GPU計算では、少なくともCUDA 7.5およびCuDNN v 4(オプション)または更新バージョンが必要である.
今回は以下の実験環境で実装した.
環境:
MATLAB2018a Visual Studio 2015 matconvnet-1.0-beta25
インストール
1.ツールボックスのダウンロード
まずMatConvNetをダウンロードし、希望するフォルダに解凍します.このフォルダはと言います.
2.ライブラリのコンパイル
1)CPUバージョンコンパイル
  • MATLABを開き、コマンドラインに
  • を入力する
    mex -setup 
    mex -setup C++

    >>mex-setup C++MEXは、「Microsoft Visual C++2015」を使用してC++言語コンパイルを行うように構成されています.警告:MATLAB CとFortran APIが変更され、2^32-1以上の要素を含むMATLAB変数をサポートできます.新しいAPIを利用するには、コードを更新する必要があります.詳細については、次のWebサイトを参照してください.https://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.
  • MATLABを開き、cdを解凍したmatconvnetディレクトリに入力し、次の3行
  • を入力します.
    cd F:\hiudawn\matlab\matconvnet-1.0-beta25
    addpath matlab
    vl_compilenn

    >>> vl_compilenn警告:CL.EXE not found in PATH.Trying to guess out of mex setup.>In vl_compilenn>check_clpath (line 650) In vl_compilenn(line 426)x 64用Microsoft(R)C/C++最適化コンパイラ19.00.23026版著作権所有(C)Microsoft Corporation.すべての権利を保持する.
    使用法:cl[オプション...]ファイル名...[/linkリンクオプション...]Location of cl.exe(C:Program Files(x 86)Microsoft Visual Studio 14.0VC..VCbinamd 64)successfully added to your PATH.'Microsoft Visual C++2015'を使用してコンパイルします.MEXは正常に完了しました....いくつかの行の同じ内容…「Microsoft Visual C++2015(C)」を使用してコンパイルします.MEXは正常に完了しました.
    このCPUバージョンのコンパイルが完了しましたので、MATLABコマンドラインに次のコマンドを入力してテストできます.
    vl_testnn

    3)GPUバージョンコンパイル
  • まずあなたのGPU演算能力は2.0以上で、それからCUDAバージョンは次の表
  • を満たす必要があります.
    MATLAB
    CUDA toolkit
    R2017a
    8.0
    R2016b
    7.5
    R2016a
    7.5
    R2015b
    7.0
    どのバージョンCUDAを使うべきか分からない場合は、次のコマンドを入力して、誰かが教えてくれます.
    gpuDevice
  • 次に、唯一のCUDAのみであり、MATLABバージョンに一致すると、次のコマンド
  • を直接実行します.
    vl_compilenn('enableGpu', true)
  • CUDAがたくさんある場合は、次のコマンドで
  • を選択できます.
    vl_compilenn('enableGpu', true, 'cudaRoot', 'yourpath/NVIDIA/CUDA-n.0')
  • インストール完了
  • vl_testnn('gpu', true)

    できれば成功する
    3)cuDNN support
    上は実はもうしばらく使えますが、ここではGPUがなくてインストールを続けることができません.
    3.あなたのMATLABを開く
    入力:
    run <MatConvNet>/matlab/vl_setupnn

    テストCPU:
    vl_testnn

    テストGPU:
    vl_testnn('gpu', true)

    まとめ
    インストールに失敗した場合は、公式サイトをご参照ください
    更新(Ubuntuインストール)
    本論文ではUbuntu環境でも設定しGPUを配置したが,Ubuntuを用いるとコンパイラは次のように変換する.
    mex -setup c
    mex -setup c++

    他の内容は大同小異で、私はここで奇妙な間違いを犯しましたError using mex
    /usr/bin/ld: cannot find -ljpeg
    collect2: error: ld returned 1 exit status
    Error in vl_compilenn>mex_link (line 528)
    mex(mopts{:}) ;
    Error in vl_compilenn (line 479)
    mex_link(opts, objs, mex_dir, flags.mexlink) ;