| 79 | self.wfile.write(bytes(f"Unhandled path: {self.path}", "utf-8")) |
| 80 | |
| 81 | class TestKaggleModuleResolver(unittest.TestCase): |
| 82 | def test_kaggle_resolver_long_url_succeeds(self): |
| 83 | model_url = "https://kaggle.com/models/foo/foomodule/frameworks/TensorFlow2/variations/barvar/versions/2" |
| 84 | with create_test_server(KaggleJwtHandler) as addr: |
| 85 | test_inputs = tf.ones([1,4]) |
| 86 | layer = hub.KerasLayer(model_url) |
| 87 | self.assertEqual([1, 1], layer(test_inputs).shape) |
| 88 | # Delete the files that were created in KaggleJwtHandler's do_POST method |
| 89 | os.unlink(os.path.join(MOUNT_PATH, "foomodule/tensorflow2/barvar/2")) |
| 90 | os.rmdir(os.path.dirname(os.path.join(MOUNT_PATH, "foomodule/tensorflow2/barvar/2"))) |
| 91 | |
| 92 | def test_kaggle_resolver_short_url_succeeds(self): |
| 93 | model_url = "https://kaggle.com/models/foo/foomodule/TensorFlow2/barvar/2" |
| 94 | with create_test_server(KaggleJwtHandler) as addr: |
| 95 | test_inputs = tf.ones([1,4]) |
| 96 | layer = hub.KerasLayer(model_url) |
| 97 | self.assertEqual([1, 1], layer(test_inputs).shape) |
| 98 | # Delete the files that were created in KaggleJwtHandler's do_POST method |
| 99 | os.unlink(os.path.join(MOUNT_PATH, "foomodule/tensorflow2/barvar/2")) |
| 100 | os.rmdir(os.path.dirname(os.path.join(MOUNT_PATH, "foomodule/tensorflow2/barvar/2"))) |
| 101 | |
| 102 | def test_kaggle_resolver_not_attached_throws(self): |
| 103 | with create_test_server(KaggleJwtHandler) as addr: |
| 104 | with self.assertRaises(BackendError): |
| 105 | hub.KerasLayer("https://kaggle.com/models/foo/unknown/frameworks/TensorFlow2/variations/barvar/versions/2") |
| 106 | |
| 107 | def test_http_resolver_succeeds(self): |
| 108 | with create_test_server(HubHTTPHandler) as addr: |
| 109 | test_inputs = tf.ones([1,4]) |
| 110 | layer = hub.KerasLayer(f'{addr}/model.tar.gz') |
| 111 | self.assertEqual([1, 1], layer(test_inputs).shape) |
| 112 | |
| 113 | def test_local_path_resolver_succeeds(self): |
| 114 | test_inputs = tf.ones([1,4]) |
| 115 | layer = hub.KerasLayer('/input/tests/data/saved_model') |
| 116 | |
| 117 | self.assertEqual([1, 1], layer(test_inputs).shape) |
nothing calls this directly
no outgoing calls
no test coverage detected