码迷,mamicode.com
首页 > 其他好文 > 详细

[Exercise]用softmax Regression测试MNIST数据集

时间:2015-06-21 18:29:51      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

MNIST是一套对手写数字进行识别的数据集:http://yann.lecun.com/exdb/mnist/

MNIST的数据结构官网上已给出,挺奇葩的-.-,所以第一件事是把数据整理出来

我写了个脚本帮我整理,输出的是一坨文本文件,

【其中image是用灰度矩阵表示,每个像素1字节,每张图28x28 pixels

技术分享
 1 #include <iostream>
 2 #include <cstring>
 3 #include <cstdio>
 4 #include <cstdlib>
 5 using namespace std;
 6 string st;
 7 int tx,ty,ans,nm;
 8 
 9 int toshi(char x)
10 {
11     int tmp;
12     if(x<=9)  tmp=x-0;
13     else        tmp=x-a+10;
14     return tmp;
15 }
16 
17 int main()      //image
18 {
19     freopen("testimages.txt","r",stdin);
20 
21     for (int IM=1;IM<=10010;IM++)
22     {
23         char fn[50]="";
24         itoa(IM,fn,10);
25         freopen(fn,"w",stdout);
26         nm=0;
27         cout<<"[";
28         for(int CC=1;CC<=392;CC++)      //28*28/2
29         {
30             cin>>st;
31             ty=toshi(st[0]);
32             tx=toshi(st[1]);
33             ans=ty*16+tx;
34             if(nm%28==0)    cout<<"[";
35             nm++;
36             cout<<ans;
37             if(nm%28!=0)  cout<<",";
38             if(nm%28==0)    if(nm%784==0)     cout<<"]";  else cout<<"];";
39 
40             ty=toshi(st[2]);
41             tx=toshi(st[3]);
42             ans=ty*16+tx;
43             if(nm%28==0)    cout<<"[";
44             nm++;
45             cout<<ans;
46             if(nm%28!=0)  cout<<",";
47             if(nm%28==0)    if(nm%784==0)     cout<<"]";  else cout<<"];";
48         }
49         cout<<"]";
50     }
51 
52 
53     return 0;
54 }
55 
56 
57 
58 /*
59 int main()      //label
60 {
61     freopen("testlabel.txt","r",stdin);
62     //freopen("23333.out","w",stdout);
63 
64     for (int IM=1;IM<=10000;IM+=2)
65     {
66         char fn[50]="";
67         itoa(IM,fn,10);
68         freopen(fn,"w",stdout);
69         cin>>st;
70         ty=toshi(st[0]);
71         tx=toshi(st[1]);
72         ans=ty*16+tx;
73         cout<<ans<<" ";
74 
75         itoa(IM+1,fn,10);
76         freopen(fn,"w",stdout);
77         ty=toshi(st[2]);
78         tx=toshi(st[3]);
79         ans=ty*16+tx;
80         cout<<ans<<" ";
81     }
82 
83 
84     return 0;
85 }
86 
87 */
View Code

两个int main()一个是给image用的一个是给label用的,需要时选其中一个,把另一个注释掉即可。

循环变量IM表示数据数量。traindata有60000组,testdata有10000组

 

[Exercise]用softmax Regression测试MNIST数据集

标签:

原文地址:http://www.cnblogs.com/pdev/p/4592211.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!