#03 mnist loader

在下手开始正式的工作之前, 先要有数据, 这里用非常著名的手写识别库

http://yann.lecun.com/exdb/mnist/

文件格式在官网上有详细说明, 非常简单, 因此不说太多废话, 迅速搞出来

当然, 作为一个用着mac却不喜欢gui的人, 输出bmp显然要用AA

一个例子:




下面是代码, 我不太希望程序太复杂, 可能的话最好是low and dirty. 

module mnist;

import std.stdio, std.bitmanip;

struct labelHead{
	uint magic;
	uint items;
}

template swap(T){
	T[] to(ubyte[] from){
		T[] b;
		assert(from.length%T.sizeof == 0);
		for (uint i=0;i


主程序

import std.stdio, mnist, std.conv;


void main(string arg[]){
	if (arg.length < 2) return;
	auto label = loadLabel("t10k-labels-idx1-ubyte");
	auto img = loadImage("t10k-images-idx3-ubyte");
	foreach(a;arg[1..$]){
		auto index = to!int(a);
		assert(index>0&&index


你可能感兴趣的:(machine,learning)