def test_ignores_exceptions() -> None: with unittest.mock.patch( "kerasltisubmission.LTIProvider.submit", autospec=True ) as mocked_submit: mocked_submit.side_effect = ValueError("Something went wrong") model = unittest.mock.MagicMock() Submission(user_token="12", assignment_id=2, model=model).submit()
def test_construction() -> None: with unittest.mock.patch("kerasltisubmission.LTIProvider", autospec=True) as mocked_provider: mock_provider = unittest.mock.MagicMock() mock_submit = unittest.mock.MagicMock() mock_provider.submit = mock_submit mocked_provider.return_value = mock_provider model = unittest.mock.MagicMock() Submission(user_token="12", assignment_id=2, model=model).submit() mocked_provider.assert_called_with( input_api_endpoint="http://localhost:8080", submission_api_endpoint="http://localhost:8080/submit", user_token="12", ) assert len(mock_submit.call_args_list) == 1 args, kwargs = mock_submit.call_args_list[0] assert args[0].assignment_id == 2 assert args[0].model == model
from tensorflow import keras from deeplearning2020 import Submission data = keras.datasets.mnist (train_images, train_labels), (test_images, test_labels) = data.load_data() train_images = train_images / 255.0 test_images = test_images / 255.0 total_classes = 10 train_vec_labels = keras.utils.to_categorical(train_labels, total_classes) test_vec_labels = keras.utils.to_categorical(test_labels, total_classes) model = keras.Sequential([ keras.layers.Flatten(input_shape=(28, 28)), keras.layers.Dense(128, activation="sigmoid"), keras.layers.Dense(10, activation="sigmoid"), ]) model.compile(optimizer="sgd", loss="mean_squared_error", metrics=["accuracy"]) model.fit(train_images, train_vec_labels, epochs=2, verbose=True) eval_loss, eval_accuracy = model.evaluate(test_images, test_vec_labels, verbose=False) print("Model accuracy: %.2f" % eval_accuracy) Submission(user_token="<your-token>", assignment_id=2, model=model).submit()
# 9 Ankle boot (train_images, train_label), (test_images, test_label) = fashion_mnist.load_data() train_images = train_images / 255 test_images = test_images / 255 total_classes = 10 train_label_vectorized = keras.utils.to_categorical(train_label, total_classes) test_label_vectorized = keras.utils.to_categorical(test_label, total_classes) model = keras.Sequential([ keras.layers.Flatten(input_shape=(28, 28)), # input keras.layers.Dense(128, activation='relu'), # hidden keras.layers.Dense(128, activation='relu'), # hidden keras.layers.Dense(total_classes, activation='sigmoid') # output ]) model.add(LeakyReLU(alpha=0.1)) model.compile(optimizer='sgd', loss='mean_squared_error', metrics=['accuracy']) model.fit(train_images, train_label_vectorized, epochs=40) eval_loss, eval_accuracy = model.evaluate(test_images, test_label_vectorized) print(eval_loss, eval_accuracy) Submission('a70a2614a4468a25eb66a1113c846e31', '2', model).submit()
from tensorflow import keras from deeplearning2020 import Submission data = keras.datasets.mnist (train_images, train_labels), (test_images, test_labels) = data.load_data() train_images = train_images / 255.0 test_images = test_images / 255.0 total_classes = 10 train_vec_labels = keras.utils.to_categorical(train_labels, total_classes) test_vec_labels = keras.utils.to_categorical(test_labels, total_classes) model = keras.Sequential([ keras.layers.Flatten(input_shape=(28, 28)), keras.layers.Dense(128, activation="sigmoid"), keras.layers.Dense(10, activation="sigmoid"), ]) model.compile(optimizer="sgd", loss="mean_squared_error", metrics=["accuracy"]) model.fit(train_images, train_vec_labels, epochs=2, verbose=True) eval_loss, eval_accuracy = model.evaluate(test_images, test_vec_labels, verbose=False) print("Model accuracy: %.2f" % eval_accuracy) Submission(user_token="637a0109-1d88-4afb-a759-8747ab991c2d", assignment_id=2, model=model).submit()