sample_dimension = training_set.get_value(borrow=True).shape[1] label_dimension = training_labels.get_value(borrow=True).shape[1] print_flush("... sample dimension %d" % sample_dimension) print_flush("... label dimension %d" % label_dimension) stacked_autoencoder = StackedAutoencoder(numpy_rng=numpy_rng, n_ins=sample_dimension, n_outs=label_dimension, hidden_layer_sizes=hidden_layer_sizes, tied_weights=tied_weights, sigmoid_compressions=sigmoid_compressions, sigmoid_reconstructions=sigmoid_reconstructions, supervised_sigmoid_activation=supervised_sigmoid_activation) print_flush("... getting the pre-training functions") pretraining_fns = stacked_autoencoder.pretraining_functions(training_set=training_set, batch_size=batch_size) if ENABLE_FINE_TUNING: print_flush("... getting the fine-tune function") if fine_tune_supervised: finetune_fn, validate_model = stacked_autoencoder.finetune_functions(training_set=training_set, training_labels=training_labels, test_set=test_set, test_labels=test_labels, batch_size=batch_size, learning_rate=fine_tune_learning_rate) else: finetune_fn, validate_model = stacked_autoencoder.finetune_functions_unsupervised(training_set=training_set, test_set=test_set, batch_size=batch_size, learning_rate=fine_tune_learning_rate)