簡體   English   中英

下載MNIST數據時出錯

[英]Error while downloading MNIST data

我正在嘗試下載MNIST訓練和測試集。 我從網站上下載文件並將其保存在名為samples的文件夾中。解壓縮后得到的文件名為train_images。 但是在函數調用中,我得到未定義名稱訓練的錯誤。

from __future__ import print_function
import gzip
import os
import urllib
import numpy
SOURCE_URL = 'http://yann.lecun.com/exdb/mnist/'


def maybe_download(filename, work_directory):

    if not os.path.exists(work_directory):
        os.mkdir(work_directory)
    filepath = os.path.join(work_directory, filename)
    if not os.path.exists(filepath):
        filepath, _ = urllib.urlretrieve(SOURCE_URL + filename, filepath)
        statinfo = os.stat(filepath)
        print('Succesfully downloaded', filename, statinfo.st_size, 'bytes.')
    print(filepath)
    return filepath
#function call
maybe_download(train-images,"./samples")`

您在函數調用中編寫了train-images而不是train_images 變量名稱不能包含破折號– train-images被解析為train - images

檢查您的函數調用。 您使用的第一個參數(訓練圖像)未在代碼中定義。

測試過的代碼版本:

from __future__ import print_function
import os
from urllib import request

SOURCE_URL = 'http://yann.lecun.com/exdb/mnist/'


def maybe_download(filename, work_directory):

    if not os.path.exists(work_directory):
        os.mkdir(work_directory)
    filepath = os.path.join(work_directory, filename)
    if not os.path.exists(filepath):
        filepath, _ = request.urlretrieve(SOURCE_URL + filename, filepath)
        statinfo = os.stat(filepath)
        print('Succesfully downloaded', filename, statinfo.st_size, 'bytes.')
    print(filepath)
    return filepath

#function call
maybe_download("train-images-idx3-ubyte.gz","./samples")

exit(0)
  1. 在您的情況下,python嘗試將train-image解釋為變量名。 如果要使用它作為文件名,則應使用引號將其引起來。
  2. 請注意,如果您使用tag3中指定的python3,然后在使用前修復urlencode導入。
  3. 您也可以使用瀏覽器查看http://yann.lecun.com/exdb/mnist/train-image 由於train-image不存在,它返回404。 但是,有一些帶有培訓集的壓縮存檔。 您可以通過瀏覽器檢查正確的URL:http: //yann.lecun.com/exdb/mnist

您可以嘗試在開發中使用一些IDE(例如: pycharm )。 它突出了某些提到的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM