'Uniform(low=-1/sqrt(fan_out), high=1/sqrt(fan_out))', 'Normal(sigma=1, mu=0)', 'Normal(sigma=1/sqrt(fan_out), mu=0)', ] statistics = [] for initializer in initializers: layers = [ MaxPool(size=2, stride=2), Convolution((8, 3, 3, 3), stride=1, padding=1, dropout_rate=0, activation=activation.tanh, weight_initializer=initializer[0]), MaxPool(size=2, stride=2), Convolution((16, 8, 3, 3), stride=1, padding=1, dropout_rate=0, activation=activation.tanh, weight_initializer=initializer[1]), MaxPool(size=2, stride=2), Convolution((32, 16, 3, 3), stride=1, padding=1, dropout_rate=0, activation=activation.tanh, weight_initializer=initializer[2]), MaxPool(size=2, stride=2), ConvToFullyConnected(), FullyConnected(size=64, activation=activation.tanh), FullyConnected(size=10, activation=None, last_layer=True) ] model = Model( layers=layers, num_classes=10, optimizer=GDMomentumOptimizer(lr=1e-3, mu=0.9), ) print("\n\n------------------------------------") print("Initialize: {}".format(initializer)) print("\nRun training:\n------------------------------------")
from network import activation from network.layers.conv_to_fully_connected import ConvToFullyConnected from network.layers.fully_connected import FullyConnected from network.model import Model from network.optimizer import GDMomentumOptimizer if __name__ == '__main__': """ """ freeze_support() num_iteration = 20 data = dataset.cifar10_dataset.load() layers = [ ConvToFullyConnected(), FullyConnected(size=1000, activation=activation.tanh), FullyConnected(size=10, activation=None, last_layer=True) ] # ------------------------------------------------------- # Train with BP # ------------------------------------------------------- model = Model( layers=layers, num_classes=10, optimizer=GDMomentumOptimizer(lr=1e-3, mu=0.9), ) print("\nRun training:\n------------------------------------")