On Wed, Dec 31, 2014 at 9:29 PM, Hugh Perkins <hughperk...@gmail.com> wrote:
> I started building a convolution network library for OpenCL at > https://github.com/hughperkins/ClConvolve/ > Apparently building a convolutional neural network library is non-trivial :-P Anyway, I got up to 99.55% on mnist, and started looking at handling kgsgo: - created v2 kgsgo preprocessor at https://github.com/hughperkins/kgsgo-dataset-preprocessor - bit more generic than first version - has a header, with number of planes, image size etc - doesnt store the all-1s planes :-P - clconvolve now has a loader for this more-generic format - capable of loading chunks of the data on-demand, during loading, rather than trying to load everything in in one go :-) - has now many of the traditional cnn features: max-pooling, convolutional layers, fully-connected layers, zero-padding, normalization layer, random translations layer, random crop layer, multi-column/multi-net, weights persistence ... - finally, started to get a signal, on the kgsgo data :-) Not a very strong signal, but a signal :-) : ~/git/ClConvolve/build$ ./clconvolve1 dataset=kgsgo numtrain=100000 numtest=10000 netdef=8c5{z}-mp2-16c5{z}-mp3-500n-361n loadondemand=1 [...snip ...] Using NVIDIA Corporation platform: NVIDIA CUDA Using device: GRID K520 layer 0:InputLayer<unsigned char>{ outputPlanes 7 outputBoardSize 19 } layer 1:NormalizationLayer { outputPlanes=7 outputBoardSize=19 translate=-12.3231 scale=0.00914321 } layer 2:ConvolutionalLayer{ LayerDimensions{ inputPlanes=7 inputBoardSize=19 numFilters=8 filterSize=5 outputBoardSize=19 padZeros=1 biased=1 skip=0} RELU } layer 3:PoolingLayer{ inputPlanes=8 inputBoardSize=19 poolingSize=2 } layer 4:ConvolutionalLayer{ LayerDimensions{ inputPlanes=8 inputBoardSize=9 numFilters=16 filterSize=5 outputBoardSize=9 padZeros=1 biased=1 skip=0} RELU } layer 5:PoolingLayer{ inputPlanes=16 inputBoardSize=9 poolingSize=3 } layer 6:FullyConnectedLayer{ numPlanes=500 boardSize=1 TANH } layer 7:FullyConnectedLayer{ numPlanes=361 boardSize=1 LINEAR } layer 8:SoftMaxLayer{ perPlane=0 numPlanes=361 boardSize=1 } [...snip...] after epoch 1 126554 ms annealed learning rate: 0.002 training loss: 571665 train accuracy: 604/100000 0.604% test accuracy: 101/10000 1.01% after tests 1419 ms wrote weights to file, filesize 1011KB dumpTimings 0 [... snip ...] after epoch 10 126530 ms annealed learning rate: 0.002 training loss: 499880 train accuracy: 4763/100000 4.763% test accuracy: 364/10000 3.64% after tests 1414 ms wrote weights to file, filesize 1011KB dumpTimings 0
_______________________________________________ Computer-go mailing list Computer-go@computer-go.org http://computer-go.org/mailman/listinfo/computer-go