解決Python中下載cifar-10數據集緩慢問題
最近需要使用cifar-10數據集進行開發,但是使用Python在下載的時候發現速度非常慢。下面介紹一下我的解決方法。
1、下載cifax-10數據集,如果使用Python進行下載的話速度比較慢,這里建議你直接到官網進行下載,官網: 直接點擊下載即可。示例:
然后選擇合適的位置保存即可,示例:
2、對下載好的文件進行解壓。示例:
文件的目錄如下所示:
3、使用Python3讀取cifar-10中的數據。示例代碼:
def load_file(filename):
# filename表示需要讀取文件的路徑
with open(filename,'rb') as fo:
data = pickle.load(fo,encoding='latin1') # bytes 官方的例程 latin1 讀取數據
return data
提示:上面的方法需要自己編寫程序進行讀取。需要時刻注意文件的路徑。
4、上面的方法需要自己編寫程序進行數據的讀取,編寫過程比較麻煩,而且容易出錯。下面介紹使用Keras庫中的cifar10.load_data()函數進行數據讀取,直接可以讀取出訓練集和測試集。這里需要你首先安裝tensorflow庫和Keras庫。
(1)將剛才下載的壓縮文件直接復制,放到Keras庫的數據集文件夾下,一般情況下在"C:\Users\用戶名.keras\datasets" 下,如果有特殊情況讀者可以自行尋找,然后將壓縮文件粘貼到datasets文件夾下即可。
(2)修改文件名。將文件名由:cifar-10-python.tar.gz 改為:cifar-10-batches-py.tar.gz點擊保存即可。示例:
(3)修改好文件名之后,直接退出,使用Python代碼直接讀取數據。示例:
from keras.datasets import cifar10 # 讀取數據集
(x_train, y_train), (x_test, y_test) = cifar10.load_data()
提示:當上面程序運行時,會自動將壓縮包進行解壓操作,無需自己手動進行解壓。
至此,當數據解壓完成之后,就可以使用Keras庫內置的函數進行讀取數據了。