در کل روشهای زیادی برای خوندن دیتا از حافظه هستش که تنسورفلو بیشتر به tfrecord تمایل داره که در حالتی که دیتاستتون بزرگه حافظه رو خوب مدیریت میکنه.
اگه می خواید mnist کار کنید که خود تنسور فلو داره یا شما میتونید از
https://s3.amazonaws.com/img-datasets/mnist.npz
فایل mnist.npz رو دانلود کنید که کلید های ['x_test', 'x_train', 'y_train', 'y_test'] رو داره
و یه تابعی مشابه تابع من براش بنویسید و ازش بخونید.
اگه فایل های دیتاست از خودتونه اونوقت باید با کتابخونه numpy.savez فایل npz خودتون رو بسازید.