caffe pytho接口
一:搭建Caffe
1.下载happynear的Caffe源码https://www.github.com/happynear/caffe-windows,第三方库3rdparty文件http://pan.baidu.com/s/1bSzvKa。
2.将3rdparty文件(bin,include,lib)解压至caffe-windows(假设Caffe源码解压后的文件夹名为caffe-windows)中的3rdparty文件夹中,并将3rdparty/bin文件夹所在路径添加到环境变量中,使程序可以找到这些第三方库
3.双击.src/caffe/proto/extract_proto.bat批处理文件来生成caffe.pb.h和caffe.pb.cc两个c++文件,和caffe_pb2.py这个Python使用的文件。
4.打开./build_cpu_only/Mainbuilder.sln,点击上方工具栏中的绿色三角编译。
二:测试Caffe
1.到http://pan.baidu.com/s/1mgl9ndu下载已经转换好的MINIST的leveldb文件,解压至./examples/mnist文件夹中。
2.将./examples/mnist/lenet_solver.prototxt文件中的最后一行solver_mode改为CPU。
3.运行caffe-windows目录下run_mnist.bat即可开始训练,训练日志会保存在./log文件夹中,以INFO开头。
三:编译Python接口
1.在Mainbuilder.sln中选择pycaffe项目,右键选择属性修改两个地方。
2.把C/C++的附加包含目录中python默认路径(默认是D:\Python27)修改为你自己Python所在的路径。我的Anaconda安装在D:\Anaconda2,所以将附加依赖项中的路径改为include与Lib在Anaconda2中的路径即可。
3.将链接-常规-附加库目录中libs的默认路径改为在Anaconda2中的路径。
4.右键选择pycaffe项目,点击build编译。编译成功会在caffe-windows\python\caffe中生成_caffe.pyd文件。
5.安装google的protobuf,直接在cmd中使用pip install protobuf安装。
6.将这个caffe文件夹复制到D:\Anaconda2\Lib\site-packages中,然后尝试使用import caffe。import可能会出现typeerror:__init__()got an unexpected keyword argument ‘syntax'这样的错误,解决的办法是在D:\Anaconda2\Lib\site-packages\caffe\proto中选择caffe_pb2.py文件,将文件中所有含有syntax的语句注释掉即可。
windows下 运行 python脚本方法:
linux是这样 : ./plot_training_log.py.example 4 save.png caffe.log
windows是这样 :首先把脚本变成python后缀的,然后切换到当前目录下
D:\caffe\caffe-master\finetune_myself\log>python plot_training_log.py 4 save.png caffe.log
caffe pytho接口的更多相关文章
- Windows7 64下搭建Caffe+python接口环境
参考链接: http://www.cnblogs.com/yixuan-xu/p/5858595.html http://www.cnblogs.com/zf-blog/p/6139044.html ...
- ubuntu16.04+caffe+python接口配置
在Windows上用了一个学期的caffe了.深感各种不便,于是乎这几天在ubuntu上配置了caffe和它的python接口,现在记录配置过程,亲测可用: 环境:ubuntu16.04 , caff ...
- caffe matlab接口编译遇到的问题记录
今天编译的过程中遇到的问题以及查阅到的资料,记录在这里,希望可以帮到其他人. BVLC的caffe源码,如果要编译matlab的接口时,首先需要将makefile.config文件中的matlab的安 ...
- caffe python 接口设置
安装编译完成后, 运行 cd sudogedit ~/.bashrc 在打开的文件末尾加入 export PYTHONPATH=/home/caffe-master/python:$PYTHONPA ...
- caffe matlab 借口怎么提取灰度图的 feature ? What happened if I mixed the color images with gray images together for training ?
1. caffe matlab 接口提供了提取feature的脚本,但是由于中间要对这些图像进行RGB ---> BGR 的变换,卧槽,灰度图没有三通道啊?怎么破?从上午就在纠结怎么会跑着跑着程 ...
- Ubuntu16.04 14.04 配置caffe(CPU only)
1.安装依赖 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-seria ...
- Caffe搭建:常见问题解决办法和ubuntu使用中遇到问题(持续更新)
严正声明: 在linux下面使用命令行操作时,一定要懂得命令行的意思,然后再执行,要不然在不知道接下来会发生什么的情况下输入一通命令,linux很有可能崩掉. 因为在linux下面,使用sudo以及r ...
- [环境配置]Ubuntu 16.04+CUDA 9.0+OpenCV 3.2.0下编译基于Caffe的MobileNet-SSD踩过的一些坑
SSD是Caffe的一个分支,源码在github上:https://github.com/weiliu89/caffe/tree/ssd $ git clone https://github.com/ ...
- Caffe使用step by step:r-cnn目标检测代码
深度学习算法火起来之后,基于深度学习各种模型都如雨后春笋一般在各个领域广泛应用. 由于想把深度学习算法应用在在视频目标检测方向,得到一个较好的结果.由于视频数据的复杂性,因此使用深度学习算法在视频中的 ...
随机推荐
- Disabling default console handler in Java Logger by codes
The open source packages usu. relies on log4j or Java Logger to print logs, by default the console h ...
- 在线教学、视频会议 Webus Fox(1)文本、语音、视频聊天及电子白板基本用法
Webus Fox是基于网页的在线教学.视频会议软件,不用安装,直接使用.它提供文本.语音.视频聊天,文件共享.电子白板等功能. 1. 登录 访问 http://flash.webus.cn/#,用自 ...
- 我的ORM之七-- 权限
我的ORM索引 权限范围 权限可以控制以下部分: 页面 按钮 表格列 (未完成) 菜单表的行 其中: 页面权限,需要在程序请求之前进行判断. 按钮权限,表格列权限,需要在请求页面之后,通过JavaSc ...
- 【Bugly干货】关于 Android N 那些你不知道的事儿
今年3月,Google 破天荒提前半年发布了 Android N 开发者预览版.当然,作为一个不合格的谷粉并没有第一时间体验安装,因为至今仍然能够回忆起来去年今日此门中(雾)兴冲冲刷了 Android ...
- 【星路演】DeviceOne:跨平台APP开发平台
视频 DeviceOne是一个跨Android.IOS.Windows三个平台的一个PAAS平台,主要是提供给开发者一个节省70%的成本一个开发. 我们原来想做一个APP,我们会去找三个平台的原生人员 ...
- leveldb源码学习系列
楼主从2014年7月份开始学习<>,由于书籍比较抽象,为了加深思考,同时开始了Google leveldb的源码学习,主要是想学习leveldb的设计思想和Google的C++编程规范.目 ...
- [异常解决] MPU6050启动异常读出陀螺仪和加速度计的值全为0的解决办法
在调试一个自己做的手环,每次用keil烧写好程序运行的蓝牙.陀螺仪都是正常的.但是掉电再上电之后蓝牙是好的.陀螺仪可以读出ID但是读出的加速度和角速度数据全为0. 下面是发生问题时main函数的前面部 ...
- AWS助理架构师样题解析
AWS 认证是对其在 AWS 平台上设计.部署和管理应用程序所需的技能和技术知识的一种认可.获得证书有助于证明您使用 AWS 的丰富经验和可信度,同时还能提升您所在的组织熟练使用基于 AWS 云服务应 ...
- underscore源码阅读记录(二)
引自underscore.js context参数用法 _.each(list, iteratee, [context]); context为上下文,如果传递了context参数,则把iterator ...
- UISwitch
UISwitch *noticeSwtich = [[UISwitch alloc] initWithFrame:CGRectMake(0, 0, 51, 31)]; // noticeSwtich. ...