windows caffe运行实例
- 格式:docx
- 大小:12.76 KB
- 文档页数:2
好不容易闲下来,决定跑一下Caffe看看,碰到几个配置的小问题,将配置过程记录如下:基本的环境:Windows 64-bitMS Visual Studio 2012CUDA toolkit 6.0Other dependencies which you can directly download from here.源代码下载:https:///niuzhiheng/caffe 安装运行步骤:https:///niuzhiheng/caffe/blob/windows/README.md编译:1. 下载并解压源码。
2. 下载CUDA的toolkit后按照提示进行安装。
3. 下载第三方库,将下载的内容拷贝到3rdparty目录下4. 到bulid/MSVC下打开MainBuilder.sln文件进行编译,编译过程中可能会出现头文件找不到的情况,到工程属性中找到“c/c++ /常规/附加包含目录”添加“../../include”路径。
5. 重新编译,成功。
运行mnist的sample:1. 到这里/u/3466743/caffe-vs2012/mnist-leveldb.7z 下载已经转换好的mnist的数据库2. 将解压后的训练集和测试集目录拷贝到examples/mnist下,运行train_lenet.bat3. 运行过程中可能会出现Invalid device function的错误,这是因为GPU的Arch不一样导致的,此时需要修改编译配置,将原来编译的内容清空:a. 为了确保完全重新编译,删除src/caffe/proto下的caffe.p以及caffe.pb.h文件b.打开工程属性配置,进入CUDA c/c++选项,将Device下的code generation 修改为compute_20,sm_20。
重新编译即可。
c. 注意:arch的属性修改是根据显卡来的,因此需要根据机器硬件的不同来设置。
caffe的运用Caffe是一种流行的深度学习框架,广泛应用于计算机视觉、自然语言处理等领域。
它以C++编写,支持CUDA加速,具有高效、灵活和可扩展的特点。
Caffe的运用主要体现在以下几个方面:1. 模型定义与训练:Caffe使用Protobuf格式定义模型结构,包括网络层、损失函数、优化器等。
用户可以根据自己的需求自定义网络结构,或者使用已有的经典网络模型如AlexNet、VGGNet等。
通过调用Caffe提供的接口,可以进行模型的训练和优化。
2. 数据预处理:在深度学习中,对输入数据进行预处理是非常重要的。
Caffe提供了一系列的数据处理工具,包括图像的缩放、裁剪、翻转等操作,以及数据增强技术如随机旋转、随机扰动等。
这些工具可以帮助用户快速、高效地准备训练数据。
3. 模型部署与推理:Caffe支持将训练好的模型部署到不同的硬件平台上进行推理。
用户可以选择将模型转换为Caffe模型文件,然后使用Caffe提供的工具进行推理;也可以将模型转换为其他框架支持的格式,如TensorFlow、PyTorch等。
Caffe还提供了Caffe2Go工具,可以将模型部署到移动设备上进行推理。
4. 模型调试与优化:Caffe提供了丰富的调试工具,可以帮助用户分析模型的性能和效果。
用户可以使用Caffe自带的可视化工具,如caffe-draw和caffe-vis,对网络结构进行可视化;还可以使用caffe-time工具,对模型的前向传播和反向传播进行性能分析。
此外,Caffe还提供了一些优化技术,如网络剪枝、量化等,可以帮助用户减少模型的计算量和内存占用。
5. 社区支持与资源共享:Caffe拥有庞大的用户社区,用户可以在社区中分享自己的经验和代码,获取帮助和反馈。
Caffe官方网站上提供了丰富的教程、示例代码和文档,用户可以根据自己的需要进行学习和参考。
总的来说,Caffe的运用在深度学习领域具有重要的意义。
编译分布式并⾏版caffe(OpenMPI)教程使⽤环境:1 CentOS release 6.6 (Final)2 CUDA8.03 CuDNN6.04 Open MPI 3.1.35 OpenCV 3.1.0View CodeCUDA8.0、CuDNN6.0、OpenCV3.1.0以及其他caffe所需要的依赖已经装好,这⾥仅需要安装OpenMPI3.1.3,步骤如下:OpenMPI-3.1.3安装1. 解压openmpi-3.1.3,进⼊解压后的⽂件夹 — openmpi3.1.3,在终端输⼊如下命令:1 ./configure --prefix=/storage/student5/usr/local/openmpi --with-cuda --enable-mpi-thread-multiple2#--prefix后的路径未openmpi的安装路径;3 sudo make all install4# make all install 加sudo,否则安装过程中可能出问题View Code2. 测试安装是否成功1 cd openmpi-3.1.3/examples2 make3 mpirun -np4 hello_cView CodeCaffe安装1. 下载caffe,将Makefile.config.example另存为Makefile.config,将其修改成以下的样⼦:1## Refer to /installation.html2# Contributions simplifying and improving our build system are welcome!34# cuDNN acceleration switch (uncomment to build with cuDNN).5 USE_CUDNN := 167# CPU-only switch (uncomment to build without GPU support).8# CPU_ONLY := 1910# uncomment to disable IO dependencies and corresponding data layers11 USE_OPENCV := 112 USE_LEVELDB := 113 USE_LMDB := 11415# Uncomment if you're using OpenCV 316 OPENCV_VERSION := 31718# To customize your choice of compiler, uncomment and set the following.19# N.B. the default for Linux is g++ and the default for OSX is clang++20# CUSTOM_CXX := g++2122# CUDA directory contains bin/ and lib/ directories that we need.23 CUDA_DIR := /usr/local/cuda24# On Ubuntu 14.04, if cuda tools are installed via25# "sudo apt-get install nvidia-cuda-toolkit" then use this instead:26# CUDA_DIR := /usr2728# CUDA architecture setting: going with all of them.29# For CUDA < 6.0, comment the *_50 lines for compatibility.30 CUDA_ARCH := -gencode arch=compute_30,code=sm_30 \31 -gencode arch=compute_35,code=sm_35 \32 -gencode arch=compute_50,code=sm_50 \33 -gencode arch=compute_50,code=compute_503435# BLAS choice:36# atlas for ATLAS (default)37# mkl for MKL38# open for OpenBlas39 BLAS := atlas40# Custom (MKL/ATLAS/OpenBLAS) include and lib directories.41# Leave commented to accept the defaults for your choice of BLAS42# (which should work)!43 BLAS_INCLUDE := /usr/include44 BLAS_LIB := /usr/lib64/atlas4546# Homebrew puts openblas in a directory that is not on the standard search path47# BLAS_INCLUDE := $(shell brew --prefix openblas)/include48# BLAS_LIB := $(shell brew --prefix openblas)/lib4950# This is required only if you will compile the matlab interface.51# MATLAB directory should contain the mex binary in /bin.52 MATLAB_DIR := /usr/local/MATLAB/R2014a53# MATLAB_DIR := /Applications/MATLAB_R2012b.app5455# NOTE: this is required only if you will compile the python interface.56# We need to be able to find Python.h and numpy/arrayobject.h.57 PYTHON_INCLUDE := /usr/include/python2.7 \58 /usr/lib/python2.7/dist-packages/numpy/core/include59# Anaconda Python distribution is quite popular. Include path:60# Verify anaconda location, sometimes it's in root.61# ANACONDA_HOME := $(HOME)/anaconda62# PYTHON_INCLUDE := $(ANACONDA_HOME)/include \63# $(ANACONDA_HOME)/include/python2.7 \64# $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \6566# We need to be able to find libpythonX.X.so or .dylib.67 PYTHON_LIB := /usr/lib68# PYTHON_LIB := $(ANACONDA_HOME)/lib6970# Homebrew installs numpy in a non standard path (keg only)71# PYTHON_INCLUDE += $(dir $(shell python -c 'import numpy.core; print(numpy.core.__file__)'))/include72# PYTHON_LIB += $(shell brew --prefix numpy)/lib7374# Uncomment to support layers written in Python (will link against Python libs)75 WITH_PYTHON_LAYER := 17677# Whatever else you find you need goes here.78 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include79 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib8081# If Homebrew is installed at a non standard location (for example your home directory) and you use it for general dependencies 82# INCLUDE_DIRS += $(shell brew --prefix)/include83# LIBRARY_DIRS += $(shell brew --prefix)/lib8485# Uncomment to use `pkg-config` to specify OpenCV library paths.86# (Usually not necessary -- OpenCV libraries are normally installed in one of the above $LIBRARY_DIRS.)87# USE_PKG_CONFIG := 18889 BUILD_DIR := build90 DISTRIBUTE_DIR := distribute9192# Uncomment for debugging. Does not work on OSX due to https:///BVLC/caffe/issues/17193# DEBUG := 19495# The ID of the GPU that 'make runtest' will use to run unit tests.96 TEST_GPUID := 09798# enable pretty build (comment to see full commands)99 Q ?= @View Code2. 在caffe⽬录下执⾏以下操作:1 mkdir build && cd buildView Code3. 编译caffe 如果要开启matlab接⼝,先修改caffe根⽬录下的CMakeList.txt⽂件line24:1 caffe_option(BUILD_matlab "Build Matlab wrapper" OFF IF UNIX OR APPLE)View Code 修改为:1 caffe_option(BUILD_matlab "Build Matlab wrapper" ON IF UNIX OR APPLE)View Code 否则在caffe/build路径下直接进⾏以下操作:1 cmake -DUSE_MPI=ON -DMPI_CXX_COMPILER=/path/to/your/openmpi/bin/mpicxx ..2# USE_MPI=ON即表⽰开启Open MPI3# -DMPI_CXX_COMPILER后的路径⼀定得是Open MPI的安装路径下的bin中的mpicxx路径,在/usr/bin下也有这个mpicxx,不要错写路径了View Code4. 安装caffe,在caffe根⽬录下执⾏以下操作:1 make all -j82 make install3# 我在安装过程中,make all之后就不需要再make install4 make runtest5# 同参考教程中⼀样,有两个test未通过View Code5. 编译Python接⼝: a. 添加环境变量:1 gedit ~/.bashrcView Code b. 在其中写⼊:1 export PYTHONPATH=$PYTHONPATH:/path/to/your/caffe/pythonView Code c. 使环境变量⽣效:1 source ~/.bashrcView Code d. 在caffe根⽬录下:1 make pycaffe2# 教程中有加sudo,但是我没有加sudo也没有影响View Code e. 测试Python接⼝,在终端输⼊以下命令:1 python2import caffe3# 如果⽆错,则python接⼝编译成功View Code出现问题:1. 安装caffe过程中,编译caffe时,输⼊以下命令出错:1 cmake -DUSE_MPI=ON -DMPI_CXX_COMPILER=/path/to/your/openmpi/bin/mpicxx ..View Code 问题1:1 CMake Warning at /usr/local/opencv-3.1.0/cmake/OpenCVConfig.cmake:166 (message):2 Found OpenCV Windows Pack but it has no binaries compatible with your3 configuration.45 You should manually point CMake variable OpenCV_DIR to your build of OpenCV6 library.7 Call Stack (most recent call first):8 cmake/Dependencies.cmake:62 (find_package)9 CMakeLists.txt:31 (include)101112 CMake Error at cmake/Dependencies.cmake:62 (find_package):13 Found package configuration file:1415 /usr/local/opencv-3.1.0/cmake/OpenCVConfig.cmake1617 but it set OpenCV_FOUND to FALSE so package "OpenCV"is considered to be18 NOT FOUND.19 Call Stack (most recent call first):20 CMakeLists.txt:31 (include)212223 -- Configuring incomplete, errors occurred!24 See also "/storage/student5/usr/local/caffe/build/CMakeFiles/CMakeOutput.log".25 See also "/storage/student5/usr/local/caffe/build/CMakeFiles/CMakeError.log".View Code 解决⽅法: 尝试⼀:在CMakeList.txt⽂件中加⼊set(OpenCV_DIR /path/to/your/OpenCV/build),该法⽆效; 尝试⼆:退回到caffe根⽬录,然后make clean,暂时加⼊如下环境变量后重新从mkdir build && cd build开始,该法有效。
面向Windows平台的深度学习工具使用指南张 林同济大学软件学院1. Windows版Caffe的安装与基本测试1.1 Windows版Caffe配置与编译BVLC有caffe windows的官方版本,https:///BVLC/caffe/tree/windows下面介绍安装这个版本的windows caffe的一些具体问题关于visual studio,VS2015好像不是很稳定,目前还是用VS2013CUDA用CUDA 8.0版本,并且用与之配合的cudnncudnn解压以后,形成一个cuda目录,把这个目录下的三个文件夹复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0目录之下,会与该目录下本来的三个文件夹合并内容注意:当把显卡的驱动安装成功,并且安装了CUDA之后,建议执行一下硬件检测程序,测试一下硬件是否正常。
这可以通过执行C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0\bin\win64\Release目录下的deviceQuery.exe来测试。
如果正常的话,会出现类似下图的信息。
如果使用python,需要安装Anaconda Python 2.7然后,在开始栏里面,运行“Anaconda Prompt”,安装几个组件conda install ‐‐yes numpy scipy matplotlib scikit‐image pippip install protobuf需要根据自己的环境修改一下scripts\build_win.cmd的内容。
MSVC_VERSION=12WITH_NINJA=0CPU_ONLY=0PYTHON_VERSION=2BUILD_MATLAB=1RUN_TESTS=1然后,执行build_win.cmd命令。
完成编译后,会自动执行测试脚本;可能会有4个关于timer的测试例程不能通过,这个并没有关系。
mfc ffmpeg例子MFC(Microsoft Foundation Class)是微软提供的用于开发Windows应用程序的类库,而FFmpeg是一个开源的跨平台音视频处理工具。
结合MFC和FFmpeg可以实现在Windows平台上对音视频进行处理和播放的功能。
下面我将从MFC和FFmpeg的结合、示例代码和注意事项等方面来回答你的问题。
首先,我们需要在MFC应用程序中集成FFmpeg库。
你需要下载FFmpeg的开发包,并在MFC项目中进行配置。
接着,你可以使用FFmpeg提供的API来实现音视频的编解码、播放和处理等功能。
下面是一个简单的MFC和FFmpeg结合的示例代码:c++。
extern "C" {。
#include <libavformat/avformat.h>。
#include <libswscale/swscale.h>。
}。
// 初始化FFmpeg.av_register_all();// 打开输入文件。
AVFormatContext pFormatCtx = NULL;if (avformat_open_input(&pFormatCtx, "input.mp4", NULL, NULL) != 0) {。
return -1; // 打开文件失败。
}。
// 查找流信息。
if (avformat_find_stream_info(pFormatCtx, NULL) < 0) {。
return -1; // 无法获取流信息。
}。
// 寻找视频流。
int videoStream = -1;for (int i = 0; i < pFormatCtx->nb_streams; i++) {。
if (pFormatCtx->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {。
【caffe-Windows】微软官方caffe之matlab接口配置发表于2016/6/17 22:10:42 996人阅读分类:神经网络按照微软的官方地址配置可能会出现一个问题caffe_.mexw64找不到引用模块问题,或者在matlab里面压根找不到caffe_这个函数,下面会提到这两个问题。
还是按照步骤来吧【PS】有GPU同样按照下述步骤,进行即可第一步修改配置文件,使之支持matlab接口,修改两个地方,第一个是matlabsuppor t,第二个是matlabdir也就是你的matlab安装目录(对matlab桌面图标右键属性查看):第二步编译caffe文件夹里面的Windows里面的caffe.sln工程里面的matcaffe一项【注】此时先选择release选项吧,别用debug了第三步使用release编译以后,在\Build\x64\Release下会生成一个matcaffe文件夹,重点要有下面画框的文件。
第四步【此步是按照微软官方配置方法】这一步不会安装成功,不想看到这种出错情况可直接跳入第五步首先将上一步生成的matcaffe加入matlab的路径中,直接在setpath里面设置然后将release加入系统变量【手动copy进去就行了,我这里没加,因为我测试了一下貌似没啥效果,你们可以试试可以成功不】最后运行这个demo遇到的就是我说的找不到caffe_的问题了接下来我把这个\Build\x64\Release\matcaffe\+caffe\private这个文件夹里面的东西全都拷贝到\matlab\+caffe\private覆盖,然后遇到下面问题第五步暴力解决它,把\Build\x64\Release下的所有的链接文件也就是dll文件也拷贝到这个文件夹去,原文件在这里拷贝到\matlab\+caffe\private以后是这样第六步下载一下model文件放到caffe-master\models\bvlc_reference_caffenet文件夹下下载地址链接:/s/1geUv01l 密码:yp9p标签文件如下synset_words.txt地址:链接:/s/1c24ty6W 密码:3z7y测试一下效果,建立一个test.m测试文件,路径如下【忽视readlabel,我自己写的读文件,最后放到test.m里面了】【最好在matlab里面加一下路径】D:\caffe_root\caffe-windows\Build\x64\Release\matcaffe\+caffe2016/12/19总结:按照上边的步骤设置后,自己仍然有问题,以下是解决方法(1)因为笔记本电脑没有安装GPU,所以在CommentSettings.props设置如下:<CpuOnlyBuild>false</ CpuOnlyBuild><UseCuDNN>false</UseCuDNN><PythonSupport>false</PythonSupport>(2)prototxt设置要注意:solver.prototxt中solver_mode: CPU(3)通过多次尝试,Release编译、Debug编译同时存在的情况下,每一次Dome都运行失败,(不知道什么原因),然后我删掉了D:\DeepLearning\caffe-windows\Build\x64下的Release文件夹,运行Dome,很奇怪,第一打开Dome之后就可以运行不错出,但是第二次运行Dome时就报错。
上机1:基于WinPcap的网络嗅探器设计与实现上机1:基于WinPcap的网络嗅探器设计1、目的与要求掌握基于WinPcap的网络编程模式。
理解并能应用WinPcap设计并实现网络数据包的捕获与解析。
2、设备与上机环境连网PC机(至少一台)。
计算机硬件要求:Intel Pentium5 处理器、256MB以上内存,Ethernet网卡,网线若干。
计算机软件要求:MS Windows 9x/2000/XP操作系统,TCP/IP协议,WinPcap430,Visualc++6.0/.net系统。
3、上机内容与步骤:在程序设计之前,请参照提供的软件安装WinPcap。
之后,按照如下步骤操作:步骤1:在VC++ 6.0下创建一个DOS命令行程序,工程名:自己的学号-PacketDumpint res;struct pcap_pkthdr *header;const u_char *pkt_data;printf("pktdump_ex: prints the packets of the network using WinPcap.\n");printf(" Usage: pktdump_ex [-s source]\n\n"" Examples:\n"" pktdump_ex -s file.acp\n"" pktdump_ex -s\\Device\\NPF_{C8736017-F3C3-4373-94AC-9A34 B7DAD998}\n\n");if(argc < 3){printf("\nNo adapter selected: printing the device list:\n");/* The user didn't provide a packet source: Retrieve the local device list */if(pcap_findalldevs(&alldevs, errbuf) == -1){fprintf(stderr,"Error inpcap_findalldevs_ex: %s\n", errbuf);exit(1);}/* Print the list */for(d=alldevs; d; d=d->next){printf("%d. %s\n ", ++i, d->name);if (d->description)printf(" (%s)\n", d->description);elseprintf(" (No description available)\n");}if (i==0){printf("\nNo interfaces found! Make sure WinPcap is installed.\n");return -1;}printf("Enter the interface number(1-%d):",i);scanf("%d", &inum);if (inum < 1 || inum > i){printf("\nInterface number out of range.\n");/* Free the device list */pcap_freealldevs(alldevs);return -1;}/* Jump to the selected adapter */for (d=alldevs, i=0; i< inum-1 ;d=d->next,i++);/* Open the adapter */if ((fp = pcap_open_live(d->name, // name of the device65536, // portion of the packet to capture.// 65536 grants that the whole packet will be captured on all the MACs.1, // promiscuous mode (nonzero means promiscuous)1000, // read timeouterrbuf // error buffer)) == NULL){fprintf(stderr,"\nError openingadapter\n");return -1;}}else{/* Do not check for the switch type ('-s') */if ((fp = pcap_open_live(argv[2], // name of the device65536, // portion of the packet to capture.// 65536 grants that the whole packet will be captured on all the MACs.1, // promiscuous mode (nonzero means promiscuous)1000, // read timeouterrbuf // error buffer)) == NULL){fprintf(stderr,"\nError openingadapter\n");return -1;}}/* Read the packets */while((res = pcap_next_ex( fp, &header,&pkt_data)) >= 0){if(res == 0)/* Timeout elapsed */continue;/* print pkt timestamp and pkt len */printf("%ld:%ld (%ld)\n", header->_sec, header->_usec, header->len);/* Print the packet */for (i=1; (i < header->caplen + 1 ) ; i++){printf("%.2x ", pkt_data[i-1]);if ( (i % LINE_LEN) == 0) printf("\n");}printf("\n\n");}if(res == -1){printf("Error reading the packets: %s\n", pcap_geterr(fp));return -1;}pcap_close(fp);return 0;步骤3:为编译器指定包含文件和库文件搜索目录。
Windows下采用caffe进行VGG人脸识别深度神经网络模型的微调训练2016-8-29本文介绍在Windows环境下,采用采用caffe进行VGG人脸识别深度神经网络模型的fine-tune(微调训练)。
运行环境为:windows7+vs2013+matlab2015a+caffe(微软版)。
1.代码和文件准备代码caffe:https:///BVLC/caffe/tree/windows,这个只要采用VS2013编译好就可以用了,配置编译按照网页上的说明进行即可完成。
vgg-face模型:/~vgg/software/vgg_face/。
该网页包括caffe,matconvnet,torch三个版本,下载caffe版本即可。
2.数据准备收集人脸图像数据及对应的标签数据,vgg处理的图片的尺寸是224*224,因此不符合尺寸要求的要对尺寸进行修正。
然后采用caffe中的convert_imageset工具将人脸图像及对应的标签转换为leveldb格式的库文件。
并采用caffe中的compute_image_mean工具计算leveldb库文件中所包含人脸的均值文件face_mean.binaryproto。
将训练数据和评估数据的库文件分别放置在下述位置:J:/caffe-windows/vggface_mycmd/vggface_train_leveldbJ:/caffe-windows/vggface_mycmd/vggface_val_leveldb3.训练网络第三部分就开始训练网络了,首先需要到vggface的官网上下载vggface的caffe模型(官网还包括matconvnet模型,试过finetuning太慢了,torch没有试过),下载好了,就会有两个文件,一个是VGG_FACE_deploy.prototxt,一个是VGG_FACE.caffemodel(深度网络的模型文件)。
1、安装windows 7 系统之家纯净系统2、清理不需要的自带软件3、安装cuda7.5关闭所有杀毒软件,点击cuda7.5安装包首先解压到特定文件夹下,自动启动安装,一定要选择自定义安装。
4、解压cudnn-7.0-win-x64将bin、lib、include分别放在cuda7.5对应文件夹下5、安装WinPython6、安装IE 107、安装vs20138、打开caffe-master\windows文件夹,复制CommonSettings.props.example,再将CommonSettings.props.example重命名为CommonSettings.props。
用文本格式打开CommonSettings.props,<MatabSuport>true <MatabSuport><PythonSuport>true < PythonSuport >9、点击E:\caffe-master\windows文件夹里的Caffe.sln,这时你发现解决方案的9个项目中libcaffe和test_all没有加载成功。
不过不影响,先把编译器切换到Release x64.然后点击本地windows调试器,nuget会先下载安装需要的一些库文件,下载完后后继续编译操作,中间可能会出现一些报错在解决方案后中右击每一个项目,属性->C/C++,把“警告等级”调整为等级3,把“将警告视为错误”改成否。
报错“error C2220: 警告被视为错误- 没有生成“object”文件”,解决方法是用vs2013打开这里报错的cpp,然后点击保存即可。
我这里是nuget中的boost报错。
这里只是完成了libcaffe项目的编译,下面一个一个右击剩余的8个项目,然后点击“生成”,即可。
<ImportGroup Label="ExtensionSettings"Condition="'$(CpuOnlyBuild)'=='false'"><Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA $(CudaVersion).props" /></ImportGroup><ImportGroup Label="ExtensionSettings"Condition="'$(CpuOnlyBuild)'=='false'"><Import Project="C:\Program Files\NVIDIA GPU ComputingToolkit\CUDA\v7.5\extras\visual_studio_integration\MSBuildExtensions\CUDA 7.5.props" /></ImportGroup><ImportGroup Label="ExtensionTargets"><Import Condition="'$(CpuOnlyBuild)'=='false'" Project="$(VCTargetsPath)\BuildCustomizations\CUDA $(CudaVersion).targets" /><ImportGroup Label="ExtensionTargets"><Import Condition="'$(CpuOnlyBuild)'=='false'"Project="C:\Program Files\NVIDIA GPU ComputingToolkit\CUDA\v7.5\extras\visual_studio_integration\MSBuildExtensions\CUDA 7.5.targets" />10、在环境变量的用户变量中,新建用户变量,变量名“PythonPath”,变量值“E:\caffe-master\Build\x64\Release\pycaffe”。
其中包括上面四个参数,粉色参数可以选择不设,其中--表示可以不调整实际操作:在根目录home下的/caffe路径下打开终端,输入sudo命令,输入密码,进入最大权限:输入命令:(输入时注意空格)在caffe中,作者为我们提供了这样一个文件:convert_imageset.cpp,存放在根目录下的tools文件夹下。
编译之后,生成对应的可执行文件放在buile/tools/下面,这个文件的作用就是用于将图片文件转换成caffe框架中能直接使用的imdb文件。
屏幕上显示:查看结果:在目标目录下新增了我命名的一个文件夹文件夹里包括两个子文件,data.mdb存放数据;lock.mdb存放标签一个layer表示一层,layer是可以复制可以嵌套的1)数据层Name可以随便取Type是系统自带的,不可以自己命名Top表示向上传送数据,bottom表示从下面接收数据,通过这个top还是bottom就决定了数据的流向以及不同层之间的链接关系Phase:train表示只有训练时调用这层Mirror表示翻转Cropsize表示一张图变为40*40*10,使得样本数增加Batchsize是2的倍数,表示批量处理2)卷积层Decay=0表示不衰减Num_output卷积核个数/节点数目Kernal_size一般是3*35*57*7不能太大Padding卷积后图变小,所以固定填充0,如果=2,表示周边上下左右填充2个pixel Gaussian表示用高斯方法对w与b进行初始化3)激活层4)池化层caffe只支持max和average,stochastic是随机的意思Stride不能写1,否则就没有池化功能5)全连接层Xvaier初始化方法很好,默认值为0,Type类型都不变6)其它层Loss层加在全连接层后面如果要测试,还加一层softmax层Deploy.prototxt文件用于测试阶段,测试数据没有标签值,因此数据输入层与其它两个阶段不同。
Windows下生成caffe训练用的leveldb格式的库文件并求其均值2016-8-27本文介绍在Windows环境下,采用matlab将图片格式的文件转化为深度学习框架caffe 训练用的leveldb格式的库文件的方法及相应的代码。
运行环境为:windows7+vs2013+matlab2015a+caffe(微软版)。
以下部分以mnist图像数据集中的t10k-images.idx3-ubyte为例进行说明;1.设置生成leveldb格式的库文件还是lmdb格式的库文件采用vs2013修改并编译J:\caffe-windows\tools\convert_imageset.cpp,从而修改生成的库文件的格式是leveldb还是lmdb格式。
//DEFINE_string(backend, "lmdb", //生成的库文件为lmdb格式DEFINE_string(backend, "leveldb", // 生成的库文件为leveldb格式"The backend {lmdb, leveldb} for storing the result");2.将mnist文件转化为图片文件及标签文件采用matlab代码将t10k-images.idx3-ubyte转化为生成leveldb格式的库文件所需的图片文件夹(mnist_img)及标签文件(mnist_labels.txt)。
其中标签文件包括图片名称及图片的标签,图片名称与mnist_img文件夹中图片的名称相同;clear all;clcclose all%**********generate the images files with specified names***************images = loadMNISTImages('t10k-images.idx3-ubyte');size_of_images=size(images)img_db=reshape(images,28,28,10000);for num_img=1:1000img1=img_db(:,:,num_img);imwrite(img1,['./mnist_img/mnist_',num2str(num_img),'.jpg']);end%*******generate label files**************************labels = loadMNISTLabels('t10k-labels.idx1-ubyte');fp = fopen('F:\mnist_folder\MNIST_dataset\mnist_labels.txt','wt');for label_seq =1:1000fprintf(fp, '%s %d\n',['mnist_',num2str(label_seq),'.jpg'],labels(label_seq)); endfclose(fp); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%上述matlab文件运行后,文件夹下的文件及标签文件如下图所示:3.生成convert_imageset可执行文件在windows下的vs2013中打开J:\caffe-windows\windows文件夹下的caffe解决方案。
在caffe上跑自己的数据本文介绍如何使用caffe对自己的图像数据进行分类。
1 图片数据库准备由于图片数据收集比较费时,为了简单说明,我用了两类,dog和bird,每种约300张。
train200张,val100张。
新建一个文件夹mine,放自己的数据,在mine文件夹下新建train和val文件夹,train文件夹下新建bird 和dog两个文件夹分别存放200张bird和200张dog,val文件夹里存放其他的图片用于验证。
注意,图片的size要归一到相同尺寸。
(256*256)2 转换成leveldb格式在mine文件夹下新建两个txt文件:train.txt和val.txt,列出对应图片名及其标签。
数据量较少的可以手动标签,数据量较大的话,可以写批处理命令,比较方便。
一定要注意,train列表中的图片带相对路径名bird/*.jpg dog/*.jpg。
标签1代表bird,标签2代表dog。
生成列表后,编译convert_imageset.cpp.在bin文件夹中将刚刚生成的MainCaller.exe重命名为convert_imageset.exe。
做一个批处理命令将图片数据转换成leveldb格式。
在caffe-windows文件夹下新建convertimage2ldb.bat。
双击运行,在mine文件夹下就会出现mtrainldb文件夹。
同理可得到mvalldb。
这两个就是caffe需要的数据。
注意,我的mine文件夹是放在data文件夹下的,在写convertimage2ldb.bat时注意你自己路径。
3 计算mean这个比较简单,上篇文章也说了。
编译comput_image_mean.cpp在bin文件夹中将刚刚生成的MainCaller.exe重命名为comput_image_mean.exe。
做一个computeMean.bat方便以后使用。
双击运行之后在mine里面出现mimg_mean.binaryproto,这就是caffe需要的图片均值文件。
1.1. 源代码目录结构WinPcap的所有源代码都可从网站获取,此处采用的源代码包为WpcapSrc_4_1_beta5.zip,源代码目录结构如图5-1所示。
其中:Common目录下为几个共用的头文件。
dox 目录下为一些说明文档。
Examples-pcap与Examples目录下为一些示例代码,两个目录的区别在于前者是采用libpcap库接口的示例程序,后者为采用wpcap库接口的示例程序。
Packet9x目录下为Windows 9x平台的驱动程序NPF的源代码与Packet.dll库的源代码,分别放置在VXD与DLL目录下。
PacketNtx目录下为Windows NTx平台的驱动程序NPF的源代码与Packet.dll库的源代码,分别放置在driver与DLL目录下。
wpcap目录下为wpcap.dll库的源代码。
图5-1 WinPcap源代码目录结构可从网站获取开发包WpdPack_4_1_beta5.zip,便于WinPcap的软件开发,该软件包的目录结构如图5-2所示,其中:docs目录下为详细的用户使用手册。
Examples-pcap与Examples-remote目录下为一些示例代码,两个目录的区别在于前者是采用libpcap库接口的示例程序,后者为采用wpcap库接口的示例程序。
Include目录下为在WinPcap库上开发所需的头文件。
Lib目录下为在WinPcap库上开发所需的库文件。
图5-2 WpdPack 开发包目录结构1.2. 构建驱动程序NPF在开始编译之前,我们需要注意NPF是依赖于平台的。
所以强烈建议编译驱动程序的操作系统与将要使用NPF的操作系统一致。
此处我们以Windows XP(x86架构)平台下驱动程序NPF的构建为例,来说明构建的过程。
此处使用WDK 6001.18002[2]编译WinPcap 4.1 beta5。
WinPcap 4.1 beta5的文档要求采用Microsoft Windows Driver Kit (WDK) 6000 or 6001进行编译。
caffe学习笔记(九)命令⾏解析affe的运⾏提供三种接⼝:c++接⼝(命令⾏)、python接⼝和matlab接⼝。
本⽂先对命令⾏进⾏解析,后续会依次介绍其它两个接⼝。
caffe的c++主程序(caffe.cpp)放在根⽬录下的tools⽂件夹内, 当然还有⼀些其它的功能⽂件,如:convert_imageset.cpp, train_net.cpp, test_net.cpp等也放在这个⽂件夹内。
经过编译后,这些⽂件都被编译成了可执⾏⽂件,放在了 ./build/tools/ ⽂件夹内。
因此我们要执⾏caffe程序,都需要加 ./build/tools/ 前缀。
如:# sudo sh ./build/tools/caffe train --solver=examples/mnist/train_lenet.shcaffe程序的命令⾏执⾏格式如下:caffe <command> <args>其中的<command>有这样四种:traintestdevice_querytime对应的功能为:train----训练或finetune模型(model),test-----测试模型device_query---显⽰gpu信息time-----显⽰程序执⾏时间其中的<args>参数有:-solver-gpu-snapshot-weights-iteration-model-sighup_effect-sigint_effect注意前⾯有个-符号。
对应的功能为:-solver:必选参数。
⼀个protocol buffer类型的⽂件,即模型的配置⽂件。
如:# ./build/tools/caffe train -solver examples/mnist/lenet_solver.prototxt-gpu: 可选参数。
该参数⽤来指定⽤哪⼀块gpu运⾏,根据gpu的id进⾏选择,如果设置为'-gpu all'则使⽤所有的gpu运⾏。
caffe_cpu编译
要在CPU上编译Caffe,你需要首先安装必要的依赖项。
确保
你已经安装了CMake、Boost、OpenBLAS或者MKL、CUDA(如果你打
算使用GPU版本)、cuDNN(如果你打算使用GPU版本)、protobuf、Glog、Gflags、HDF5和OpenCV。
一旦你安装了这些依赖项,你可以
按照以下步骤在CPU上编译Caffe:
1. 首先,克隆Caffe的GitHub仓库或者下载源代码压缩包。
2. 进入Caffe的根目录,创建一个名为"build"的文件夹,并
进入该文件夹。
3. 在"build"文件夹中运行以下命令,cmake ..
4. 接下来,运行make命令来编译Caffe,make all.
5. 如果一切顺利,编译过程完成后,你会在"build"文件夹中
找到编译好的Caffe可执行文件。
需要注意的是,以上步骤是一个简化的过程,实际上在不同的
操作系统和环境下可能会有一些额外的配置步骤。
另外,确保你的系统满足Caffe的最低系统要求,并且注意查看Caffe官方文档中的编译指南,以确保你按照最新的指导进行操作。
祝你编译顺利!。
caffe hdf5实例Caffe是一种流行的深度学习框架,它支持使用HDF5(Hierarchical Data Format 5)格式来存储和管理训练数据。
HDF5是一种用于存储和组织大规模科学数据的文件格式,它具有高效的I/O操作和灵活的数据结构,因此非常适合在深度学习中使用。
在Caffe中使用HDF5格式进行数据管理具有很多优点。
首先,HDF5格式允许我们将训练数据和标签存储在一个文件中,方便数据的读取和管理。
其次,HDF5格式支持灵活的数据结构,可以存储多维数组和高维矩阵,适用于各种类型的深度学习任务。
此外,HDF5格式还支持数据压缩和并行读取,可以提高数据的传输效率。
在使用Caffe和HDF5进行深度学习任务时,首先需要将原始数据转换为HDF5格式。
Caffe提供了一个Python脚本`convert_imageset.py`,可以将图像数据转换为HDF5格式。
该脚本需要指定输入图像文件夹、输出HDF5文件、标签文件等参数。
通过运行该脚本,可以将图像数据转换为HDF5格式,并生成相应的标签文件。
在训练过程中,可以使用Caffe提供的`HDF5DataLayer`来加载HDF5数据。
该层可以指定HDF5文件的路径和标签文件的路径,并将数据读取到Caffe的内存中。
通过配置网络模型文件,可以将HDF5DataLayer与其他层(如卷积层、全连接层等)连接起来,构建完整的深度学习网络。
使用HDF5格式进行数据管理的一个重要优势是可以在训练过程中动态调整数据。
例如,可以在每个迭代中随机选择一部分数据作为训练样本,以增加模型的泛化能力。
此外,还可以通过增加数据增强操作(如随机裁剪、翻转等)来扩充训练数据,提高模型的鲁棒性。
除了训练数据,HDF5格式还可以用于存储模型参数和训练状态。
在模型训练过程中,可以将模型参数保存为HDF5文件,以便后续的预测和推理任务。
此外,还可以将训练状态保存为HDF5文件,以便在训练过程中进行断点续训或模型调优。
windows环境Caffe安装配置步骤(⽆GPU)及mnist训练在硕⼠第⼆年,义⽆反顾地投⾝到了深度学习的浪潮中。
从之前的惯性导航转到这个⽅向,⼀切从头开始,在此,仅以此⽂记录⾃⼰的打怪之路。
最初的想法是动⼿熟悉Caffe,考虑到直接上⼿U buntu会有些难度,所以⾸先在windows环境下打个基础。
有个插曲,台式机由于某些原因只能保持在32位系统,编译caffe.cpp时才发现系统不兼容,然后才换到64位的笔记本上进⾏操作。
Caffe安装:Step1将Caffe从GitHub上下载后解压缩,将./windows中的CommonSettings.props.example⽂件复制到本⽂件夹中,然后删除example得到CommonSettings.props ⽂件,如图所⽰如果不这么做,在VS中将打不开CommonSettings.props.example⽂件。
Step2修改CommonSettings.props⽂件。
根据⾃⼰的需求修改状态,⽐如我⾃⼰笔记本上⽆GPU,就在对应的地⽅设置位False;相应的,我只能⽤CPU,那就改成True;Matlab和Python的接⼝是否使能(Enabled)也在这⾥设置。
可能会出现的问题:libcaffe和test_all加载失败;解决办法:从第⼀步开始,重新解压压缩包。
Step3⽣成解决⽅案,下载第三⽅库。
点开./windows中的caffe.sln,右键解决⽅案“caffe”,点击⽣成解决⽅案这时候,会弹出⼀个框,表⽰正在在下第三⽅库,⾥⾯包括openCV之类的库,下载完后可以发现会出现的问题:⽣成解决⽅案失败,提⽰说⽆法打开libcaffe.lib之类的error。
解决⽅法是直接对libcaffe重新⽣成,或者直接⽣成⼀次接着会出现的问题:没有⽣成object⽂件;解决办法:双击此错误,保存弹出来的框,然后再对libcaffe“重新⽣成⼀次”最后会提⽰解决⽅案⽣成成功了Step 4设置属性Step5运⾏caffe.cpp,按ctrl+F5进⾏编译出现了这种状况:解决办法是重启电脑出现下⾯的窗⼝说明编译成功mnist测试需要注意的是:1.将他们都下载下来,在./data/mnist中建⽴两个⽂件夹分别装好2. 写脚本语⾔是应核对好路径是否正确,要⽤⾃⼰的路径,不能照抄作者的。
windows caffe运行实例
Windows Caffe是一个基于Caffe深度学习框架的Windows版本。
它提供了一个方便的界面和工具,使用户能
够在Windows操作系统上轻松地运行和管理深度学习模型。
以下是一个Windows Caffe运行的实例:1. 安装依赖项:
\n 首先,你需要安装一些必要的依赖项。
这包括CUDA、cuDNN、Python和Visual Studio等。
确保你已经正确安装
了这些软件,并配置好相应的环境变量。
2. 下载和编译Caffe:\n 下载Windows Caffe的源代码,并使用
Visual Studio打开caffe.sln解决方案文件。
在解决方案
资源管理器中,右键点击ALL_BUILD项目,并选择生成。
这将编译Caffe库和相关工具。
3. 配置环境变量:\n
将Caffe的bin目录添加到系统的PATH环境变量中,以便
能够在任何位置运行Caffe命令。
4. 准备数据集:\n
在你的计算机上准备好训练数据集。
确保数据集已经按照Caffe所需的格式进行了预处理。
5. 配置网络模型:\n
创建一个网络模型定义文件(通常是一个.prototxt文件),描述你想要训练或测试的深度学习模型结构。
6. 训练模型:\n 打开命令提示符或PowerShell,并导航到你的Caffe
项目目录。
使用以下命令开始训练模型:\n ```\n caffe train -solver path/to/solver.prototxt\n
```\n 这将使用solver.prototxt文件中定义的参数来
训练模型。
7. 测试模型:\n 在训练完成后,你可以使
用以下命令测试模型的性能:\n ```\n caffe test -model path/to/deploy.prototxt -weights
path/to/weights.caffemodel\n ```\n 这将使用deploy.prototxt文件中定义的网络结构和
weights.caffemodel文件中保存的权重来进行测试。
8. 预测:\n 如果你想要对新数据进行预测,可以使用以下命
令:\n ```\n caffe predict -model
path/to/deploy.prototxt -weights
path/to/weights.caffemodel -input
path/to/input.txt\n ```\n 这将使用
deploy.prototxt文件中定义的网络结构和
weights.caffemodel文件中保存的权重对input.txt中的数据进行预测。
以上是一个简单的Windows Caffe运行实例。
根据你的具体需求,你可能需要进一步了解和配置Caffe以满足你的深度学习任务。