Database MNIST dari digit tulisan tangan
Database MNIST dari digit tulisan tangan memiliki 60.000 contoh set pelatihan dan 10.000 contoh set pengujian. Ukuran digit telah dinormalisasi dan dipusatkan dalam gambar berukuran tetap.
Catatan
Microsoft menyediakan Azure Open Datasets berdasarkan "apa adanya". Microsoft tidak memberikan jaminan, tersurat maupun tersirat, jaminan atau ketentuan sehubungan dengan penggunaan Anda atas himpunan data. Sejauh diizinkan menurut undang-undang setempat Anda, Microsoft melepaskan semua tanggung jawab atas segala kerusakan atau kerugian, termasuk langsung, konsekuensial, khusus, tidak langsung, insidental, atau hukuman, yang diakibatkan oleh penggunaan Anda atas kumpulan data.
Kumpulan data ini disediakan di bawah ketentuan asli yang diterima Microsoft data sumbernya. Himpunan data mungkin menyertakan data yang bersumber dari Microsoft.
Himpunan data ini bersumber DATABASE MNIST dari digit tulisan tangan. Ini adalah subset dari Database Formulir dan Karakter Cetak Tangan NIST yang lebih besar yang diterbitkan oleh National Institute of Standards and Technology.
Lokasi penyimpanan
- Akun blob: azureopendatastorage
- Nama kontainer: mnist
Empat file tersedia dalam kontainer secara langsung:
- train-images-idx3-ubyte.gz: citra set pelatihan (9.912.422 byte)
- train-labels-idx1-ubyte.gz: label set pelatihan (28,881 byte)
- t10k-images-idx3-ubyte.gz: citra set pengujian (1,648,877 bytes)
- t10k-labels-idx1-ubyte.gz: label set pengujian (4,542 bytes)
Akses data
Azure Notebooks
Muat MNIST ke dalam bingkai data menggunakan himpunan data tabular Azure Machine Learning data.
Untuk informasi selengkapnya tentang himpunan data Azure Machine Learning, lihat Membuat himpunan data Azure Machine Learning.
Memasukkan himpunan data lengkap ke dalam bingkai data
from azureml.opendatasets import MNIST
mnist = MNIST.get_tabular_dataset()
mnist_df = mnist.to_pandas_dataframe()
mnist_df.info()
Mendapatkan bingkai data latihan dan pengujian
mnist_train = MNIST.get_tabular_dataset(dataset_filter='train')
mnist_train_df = mnist_train.to_pandas_dataframe()
X_train = mnist_train_df.drop("label", axis=1).astype(int).values/255.0
y_train = mnist_train_df.filter(items=["label"]).astype(int).values
mnist_test = MNIST.get_tabular_dataset(dataset_filter='test')
mnist_test_df = mnist_test.to_pandas_dataframe()
X_test = mnist_test_df.drop("label", axis=1).astype(int).values/255.0
y_test = mnist_test_df.filter(items=["label"]).astype(int).values
Merencanakan beberapa citra digit
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
# now let's show some randomly chosen images from the traininng set.
count = 0
sample_size = 30
plt.figure(figsize=(16, 6))
for i in np.random.permutation(X_train.shape[0])[:sample_size]:
count = count + 1
plt.subplot(1, sample_size, count)
plt.axhline('')
plt.axvline('')
plt.text(x=10, y=-10, s=y_train[i], fontsize=18)
plt.imshow(X_train[i].reshape(28, 28), cmap=plt.cm.Greys)
plt.show()
Mengunduh atau memasang file mentah MNIST file himpunan data Azure Machine Learning.
Ini hanya berhasil untuk komputasi berbasis Linux. Untuk informasi selengkapnya tentang himpunan data Azure Machine Learning, lihat Membuat himpunan data Azure Machine Learning.
mnist_file = MNIST.get_file_dataset()
mnist_file
mnist_file.to_path()
Mengunduh file ke penyimpanan lokal
import os
import tempfile
data_folder = tempfile.mkdtemp()
data_paths = mnist_file.download(data_folder, overwrite=True)
data_paths
Memasang file. Berguna saat pekerjaan pelatihan akan berjalan pada komputasi jarak jauh.
import gzip
import struct
import pandas as pd
import numpy as np
# load compressed MNIST gz files and return pandas dataframe of numpy arrays
def load_data(filename, label=False):
with gzip.open(filename) as gz:
gz.read(4)
n_items = struct.unpack('>I', gz.read(4))
if not label:
n_rows = struct.unpack('>I', gz.read(4))[0]
n_cols = struct.unpack('>I', gz.read(4))[0]
res = np.frombuffer(gz.read(n_items[0] * n_rows * n_cols), dtype=np.uint8)
res = res.reshape(n_items[0], n_rows * n_cols)
else:
res = np.frombuffer(gz.read(n_items[0]), dtype=np.uint8)
res = res.reshape(n_items[0], 1)
return pd.DataFrame(res)
import sys
mount_point = tempfile.mkdtemp()
print(mount_point)
print(os.path.exists(mount_point))
if sys.platform == 'linux':
print("start mounting....")
with mnist_file.mount(mount_point):
print("list dir...")
print(os.listdir(mount_point))
print("get the dataframe info of mounted data...")
train_images_df = load_data(next(path for path in data_paths if path.endswith("train-images-idx3-ubyte.gz")))
print(train_images_df.info())
Azure Databricks
Muat MNIST ke dalam bingkai data menggunakan himpunan data tabular Azure Machine Learning data.
Untuk informasi selengkapnya tentang himpunan data Azure Machine Learning, lihat Membuat himpunan data Azure Machine Learning.
Memasukkan himpunan data lengkap ke dalam bingkai data
# This is a package in preview.
from azureml.opendatasets import MNIST
mnist = MNIST.get_tabular_dataset()
mnist_df = mnist.to_spark_dataframe()
display(mnist_df.limit(5))
Mengunduh atau memasang file mentah MNIST file himpunan data Azure Machine Learning.
Ini hanya berhasil untuk komputasi berbasis Linux. Untuk informasi selengkapnya tentang himpunan data Azure Machine Learning, lihat Membuat himpunan data Azure Machine Learning.
mnist_file = MNIST.get_file_dataset()
mnist_file
mnist_file.to_path()
Mengunduh file ke penyimpanan lokal
import os
import tempfile
mount_point = tempfile.mkdtemp()
mnist_file.download(mount_point, overwrite=True)
Memasang file. Berguna saat pekerjaan pelatihan akan berjalan pada komputasi jarak jauh.
import gzip
import struct
import pandas as pd
import numpy as np
# load compressed MNIST gz files and return numpy arrays
def load_data(filename, label=False):
with gzip.open(filename) as gz:
gz.read(4)
n_items = struct.unpack('>I', gz.read(4))
if not label:
n_rows = struct.unpack('>I', gz.read(4))[0]
n_cols = struct.unpack('>I', gz.read(4))[0]
res = np.frombuffer(gz.read(n_items[0] * n_rows * n_cols), dtype=np.uint8)
res = res.reshape(n_items[0], n_rows * n_cols)
else:
res = np.frombuffer(gz.read(n_items[0]), dtype=np.uint8)
res = res.reshape(n_items[0], 1)
return pd.DataFrame(res)
import sys
mount_point = tempfile.mkdtemp()
print(mount_point)
print(os.path.exists(mount_point))
print(os.listdir(mount_point))
if sys.platform == 'linux':
print("start mounting....")
with mnist_file.mount(mount_point):
print(context.mount_point )
print(os.listdir(mount_point))
train_images_df = load_data(os.path.join(mount_point, 'train-images-idx3-ubyte.gz'))
print(train_images_df.info())
Langkah berikutnya
Lihat himpunan data lainnya di katalog Open Datasets.