Halcom 发表于 2017-3-4 20:12:06

MatConvNet: CNNs for MATLAB

MatConvNet: CNNs for MATLAB(最齐全的深度学习工具包,不过对电脑配置要求很高了)
http://www.vlfeat.org/matconvnet/
Quick start
http://www.vlfeat.org/matconvnet/quick/
MATLAB官方帮助:CNN卷积神经网络
https://cn.mathworks.com/search/ ... D=entire_site&q=cnn
deep learning 学习平台
https://cn.mathworks.com/search/ ... ite&q=deep+learning

最齐全的分类数据库:http://www.vision.caltech.edu/Image_Datasets/Caltech101/


应用于迁移学习平台的训练样本以及对应的训练样本
http://www.vlfeat.org/matconvnet/models/beta16/数据包如下:
Parent Directory                           -   
      imagenet-caffe-alex.mat 21-Nov-2015 11:29234M
      imagenet-caffe-ref.mat21-Nov-2015 11:29234M
      imagenet-googlenet-d..> 21-Nov-2015 11:29   52M
      imagenet-vgg-f.mat      21-Nov-2015 11:29233M
      imagenet-vgg-m-1024.mat 21-Nov-2015 11:29334M
      imagenet-vgg-m-128.mat21-Nov-2015 11:29317M
      imagenet-vgg-m-2048.mat 21-Nov-2015 11:29354M
      imagenet-vgg-m.mat      21-Nov-2015 11:29394M
      imagenet-vgg-s.mat      21-Nov-2015 11:29394M
      imagenet-vgg-verydee..> 21-Nov-2015 11:29529M
      imagenet-vgg-verydee..> 21-Nov-2015 11:30549M
      pascal-fcn16s-dag.mat   21-Nov-2015 11:30514M
      pascal-fcn32s-dag.mat   21-Nov-2015 11:30519M
      pascal-fcn8s-dag.mat    21-Nov-2015 11:30513M
      pascal-fcn8s-tvg-dag..> 21-Nov-2015 11:30513M
      vgg-face.mat            21-Nov-2015 11:301.0G
fast-rcnn-caffenet-pascal07-dagnn.mat:http://pan.baidu.com/s/1i4S4jxN
vgg-face.mat:http://pan.baidu.com/s/1nvK4KEP
imagenet-caffe-alex.mat:http://pan.baidu.com/s/1dFGHqNJ
fast-rcnn-vgg16-pascal07-dagnn.mat:http://pan.baidu.com/s/1i5qkNoL
imagenet-caffe-ref.mat:http://pan.baidu.com/s/1c2iT0be




GTX_AI 发表于 2019-4-24 22:11:44

MatConvNet: CNNs for MATLAB 【matconvnet-1.0-beta25】
安装环境:MATLAB2016b、win64、VS2017、cuda10.1
CUDA Toolkit:https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal
nvidia驱动程序:https://www.nvidia.cn/Download/index.aspx?lang=cn
cudnn驱动下载:https://developer.nvidia.com/cudnn

CUDADevice (具有属性):

                      Name: 'GeForce GTX 1070 Ti'
                     Index: 1
         ComputeCapability: '6.1'
            SupportsDouble: 1
             DriverVersion: 10.1000
            ToolkitVersion: 7.5000
      MaxThreadsPerBlock: 1024
          MaxShmemPerBlock: 49152
      MaxThreadBlockSize:
               MaxGridSize:
               SIMDWidth: 32
               TotalMemory: 8.5899e+09
         AvailableMemory: 7.0018e+09
       MultiprocessorCount: 19
            ClockRateKHz: 1683000
               ComputeMode: 'Default'
      GPUOverlapsTransfers: 1
    KernelExecutionTimeout: 1
          CanMapHostMemory: 1
         DeviceSupported: 1
            DeviceSelected: 1

第一步:>> vl_setupnn
>> vl_compilenn错误使用 vl_compilenn>check_compability (line 535)
Unsupported VS C++ compiler, ver >=14.0 required (VS 2015).

出错 vl_compilenn (line 197)
check_compability(arch);

第二步:第一步错误,那么就try一下 mex -setup
>> mex -setup
错误使用 mex
未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64 编译器。有关更多选项,请
访问 http://www.mathworks.com/support/compilers/R2016b/win64.html。

解决方法:
下载http://tdm-gcc.tdragon.net/download
» tdm64-gcc-5.1.0-2.exe
45.8 MB · GCC 5.1.0
Bundle installer for the TDM64 MinGW-w64 edition. Includes C, C++, and OpenMP support, SEH/SJLJ exception handling, other GNU toolchain programs (binutils), Windows API libraries (mingw-w64), GNU make (mingw32-make), and the 64-bit GNU debugger (GDB).右键计算机选择属性——高级系统设置——高级——环境变量,选系统变量下的“新建”,变量名写“MW_MINGW64_LOC”,变量值写之前安装TDM-GCC时的安装目录,我的放在C盘了,所以就是“C:\TDM-GCC-64”,点击确定。

我下载好的编译器:链接:https://pan.baidu.com/s/1NAHv9StJhSrh4Ms9LC2QZw提取码:pvf6

安装好后,添加上面的环境变量;重启matlab 2016b。

>> mex -setup
MEX 配置为使用 'MinGW64 Compiler (C)' 以进行 C 语言编译。
警告: MATLAB C 和 Fortran API 已更改,现可支持
      包含 2^32-1 个以上元素的 MATLAB 变量。不久以后,
         您需要更新代码以利用
         新的 API。您可以在以下网址找到相关详细信息:
         http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html。

