windows中caffe中alexnet模型可能会遇到的问题
2017-03-13 10:49
253 查看
在windows版本下,caffe中好多脚本是linux版本下的,很多时候需要我们自己改成windows下批处理脚本。
那么在alexnet会遇到那些问题呢?我总结下我遇到的问题:
1.首先是数据ilsvrc2012下载问题,训练数据有138G,而验证集有6个G,测试集有12G,如此大的数据,一般的电脑是带不动的,也包括我的电脑,所以我只选择了30类数据来训练,这个时候问题就来了,你只选择了一点数据来训练,那么图像标签怎模板?因为我们用脚本下载下来的图像标签是所有图像的标签,如果我们用所有数据来训练,这个时候就会出现错误could not open or find file,那是因为标签里好多图片都没有,所以会出现这个问题,解决办法:自己做个标签(一行只有路径和标签,要换行),这个时候又会遇到一个问题,图像路径和标签之间用空格分开,而标签后面不能有有任何空格或则\t,那我就自己写个程序,访问文件的内容,把文件内容改成上面的形式(图像路径和标签之间用空格分开,而标签后面不能有有任何空格或则\t)。
2.如果你把刚才做的标签放进去训练,你会看到意想不到的结果,他会认为整个标签只有一张图片路径,这个是怎么回事呢?明明格式跟他一样!其实,我们错了,不信的话,你可以把他原来的标签和你自己做的标签放导入到到excel,你会发现原来的标签excel可以将他们分开,并且换行,而我们自己做的标签则excel分不开,那是什么原因呢? 据我个人认为:应该是标签和下一个路径之间加入了我们看不到的字符,表面上看他们是在一起的,但程序可以将他们分开,例子:原来图片标签:n0146700101.jpeg 0n0146700102.jpeg
0,你可以看到这个例子有两张图片(n0146700101.jpeg n0146700102.jpeg)及标签(0 0),你可以看到标签0和n0146700102.jpeg连在一起,程序可以将他们分开,但如果我们自己做个标签如上面所示,你会发现程序识别不了,这个是什么原因呢?个人见解是0和n0146700102.jpeg 加入我们看不到的字符,使得程序可以将他们分开,但我们自己做的标签没有。 具体是啥字符,我个人还不知道,如果你知道,请回复我,谢谢!
解决办法:在原来的标签基础上删减。最好是顺序选用。(训练,验证,测试标签都是如此)
3.在解决完标签问题后,后面在create make_imagenet_mean 一般不会遇到问题,如果出现问题;可能是你的路径不对。至少目前我没遇到问题。但前面那个问题我想了好多天怎么去解决?请见谅能力有限。如果你有方法解决,请告诉我们,让大家以后少走点弯路,节约点时间。
这个问题已解决: 就是加入十六进制的0D和0A,中文名叫:换行键,即"\n".其实也不需要那样,直接写个程序,在标签后面加入换行就行,但是自己手动换行不行。
忘记上传自己的代码了。
我的代码如下:
#include<fstream>
#include<string>
#include<iostream>
using namespace std;
void main()
{
ifstream infile("F:\\caffe-master\\data\\ilsvrc12\\val2.txt", ios::in);
ofstream outfile("F:\\caffe-master\\data\\ilsvrc12\\val3.txt", ios::out);
char a[500];
int count =1;
while (!infile.eof())
{
if (count % 2 != 0)
{
infile >> a;
outfile <<a<<" ";
}
else
{
infile >> a;
outfile <<a;
outfile << "\n";
}
count++;
}
infile.close();
outfile.close();
}
这个程序是在vs2013下执行的。
那么在alexnet会遇到那些问题呢?我总结下我遇到的问题:
1.首先是数据ilsvrc2012下载问题,训练数据有138G,而验证集有6个G,测试集有12G,如此大的数据,一般的电脑是带不动的,也包括我的电脑,所以我只选择了30类数据来训练,这个时候问题就来了,你只选择了一点数据来训练,那么图像标签怎模板?因为我们用脚本下载下来的图像标签是所有图像的标签,如果我们用所有数据来训练,这个时候就会出现错误could not open or find file,那是因为标签里好多图片都没有,所以会出现这个问题,解决办法:自己做个标签(一行只有路径和标签,要换行),这个时候又会遇到一个问题,图像路径和标签之间用空格分开,而标签后面不能有有任何空格或则\t,那我就自己写个程序,访问文件的内容,把文件内容改成上面的形式(图像路径和标签之间用空格分开,而标签后面不能有有任何空格或则\t)。
2.如果你把刚才做的标签放进去训练,你会看到意想不到的结果,他会认为整个标签只有一张图片路径,这个是怎么回事呢?明明格式跟他一样!其实,我们错了,不信的话,你可以把他原来的标签和你自己做的标签放导入到到excel,你会发现原来的标签excel可以将他们分开,并且换行,而我们自己做的标签则excel分不开,那是什么原因呢? 据我个人认为:应该是标签和下一个路径之间加入了我们看不到的字符,表面上看他们是在一起的,但程序可以将他们分开,例子:原来图片标签:n0146700101.jpeg 0n0146700102.jpeg
0,你可以看到这个例子有两张图片(n0146700101.jpeg n0146700102.jpeg)及标签(0 0),你可以看到标签0和n0146700102.jpeg连在一起,程序可以将他们分开,但如果我们自己做个标签如上面所示,你会发现程序识别不了,这个是什么原因呢?个人见解是0和n0146700102.jpeg 加入我们看不到的字符,使得程序可以将他们分开,但我们自己做的标签没有。 具体是啥字符,我个人还不知道,如果你知道,请回复我,谢谢!
解决办法:在原来的标签基础上删减。最好是顺序选用。(训练,验证,测试标签都是如此)
3.在解决完标签问题后,后面在create make_imagenet_mean 一般不会遇到问题,如果出现问题;可能是你的路径不对。至少目前我没遇到问题。但前面那个问题我想了好多天怎么去解决?请见谅能力有限。如果你有方法解决,请告诉我们,让大家以后少走点弯路,节约点时间。
这个问题已解决: 就是加入十六进制的0D和0A,中文名叫:换行键,即"\n".其实也不需要那样,直接写个程序,在标签后面加入换行就行,但是自己手动换行不行。
忘记上传自己的代码了。
我的代码如下:
#include<fstream>
#include<string>
#include<iostream>
using namespace std;
void main()
{
ifstream infile("F:\\caffe-master\\data\\ilsvrc12\\val2.txt", ios::in);
ofstream outfile("F:\\caffe-master\\data\\ilsvrc12\\val3.txt", ios::out);
char a[500];
int count =1;
while (!infile.eof())
{
if (count % 2 != 0)
{
infile >> a;
outfile <<a<<" ";
}
else
{
infile >> a;
outfile <<a;
outfile << "\n";
}
count++;
}
infile.close();
outfile.close();
}
这个程序是在vs2013下执行的。
相关文章推荐
- windows下用caffe加载二进制模型(linux下训练)的问题
- windows 2003 IIS 发布 WCF + Silverlight 发布过程可能会遇到几个问题的解决方法
- Caffe训练AlexNet网络模型——问题一
- caffe模型微调时遇到的问题
- Struts中模型驱动与属性驱动共同使用可能会遇到的问题
- windows系统下配置caffe的matlab接口所遇到的问题
- 【caffe】caffenet在windows下训练以及遇到的一系列问题——【caffe学习二】
- caffe小问题汇总(持续更新) PS:所有问题均在caffe-windows下产生 1、为什么AlexNet中,InnerProduct_Layer(fc8)层的输出可以直接作为Accuracy
- Caffe训练AlexNet网络模型——问题三
- windows系统下配置caffe的matlab接口所遇到的问题
- windows下训练FCN模型所遇到的问题
- 【caffe】googlenet在windows下训练以及遇到的一系列问题——【caffe学习四】
- 在windows web server 2008 R2中安装Arcgis时可能会遇到的问题
- Caffe训练AlexNet网络模型——问题二
- windows系统下配置caffe的matlab接口所遇到的问题
- windows系统下配置caffe的matlab接口所遇到的问题
- Caffe-Windows下遇到过的问题、技巧、解决方案
- windows系统下配置caffe的matlab接口所遇到的问题
- windows系统下配置caffe的matlab接口所遇到的问题
- caffe Windows和caffe windows master遇到的问题