def test_get_incremental_score(self): test_cases = [ # scores to be returned in order by mock of model.score np.array( [0, 0, 0.5, 0.3, 0.8, 0.6, 0.9, 0.7, 1, 0.8, 1, 0.9, 1, 1]), np.array([0, 144, 222, -0.29, 1, 1]) ] for scores in test_cases: model = RNNModel(3, 8, num_epochs=int(len(scores) / 2)) model.score = MagicMock() model.score.side_effect = scores model.spawn_clf = MagicMock() # mock tensorflow network attributes model.sess = MagicMock() model.sess.run = MagicMock() model.opt = MagicMock() model.x = MagicMock() model.y = MagicMock() model.sequence_lengths = MagicMock() preprocess.up_sample = MagicMock() # none of the inputs are actually used due to mocking so just give dummy inputs train_scores, test_scores = model.incremental_score( [], [], [], [], train_sequence_lengths=[], test_sequence_lengths=[]) self.assertListEqual( train_scores, list(scores[[i for i in range(0, len(scores), 2)]])) self.assertListEqual( test_scores, list(scores[[i for i in range(1, len(scores), 2)]]))
""" This program creates the log files necessary for TensorBoard to visualise the architecture. It provides code for changing the parameters of the model, the number of windows, number of features and number of classes. Different versions were experimented with to ensure the model worked properly In order to display the visualisation follow the steps below. The logfiles are stored in a folder called tmp in the directory containing this python file. 1 - Go to the terminal 2 - Use the tensorboard command to display the visualisation on a local server. If the path to the tmp directory created is path/to/tmp/ then run the following command - tensorboard --logdir=path/to/tmp/ --port 6006 3 - Open the following link in your browser - http://localhost:6006/ """ import sys, os sys.path.append(os.path.join(sys.path[0], "../..")) from analysis.rnn_model import RNNModel import settings settings.num_windows = settings.max_reading_length num_classes = 3 num_features = len(settings.used_sensors) * len( settings.used_sensor_attributes) * settings.num_windows clf_params = None model = RNNModel(num_classes, num_features, clf_params=clf_params) model.spawn_clf() model.write_graph_for_visualisation()