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
예제 #3
0
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()
예제 #4
0
# 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()
예제 #5
0
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()