MachineIntelligenceCore:NeuralNets
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros
mnist_conv_hebbian.cpp File Reference

Program for visualization of hebbian formed filters trained on MNIST digits. : Alexis Asseman alexi.nosp@m.s.as.nosp@m.seman.nosp@m.@ibm.nosp@m..com, Tomasz Kornuta tkorn.nosp@m.ut@u.nosp@m.s.ibm.nosp@m..com : June 8, 2017. More...

#include <boost/thread/thread.hpp>
#include <boost/bind.hpp>
#include <importers/MNISTMatrixImporter.hpp>
#include <logger/Log.hpp>
#include <logger/ConsoleOutput.hpp>
#include <application/ApplicationState.hpp>
#include <configuration/ParameterServer.hpp>
#include <opengl/visualization/WindowManager.hpp>
#include <opengl/visualization/WindowGrayscaleBatch.hpp>
#include <opengl/visualization/WindowCollectorChart.hpp>
#include <mlnn/HebbianNeuralNetwork.hpp>
#include <encoders/ColMatrixEncoder.hpp>
#include <encoders/UIntMatrixEncoder.hpp>
#include <mlnn/experimental/ConvHebbian.hpp>
Include dependency graph for mnist_conv_hebbian.cpp:

Go to the source code of this file.

Functions

void batch_function (void)
 Function for batch sampling. More...
 
int main (int argc, char *argv[])
 Main program function. Runs two threads: main (for GLUT) and another one (for data processing). More...
 

Variables

WindowGrayscaleBatch< double > * w_input
 Window for displaying the MNIST batch. More...
 
WindowGrayscaleBatch< double > * w_weights1
 Window for displaying the weights. More...
 
WindowGrayscaleBatch< double > * w_output
 
WindowGrayscaleBatch< double > * w_reconstruction
 
WindowGrayscaleBatch< double > * w_similarity
 
WindowCollectorChart< double > * w_chart
 Data collector. More...
 
mic::utils::DataCollectorPtr
< std::string, double > 
collector_ptr
 
mic::importers::MNISTMatrixImporter
< double > * 
importer
 MNIST importer. More...
 
HebbianNeuralNetwork< double > neural_net
 Multi-layer neural network. More...
 
mic::encoders::ColMatrixEncoder
< double > * 
mnist_encoder
 MNIST matrix encoder. More...
 
const size_t patch_size = 28
 Label 2 matrix encoder (1 hot). More...
 
const size_t batch_size = 1
 
const size_t input_channels = 1
 
const size_t filter_size [] = {5}
 
const size_t filters [] = {16}
 
const size_t stride [] = {1}
 

Detailed Description

Program for visualization of hebbian formed filters trained on MNIST digits. : Alexis Asseman alexi.nosp@m.s.as.nosp@m.seman.nosp@m.@ibm.nosp@m..com, Tomasz Kornuta tkorn.nosp@m.ut@u.nosp@m.s.ibm.nosp@m..com : June 8, 2017.

Copyright (C) tkornuta, IBM Corporation 2015-2019

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright (c) 2017, Alexis Asseman, Tomasz Kornuta, IBM Corporation. All rights reserved.

Definition in file mnist_conv_hebbian.cpp.

Function Documentation

void batch_function ( void  )

Function for batch sampling.

Author
tkornuta

Definition at line 91 of file mnist_conv_hebbian.cpp.

References collector_ptr, filter_size, filters, importer, input_channels, mnist_encoder, neural_net, patch_size, stride, w_input, w_output, w_reconstruction, w_similarity, and w_weights1.

Referenced by main().

int main ( int  argc,
char *  argv[] 
)

Main program function. Runs two threads: main (for GLUT) and another one (for data processing).

Author
tkornuta
Parameters
[in]argcNumber of parameters (passed to glManaged).
[in]argvList of parameters (passed to glManaged).
Returns
(not used)

Definition at line 166 of file mnist_conv_hebbian.cpp.

References batch_function(), batch_size, collector_ptr, importer, mnist_encoder, patch_size, w_chart, w_input, w_output, w_reconstruction, w_similarity, and w_weights1.

Here is the call graph for this function:

Variable Documentation

const size_t batch_size = 1

Definition at line 80 of file mnist_conv_hebbian.cpp.

Referenced by main().

mic::utils::DataCollectorPtr<std::string, double> collector_ptr

Definition at line 67 of file mnist_conv_hebbian.cpp.

Referenced by batch_function(), and main().

const size_t filter_size[] = {5}

Definition at line 82 of file mnist_conv_hebbian.cpp.

Referenced by batch_function().

const size_t filters[] = {16}

Definition at line 83 of file mnist_conv_hebbian.cpp.

Referenced by batch_function().

mic::importers::MNISTMatrixImporter<double>* importer

MNIST importer.

Definition at line 70 of file mnist_conv_hebbian.cpp.

Referenced by batch_function(), and main().

const size_t input_channels = 1

Definition at line 81 of file mnist_conv_hebbian.cpp.

Referenced by batch_function().

mic::encoders::ColMatrixEncoder<double>* mnist_encoder

MNIST matrix encoder.

Definition at line 75 of file mnist_conv_hebbian.cpp.

Referenced by batch_function(), and main().

HebbianNeuralNetwork<double> neural_net

Multi-layer neural network.

Definition at line 72 of file mnist_conv_hebbian.cpp.

Referenced by batch_function().

const size_t patch_size = 28

Label 2 matrix encoder (1 hot).

Definition at line 79 of file mnist_conv_hebbian.cpp.

Referenced by batch_function(), and main().

const size_t stride[] = {1}

Definition at line 84 of file mnist_conv_hebbian.cpp.

Referenced by batch_function().

WindowCollectorChart<double>* w_chart

Data collector.

Definition at line 66 of file mnist_conv_hebbian.cpp.

Referenced by main().

WindowGrayscaleBatch<double>* w_input

Window for displaying the MNIST batch.

Definition at line 57 of file mnist_conv_hebbian.cpp.

Referenced by batch_function(), and main().

WindowGrayscaleBatch<double>* w_output

Definition at line 61 of file mnist_conv_hebbian.cpp.

Referenced by batch_function(), and main().

WindowGrayscaleBatch<double>* w_reconstruction

Definition at line 62 of file mnist_conv_hebbian.cpp.

Referenced by batch_function(), and main().

WindowGrayscaleBatch<double>* w_similarity

Definition at line 63 of file mnist_conv_hebbian.cpp.

Referenced by batch_function(), and main().

WindowGrayscaleBatch<double>* w_weights1

Window for displaying the weights.

Definition at line 59 of file mnist_conv_hebbian.cpp.

Referenced by batch_function(), and main().