From 8d6dd7d3b03f49fe8397c5cbecbcb275872f6343 Mon Sep 17 00:00:00 2001 From: Connor Olding Date: Thu, 15 Mar 2018 01:26:28 +0100 Subject: [PATCH] split hashes to separate file --- mnists/__init__.py | 39 ++------------------------- mnists/hashes.py | 66 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 37 deletions(-) create mode 100644 mnists/hashes.py diff --git a/mnists/__init__.py b/mnists/__init__.py index 9920bd3..3b504e6 100644 --- a/mnists/__init__.py +++ b/mnists/__init__.py @@ -15,6 +15,8 @@ import struct import sys from urllib.request import urlretrieve +from .hashes import hashes + home = os.path.expanduser("~") output_directory = os.path.join(home, ".mnist") @@ -51,43 +53,6 @@ metadata = dict( ) -hash_data = """ -emnist/emnist-balanced-test-images-idx3-ubyte.gz 117fc12b015e37ea98bfb2cbba3f77c3782c056cdbd219b87abfc8661d7135db -emnist/emnist-balanced-test-labels-idx1-ubyte.gz a67cac948379b67270b9a4d0a01c8ec661598accf2f2b1964340b7c83cb175cd -emnist/emnist-balanced-train-images-idx3-ubyte.gz 74295e75e4e9fa2c102147460ee7eb763653d5132d883a84fb88932bfb8d2db4 -emnist/emnist-balanced-train-labels-idx1-ubyte.gz b46d41e5156a0a8aaaa4d18979fdd1588850fa8571018acffd5d93b325a7d6ed -emnist/emnist-byclass-test-images-idx3-ubyte.gz 5ec835bd5d5b1a66378a132e727fef20fe994b3cc666899befcca5ac766f50cd -emnist/emnist-byclass-test-labels-idx1-ubyte.gz 501e305eeeacb093b162592d80e8a2632040872360fa6d85cfcb2200d91ca92a -emnist/emnist-byclass-train-images-idx3-ubyte.gz 9e21987f03a6eb8b870187e785883ddad96947299587908f1a7ec2ca0f4be5f0 -emnist/emnist-byclass-train-labels-idx1-ubyte.gz f7ef403d48dc18a89dae0d83d11ee69cecb6e1c12c3a961d03712e495c02a8fa -emnist/emnist-bymerge-test-images-idx3-ubyte.gz 5e5815ec1b522089134435f7c55e75a00960b58414793593ffff23efc0821683 -emnist/emnist-bymerge-test-labels-idx1-ubyte.gz 8bda1516255683ba9071e141947ca0c91a911176065cdd6259b0b4d8dc5b5f35 -emnist/emnist-bymerge-train-images-idx3-ubyte.gz 39bf8c68037dad40db35348895f7e4e056e8c0a005ab78869c9fbc2c96e947be -emnist/emnist-bymerge-train-labels-idx1-ubyte.gz 2c47293b9e62d6abf6ad05fbf67e40baa32adfd380b8d7b44dcc35534b64e1f1 -emnist/emnist-digits-test-images-idx3-ubyte.gz 20ebe43509264f7639d37c835a3f0b009e90b29e00a099a03101abe1644a3f63 -emnist/emnist-digits-test-labels-idx1-ubyte.gz bad1834c45d5988e270b99d43b13edc3fd898f658ffbc2caf2846ef27f7b05b0 -emnist/emnist-digits-train-images-idx3-ubyte.gz f7c95004d14d81af89522e67d8f0c781dfb3bd544181c81bfe1eb6b41c35b726 -emnist/emnist-digits-train-labels-idx1-ubyte.gz 6638a6ff5fe2eefd9cca2471995b46c82986b8e4b2a70d2f5ce8e05d7edb319e -emnist/emnist-letters-test-images-idx3-ubyte.gz 50f0e93d75b99b463e9760b8345866f22587fa2c2fba472730a5ba09c693412d -emnist/emnist-letters-test-labels-idx1-ubyte.gz 924955c31fe7fd809b7303b5c0141282955f4b8390c74cdfd5d80435e0f4b4cb -emnist/emnist-letters-train-images-idx3-ubyte.gz 6288f418a917e007bf5fddb823a2dc7a5c6a35031401b93292a539cb12bd881f -emnist/emnist-letters-train-labels-idx1-ubyte.gz 9759af91ea6bccdf07a6040fd085861f2ec88e37f7c3f5760f6feb57106fbe5c -emnist/emnist-mnist-test-images-idx3-ubyte.gz b25640fa9e356c618132f5df347c95ef5bae6d9c2596be1de40f7e0ae1c3eac6 -emnist/emnist-mnist-test-labels-idx1-ubyte.gz bcc5385d38f083dba046f5f756e99b32f5ea7fad122c6243c71c2239873065ca -emnist/emnist-mnist-train-images-idx3-ubyte.gz 5f9942f441031c0f1f2e4d162059fd6e19ea808b34c328b6d16cab0ed24c78f2 -emnist/emnist-mnist-train-labels-idx1-ubyte.gz 00c6d3c2342fdffb1711e0b5656cac4ce5862d2826399d383a9bac07d612e9f8 -fashion-mnist/t10k-images-idx3-ubyte.gz 78dcbbfb5a27efaf1b6c1d616caca68560be8766c5bffcb2791df9273a534229 -fashion-mnist/t10k-labels-idx1-ubyte.gz 42bd18137a62d5998cdeae52bf3a0676ac6b706f5cf8439b47bb5b151ae3dccf -fashion-mnist/train-images-idx3-ubyte.gz 08dc20ab1689590a0bcd66e874647b6ee8464e2d501b5a3f1f78831db19a3fdc -fashion-mnist/train-labels-idx1-ubyte.gz b0197879cbda89f3dc7b894f9fd52b858e68ea4182b6947c9d8c2b67e5f18dcc -mnist/t10k-images-idx3-ubyte.gz 8d422c7b0a1c1c79245a5bcf07fe86e33eeafee792b84584aec276f5a2dbc4e6 -mnist/t10k-labels-idx1-ubyte.gz f7ae60f92e00ec6debd23a6088c31dbd2371eca3ffa0defaefb259924204aec6 -mnist/train-images-idx3-ubyte.gz 440fcabf73cc546fa21475e81ea370265605f56be210a4024d2ca8f203523609 -mnist/train-labels-idx1-ubyte.gz 3552534a0a558bbed6aed32b30c495cca23d567ec52cac8be1a0730e8010255c -""" - -hashes = dict(hash.split(" ") for hash in hash_data.strip().split("\n")) - # correct the path separators for the user's system. hashes = dict((os.path.join(*k.split("/")), v) for k, v in hashes.items()) diff --git a/mnists/hashes.py b/mnists/hashes.py new file mode 100644 index 0000000..f2370c6 --- /dev/null +++ b/mnists/hashes.py @@ -0,0 +1,66 @@ +hashes = { + 'emnist/emnist-balanced-test-images-idx3-ubyte.gz': + '117fc12b015e37ea98bfb2cbba3f77c3782c056cdbd219b87abfc8661d7135db', + 'emnist/emnist-balanced-test-labels-idx1-ubyte.gz': + 'a67cac948379b67270b9a4d0a01c8ec661598accf2f2b1964340b7c83cb175cd', + 'emnist/emnist-balanced-train-images-idx3-ubyte.gz': + '74295e75e4e9fa2c102147460ee7eb763653d5132d883a84fb88932bfb8d2db4', + 'emnist/emnist-balanced-train-labels-idx1-ubyte.gz': + 'b46d41e5156a0a8aaaa4d18979fdd1588850fa8571018acffd5d93b325a7d6ed', + 'emnist/emnist-byclass-test-images-idx3-ubyte.gz': + '5ec835bd5d5b1a66378a132e727fef20fe994b3cc666899befcca5ac766f50cd', + 'emnist/emnist-byclass-test-labels-idx1-ubyte.gz': + '501e305eeeacb093b162592d80e8a2632040872360fa6d85cfcb2200d91ca92a', + 'emnist/emnist-byclass-train-images-idx3-ubyte.gz': + '9e21987f03a6eb8b870187e785883ddad96947299587908f1a7ec2ca0f4be5f0', + 'emnist/emnist-byclass-train-labels-idx1-ubyte.gz': + 'f7ef403d48dc18a89dae0d83d11ee69cecb6e1c12c3a961d03712e495c02a8fa', + 'emnist/emnist-bymerge-test-images-idx3-ubyte.gz': + '5e5815ec1b522089134435f7c55e75a00960b58414793593ffff23efc0821683', + 'emnist/emnist-bymerge-test-labels-idx1-ubyte.gz': + '8bda1516255683ba9071e141947ca0c91a911176065cdd6259b0b4d8dc5b5f35', + 'emnist/emnist-bymerge-train-images-idx3-ubyte.gz': + '39bf8c68037dad40db35348895f7e4e056e8c0a005ab78869c9fbc2c96e947be', + 'emnist/emnist-bymerge-train-labels-idx1-ubyte.gz': + '2c47293b9e62d6abf6ad05fbf67e40baa32adfd380b8d7b44dcc35534b64e1f1', + 'emnist/emnist-digits-test-images-idx3-ubyte.gz': + '20ebe43509264f7639d37c835a3f0b009e90b29e00a099a03101abe1644a3f63', + 'emnist/emnist-digits-test-labels-idx1-ubyte.gz': + 'bad1834c45d5988e270b99d43b13edc3fd898f658ffbc2caf2846ef27f7b05b0', + 'emnist/emnist-digits-train-images-idx3-ubyte.gz': + 'f7c95004d14d81af89522e67d8f0c781dfb3bd544181c81bfe1eb6b41c35b726', + 'emnist/emnist-digits-train-labels-idx1-ubyte.gz': + '6638a6ff5fe2eefd9cca2471995b46c82986b8e4b2a70d2f5ce8e05d7edb319e', + 'emnist/emnist-letters-test-images-idx3-ubyte.gz': + '50f0e93d75b99b463e9760b8345866f22587fa2c2fba472730a5ba09c693412d', + 'emnist/emnist-letters-test-labels-idx1-ubyte.gz': + '924955c31fe7fd809b7303b5c0141282955f4b8390c74cdfd5d80435e0f4b4cb', + 'emnist/emnist-letters-train-images-idx3-ubyte.gz': + '6288f418a917e007bf5fddb823a2dc7a5c6a35031401b93292a539cb12bd881f', + 'emnist/emnist-letters-train-labels-idx1-ubyte.gz': + '9759af91ea6bccdf07a6040fd085861f2ec88e37f7c3f5760f6feb57106fbe5c', + 'emnist/emnist-mnist-test-images-idx3-ubyte.gz': + 'b25640fa9e356c618132f5df347c95ef5bae6d9c2596be1de40f7e0ae1c3eac6', + 'emnist/emnist-mnist-test-labels-idx1-ubyte.gz': + 'bcc5385d38f083dba046f5f756e99b32f5ea7fad122c6243c71c2239873065ca', + 'emnist/emnist-mnist-train-images-idx3-ubyte.gz': + '5f9942f441031c0f1f2e4d162059fd6e19ea808b34c328b6d16cab0ed24c78f2', + 'emnist/emnist-mnist-train-labels-idx1-ubyte.gz': + '00c6d3c2342fdffb1711e0b5656cac4ce5862d2826399d383a9bac07d612e9f8', + 'fashion-mnist/t10k-images-idx3-ubyte.gz': + '78dcbbfb5a27efaf1b6c1d616caca68560be8766c5bffcb2791df9273a534229', + 'fashion-mnist/t10k-labels-idx1-ubyte.gz': + '42bd18137a62d5998cdeae52bf3a0676ac6b706f5cf8439b47bb5b151ae3dccf', + 'fashion-mnist/train-images-idx3-ubyte.gz': + '08dc20ab1689590a0bcd66e874647b6ee8464e2d501b5a3f1f78831db19a3fdc', + 'fashion-mnist/train-labels-idx1-ubyte.gz': + 'b0197879cbda89f3dc7b894f9fd52b858e68ea4182b6947c9d8c2b67e5f18dcc', + 'mnist/t10k-images-idx3-ubyte.gz': + '8d422c7b0a1c1c79245a5bcf07fe86e33eeafee792b84584aec276f5a2dbc4e6', + 'mnist/t10k-labels-idx1-ubyte.gz': + 'f7ae60f92e00ec6debd23a6088c31dbd2371eca3ffa0defaefb259924204aec6', + 'mnist/train-images-idx3-ubyte.gz': + '440fcabf73cc546fa21475e81ea370265605f56be210a4024d2ca8f203523609', + 'mnist/train-labels-idx1-ubyte.gz': + '3552534a0a558bbed6aed32b30c495cca23d567ec52cac8be1a0730e8010255c', +}