要选择不同的语言,请从以下选项中选择一种命令:
mex -setup C++
mex -setup FORTRAN
MEX 配置为使用 'MinGW64 Compiler (C++)' 以进行 C++ 语言编译。
警告: MATLAB C 和 Fortran API 已更改,现可支持
      包含 2^32-1 个以上元素的 MATLAB 变量。不久以后,
         您需要更新代码以利用
         新的 API。您可以在以下网址找到相关详细信息:
         http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html。
>> (2)第二种策略,不用安装MinGW-w64 C/C++ 编译器,
当然也可以采用VS2017直接来进行mex,具体需要准备两个文件:msvc2017.xml、msvcpp2017.xmlmsvc2017.xml、msvcpp2017.xml可以百度网盘下载:链接:https://pan.baidu.com/s/1UnbwIbpLhBaduPXpFCe6bg提取码:8v6b
msvc2017.xml、msvcpp2017.xml放到matlab 2016b安装目录下:D:\Program Files\MATLAB\R2016b\bin\win64\mexopts
采用如下代码:clc,clear,close all
root = vl_rootnn() ;
addpath(fullfile(root, 'matlab')) ;
addpath(fullfile(root, 'matlab', 'mex')) ;
addpath(fullfile(root, 'matlab', 'simplenn')) ;
addpath(fullfile(root, 'matlab', 'xtest')) ;
addpath(fullfile(root, 'examples')) ;

if ~exist('gather')
warning('The MATLAB Parallel Toolbox does not seem to be installed. Activating compatibility functions.') ;
addpath(fullfile(root, 'matlab', 'compatibility', 'parallel')) ;
end

if numel(dir(fullfile(root, 'matlab', 'mex', 'vl_nnconv.mex*'))) == 0
warning('MatConvNet is not compiled. Consider running `vl_compilenn`.');
end
%%
try
%   make ENABLE_GPU=y ARCH=win64 MATLABROOT=D:\Program Files\MATLAB\R2016b CUDAROOT=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
%   vl_compilenn('enableGpu', true, 'cudaRoot', 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1')
%   vl_compilenn('enableGpu', true, ...
%                'cudaRoot', 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1', ...
%                'cudaMethod', 'nvcc')
    vl_compilenn('enableGpu', true, ...
               'Debug', true, ...
               'cudaRoot', 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1', ...
               'cudaMethod', 'nvcc')
catch
   
end

%%
rmpath(fullfile(root, 'matlab')) ;
rmpath(fullfile(root, 'matlab', 'mex')) ;
rmpath(fullfile(root, 'matlab', 'simplenn')) ;
rmpath(fullfile(root, 'matlab', 'xtest')) ;
rmpath(fullfile(root, 'examples')) ;编译通过。
再次运行:>> vl_setupnn
>> vl_compilennOK!


























GTX_AI 发表于 2019-4-24 22:14:43

关于编译出错:
'cl.exe' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
错误使用 vl_compilenn>check_clpath (line 656)
Unable to find cl.execl.exe找不到,我的VS安装到C盘,在C盘,直接搜索cl.exe:
可参考:https://stackoverflow.com/questi ... or-cl-exe-not-found(链接说道:cl.exe is a C++ compiler.)
找到VS2017的安装路径:D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\SDK\ScopeCppSDK\VC\bin找到cl.exe,复制到路径:D:\2-LearningCode\990-AI-MATLAB\matconvnet-1.0-beta25\matconvnet-1.0-beta25\matlab
VS2017的cl.exe还挺多:D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64也有cl.exe;自己可以try一下。
>> vl_compilenn
使用 'MinGW64 Compiler (C++)' 编译。
MEX 已成功完成。
使用 'MinGW64 Compiler (C++)' 编译。
MEX 已成功完成。
使用 'MinGW64 Compiler (C++)' 编译。
MEX 已成功完成。
使用 'MinGW64 Compiler (C++)' 编译。
MEX 已成功完成。
使用 'MinGW64 Compiler (C++)' 编译。


GTX_AI 发表于 2019-4-24 23:05:54

深度学习预训练模型下载:链接:https://pan.baidu.com/s/10OKLWJRXO781kGUTFC9VTA   提取码:jlda
MatConvNet工具包下载:链接:https://pan.baidu.com/s/1vucCJIOMY-n-euaHmDVu1g提取码:3htb

GTX_AI 发表于 2019-4-25 00:47:11

按照链接逐步操作:http://www.vlfeat.org/matconvnet/install/
>> vl_setupnn
警告: MatConvNet is not compiled. Consider running `vl_compilenn`.
> In vl_setupnn (line 24)
>> vl_compilenn('enableGpu', true, 'cudaRoot', 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1')
警告: Setting the 'MW_NVCC_PATH' environment variable to 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\nvcc'
> In vl_compilenn>activate_nvcc (line 752)
In vl_compilenn (line 296)
警告: NVCC not found in the command line path or the one found does not matches 'C:\Program Files\NVIDIA GPU Computing
Toolkit\CUDA\v10.1\bin\nvcc'.
> In vl_compilenn>activate_nvcc (line 761)
In vl_compilenn (line 296)
Location of NVCC (C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin) added to your command search PATH.在这一步中,需要注意的是安装nvidia的驱动、cuda开发人员用的Toolkit

页: [1]
查看完整版本: MatConvNet: CNNs for MATLAB