【归纳】win7下caffe环境搭建与测试
来源:互联网 发布:万网域名续费多少钱 编辑:程序博客网 时间:2024/06/06 09:34
前言
由于想自学深度学习,开始着手搭建caffe,先在windows下搭建熟悉一下。结果搞了一天的caffe环境搭建,这里仅是将前人的博客做以记录,以备自己日后想用时不必再东找西找。
过程
这篇博客主要是首先对大概有个了解,对准备工作进行了解
这篇博客和这篇博客是我主要借鉴的博客,按照他的步骤绝对能成功(不过他没有使能python和matlab接口)
caffe搭建成功后利用mnist数据集进行测试,上篇博客说可以借鉴这篇博客,不过我借鉴它并没有成功,我借鉴了这一篇。
其中数据集向lmdb转换仍借鉴这篇博客中,
在测试时仍发生很多问题,其中有一个问题是我的caffe\Build\x64文件夹下没有release,只有debug,这个目前还未研究为啥,反正我在测试时将路径release都改成了debug,测试成功。
总结
在caffe搭建并测试成功后,对于我这枚小白仍不懂得里面的具体,毕竟深度学习如此火热,也不是一朝一夕就能运用自如,希望自己能够不断地学习下去。
补充
补充一个无意中看到的把在官网上下载的mnist测试集的二进制数据转换成图片显示出来的代码,其中mnist数据集下载地址:
http://yann.lecun.com/exdb/mnist/
代码:#include <iostream> #include <fstream> #include <opencv2/core/core.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/highgui/highgui.hpp> using namespace cv; using namespace std; int main() { string train_test_image[2] = { "train-images.idx3-ubyte", "t10k-images.idx3-ubyte" }; string train_test_label[2] = { "train-labels.idx1-ubyte","t10k-labels.idx1-ubyte" }; int label_num[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; string dir[2] = {"./train/","./test/"}; for (int iter = 0; iter < 2;iter++) { //读取label ifstream fin_label(train_test_label[iter], ios::binary); vector<int> label; int magic_number; fin_label.read((char *)(&magic_number), sizeof(magic_number)); int number_items; fin_label.read((char *)(&number_items), sizeof(number_items)); while (!fin_label.eof()) { char label_tmp; fin_label.read((char *)&label_tmp, sizeof(label_tmp)); label.push_back(label_tmp); } //读取图片 vector<Mat> image; int width = 28, height = 28; ifstream fin_image(train_test_image[iter], ios::binary); int magic_number1; fin_image.read((char *)(&magic_number1), sizeof(magic_number1)); int number_images; fin_image.read((char *)(&number_images), sizeof(number_images)); int num_rows; fin_image.read((char *)(&num_rows), sizeof(num_rows)); int num_columns; fin_image.read((char *)(&num_columns), sizeof(num_columns)); while (!fin_image.eof()) { unsigned char tmp; Mat image_tmp(width, height, CV_8UC1); for (int r = 0; r < image_tmp.rows; r++) { for (int c = 0; c < image_tmp.cols; c++) { fin_image.read((char *)&tmp, sizeof(tmp)); image_tmp.at<uchar>(r, c) = tmp; } } image.push_back(image_tmp); } for (int i = 0; i < label.size();i++) { char clabel[10]; sprintf_s(clabel, "%d",label[i]); string slabel = clabel; char clabel_num[10]; sprintf_s(clabel_num, "%d", label_num[label[i]]); string slabel_num = clabel_num; string name = dir[iter] + slabel + "_" + slabel_num + ".jpg"; imwrite(name, image[i]); label_num[label[i]]++; } } return 0; }
注:在当前cpp文件下应有两个文件夹,分别命名为train和test
成功后效果如下:
代码转自http://blog.csdn.net/qq_14845119/article/details/54895200
最后给出VS2013调用caffe新建自己的工程详细过程,http://blog.csdn.net/auto1993/article/details/70198435
- 【归纳】win7下caffe环境搭建与测试
- Caffe下环境搭建
- Cocos2d-x-3.0在win7下的Android环境搭建与运行测试项目
- mac下搭建caffe环境
- Centos下Caffe环境搭建
- Robotium__xp/win7搭建测试环境
- Android测试环境搭建(win7)
- Android 测试环境搭建(Win7)
- Android测试环境搭建(win7)
- Win7(64位)+VS2013+cuda7.5环境下搭建深度学习Caffe计算框架
- win7下caffe环境安装过程
- Win7下DVWA渗透测试平台的搭建与安装
- solr4.7 环境搭建与运行(Win7下)
- Win7下搭建WAMP环境
- Win7下搭建WAMP环境
- win7下ndk环境搭建
- win7下搭建openvpn环境
- Win7下Spark环境搭建
- Linux sed查看某时间段的系统日志
- java线程池概述
- JAVA中循环删除list中元素的方法总结
- 一屏展示多个li轮播设置demo
- swing 实现用户注册界面
- 【归纳】win7下caffe环境搭建与测试
- 我自己找的央视以及各大卫视的直播源(亲测可用)
- 正则化方法:L1和L2 regularization、数据集扩增、dropout
- Servlet生命周期
- Android TextView设置图片的大小
- 分布式事务--补偿模式+Mq/TCC
- 练习项目 一款新闻app的开发 (二) : 新闻首页开发(整体UI架构)
- ubuntu16.04 tensorflow-gpu版本安装好后,简单的检测代码
- springBoot 多环境执行部署方式