Hello Mat

 找回密码
 立即注册
查看: 10712|回复: 4

MatConvNet: CNNs for MATLAB

[复制链接]

1323

主题

1551

帖子

0

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
22647
发表于 2017-3-4 20:12:06 | 显示全部楼层 |阅读模式
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:29  234M  
      imagenet-caffe-ref.mat  21-Nov-2015 11:29  234M  
      imagenet-googlenet-d..> 21-Nov-2015 11:29   52M  
      imagenet-vgg-f.mat      21-Nov-2015 11:29  233M  
      imagenet-vgg-m-1024.mat 21-Nov-2015 11:29  334M  
      imagenet-vgg-m-128.mat  21-Nov-2015 11:29  317M  
      imagenet-vgg-m-2048.mat 21-Nov-2015 11:29  354M  
      imagenet-vgg-m.mat      21-Nov-2015 11:29  394M  
      imagenet-vgg-s.mat      21-Nov-2015 11:29  394M  
      imagenet-vgg-verydee..> 21-Nov-2015 11:29  529M  
      imagenet-vgg-verydee..> 21-Nov-2015 11:30  549M  
      pascal-fcn16s-dag.mat   21-Nov-2015 11:30  514M  
      pascal-fcn32s-dag.mat   21-Nov-2015 11:30  519M  
      pascal-fcn8s-dag.mat    21-Nov-2015 11:30  513M  
      pascal-fcn8s-tvg-dag..> 21-Nov-2015 11:30  513M  
      vgg-face.mat            21-Nov-2015 11:30  1.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




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
算法QQ  3283892722
群智能算法链接http://halcom.cn/forum.php?mod=forumdisplay&fid=73
回复

使用道具 举报

84

主题

115

帖子

731

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
1467
发表于 2019-4-24 22:11:44 | 显示全部楼层
MatConvNet: CNNs for MATLAB 【matconvnet-1.0-beta25】
安装环境:MATLAB2016b、win64、VS2017、cuda10.1
CUDA Toolkithttps://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

  1.   CUDADevice (具有属性):

  2.                       Name: 'GeForce GTX 1070 Ti'
  3.                      Index: 1
  4.          ComputeCapability: '6.1'
  5.             SupportsDouble: 1
  6.              DriverVersion: 10.1000
  7.             ToolkitVersion: 7.5000
  8.         MaxThreadsPerBlock: 1024
  9.           MaxShmemPerBlock: 49152
  10.         MaxThreadBlockSize: [1024 1024 64]
  11.                MaxGridSize: [2.1475e+09 65535 65535]
  12.                  SIMDWidth: 32
  13.                TotalMemory: 8.5899e+09
  14.            AvailableMemory: 7.0018e+09
  15.        MultiprocessorCount: 19
  16.               ClockRateKHz: 1683000
  17.                ComputeMode: 'Default'
  18.       GPUOverlapsTransfers: 1
  19.     KernelExecutionTimeout: 1
  20.           CanMapHostMemory: 1
  21.            DeviceSupported: 1
  22.             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
  1. » tdm64-gcc-5.1.0-2.exe
  2. 45.8 MB · GCC 5.1.0
  3. 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。

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

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

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

  12. if numel(dir(fullfile(root, 'matlab', 'mex', 'vl_nnconv.mex*'))) == 0
  13.   warning('MatConvNet is not compiled. Consider running `vl_compilenn`.');
  14. end
  15. %%
  16. try
  17. %     make ENABLE_GPU=y ARCH=win64 MATLABROOT=D:\Program Files\MATLAB\R2016b CUDAROOT=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
  18. %     vl_compilenn('enableGpu', true, 'cudaRoot', 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1')
  19. %     vl_compilenn('enableGpu', true, ...
  20. %                'cudaRoot', 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1', ...
  21. %                'cudaMethod', 'nvcc')
  22.     vl_compilenn('enableGpu', true, ...
  23.                'Debug', true, ...
  24.                'cudaRoot', 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1', ...
  25.                'cudaMethod', 'nvcc')
  26. catch
  27.    
  28. end

  29. %%
  30. rmpath(fullfile(root, 'matlab')) ;
  31. rmpath(fullfile(root, 'matlab', 'mex')) ;
  32. rmpath(fullfile(root, 'matlab', 'simplenn')) ;
  33. rmpath(fullfile(root, 'matlab', 'xtest')) ;
  34. rmpath(fullfile(root, 'examples')) ;
复制代码
编译通过。
再次运行:
  1. >> vl_setupnn
  2. >> vl_compilenn
复制代码
OK!


























回复 支持 反对

使用道具 举报

84

主题

115

帖子

731

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
1467
发表于 2019-4-24 22:14:43 | 显示全部楼层
关于编译出错:
  1. 'cl.exe' 不是内部或外部命令,也不是可运行的程序
  2. 或批处理文件。
  3. 错误使用 vl_compilenn>check_clpath (line 656)
  4. Unable to find cl.exe
复制代码
cl.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一下。
  1. >> vl_compilenn
  2. 使用 'MinGW64 Compiler (C++)' 编译。
  3. MEX 已成功完成。
  4. 使用 'MinGW64 Compiler (C++)' 编译。
  5. MEX 已成功完成。
  6. 使用 'MinGW64 Compiler (C++)' 编译。
  7. MEX 已成功完成。
  8. 使用 'MinGW64 Compiler (C++)' 编译。
  9. MEX 已成功完成。
  10. 使用 'MinGW64 Compiler (C++)' 编译。
复制代码



回复 支持 反对

使用道具 举报

84

主题

115

帖子

731

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
1467
发表于 2019-4-24 23:05:54 | 显示全部楼层
深度学习预训练模型下载:链接:https://pan.baidu.com/s/10OKLWJRXO781kGUTFC9VTA   提取码:jlda
MatConvNet工具包下载:链接:https://pan.baidu.com/s/1vucCJIOMY-n-euaHmDVu1g  提取码:3htb

回复 支持 反对

使用道具 举报

84

主题

115

帖子

731

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
1467
发表于 2019-4-25 00:47:11 | 显示全部楼层
按照链接逐步操作:http://www.vlfeat.org/matconvnet/install/
  1. >> vl_setupnn
  2. 警告: MatConvNet is not compiled. Consider running `vl_compilenn`.
  3. > In vl_setupnn (line 24)
  4. >> vl_compilenn('enableGpu', true, 'cudaRoot', 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1')
  5. 警告: Setting the 'MW_NVCC_PATH' environment variable to 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin\nvcc'
  6. > In vl_compilenn>activate_nvcc (line 752)
  7.   In vl_compilenn (line 296)
  8. 警告: NVCC not found in the command line path or the one found does not matches 'C:\Program Files\NVIDIA GPU Computing
  9. Toolkit\CUDA\v10.1\bin\nvcc'.
  10. > In vl_compilenn>activate_nvcc (line 761)
  11.   In vl_compilenn (line 296)
  12. Location of NVCC (C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin) added to your command search PATH.
复制代码
在这一步中,需要注意的是安装nvidia的驱动cuda开发人员用的Toolkit

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Python|Opencv|MATLAB|Halcom.cn ( 蜀ICP备16027072号 )

GMT+8, 2024-11-22 18:14 , Processed in 0.232768 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表