Kann nicht MNIST-Datenbank über Anaconda/jupyter
Hu Jungs,
Ich bin neu in python/anaconda/jupyter/numPy, Pandas, usw.... also bitte entschuldigen Sie mich, wenn es eine wirklich dumme Frage.
Ich versuche zu erhalten MNIST-Datenbank mithilfe von anaconda/jupyter. Doch jedesmal bekomme ich einen HTTP 500-Fehler am Ende. Ist es wirklich ein server-problem (wie 500 würde vorschlagen) oder mache ich etwas falsch?
Eingang in jupyter:
from sklearn.datasets import fetch_mldata
mnist = fetch_mldata('MNIST original')
Ergebnis:
---------------------------------------------------------------------------
HTTPError Traceback (most recent call last)
<ipython-input-1-15dc285fb373> in <module>()
1 from sklearn.datasets import fetch_mldata
----> 2 mnist = fetch_mldata('MNIST original')
e:\ProgramData\Anaconda3\lib\site-packages\sklearn\datasets\mldata.py in fetch_mldata(dataname, target_name, data_name, transpose_data, data_home)
140 urlname = MLDATA_BASE_URL % quote(dataname)
141 try:
--> 142 mldata_url = urlopen(urlname)
143 except HTTPError as e:
144 if e.code == 404:
e:\ProgramData\Anaconda3\lib\urllib\request.py in urlopen(url, data, timeout, cafile, capath, cadefault, context)
221 else:
222 opener = _opener
--> 223 return opener.open(url, data, timeout)
224
225 def install_opener(opener):
e:\ProgramData\Anaconda3\lib\urllib\request.py in open(self, fullurl, data, timeout)
530 for processor in self.process_response.get(protocol, []):
531 meth = getattr(processor, meth_name)
--> 532 response = meth(req, response)
533
534 return response
e:\ProgramData\Anaconda3\lib\urllib\request.py in http_response(self, request, response)
640 if not (200 <= code < 300):
641 response = self.parent.error(
--> 642 'http', request, response, code, msg, hdrs)
643
644 return response
e:\ProgramData\Anaconda3\lib\urllib\request.py in error(self, proto, *args)
562 http_err = 0
563 args = (dict, proto, meth_name) + args
--> 564 result = self._call_chain(*args)
565 if result:
566 return result
e:\ProgramData\Anaconda3\lib\urllib\request.py in _call_chain(self, chain, kind, meth_name, *args)
502 for handler in handlers:
503 func = getattr(handler, meth_name)
--> 504 result = func(*args)
505 if result is not None:
506 return result
e:\ProgramData\Anaconda3\lib\urllib\request.py in http_error_302(self, req, fp, code, msg, headers)
754 fp.close()
755
--> 756 return self.parent.open(new, timeout=req.timeout)
757
758 http_error_301 = http_error_303 = http_error_307 = http_error_302
e:\ProgramData\Anaconda3\lib\urllib\request.py in open(self, fullurl, data, timeout)
530 for processor in self.process_response.get(protocol, []):
531 meth = getattr(processor, meth_name)
--> 532 response = meth(req, response)
533
534 return response
e:\ProgramData\Anaconda3\lib\urllib\request.py in http_response(self, request, response)
640 if not (200 <= code < 300):
641 response = self.parent.error(
--> 642 'http', request, response, code, msg, hdrs)
643
644 return response
e:\ProgramData\Anaconda3\lib\urllib\request.py in error(self, proto, *args)
568 if http_err:
569 args = (dict, 'default', 'http_error_default') + orig_args
--> 570 return self._call_chain(*args)
571
572 # XXX probably also want an abstract factory that knows when it makes
e:\ProgramData\Anaconda3\lib\urllib\request.py in _call_chain(self, chain, kind, meth_name, *args)
502 for handler in handlers:
503 func = getattr(handler, meth_name)
--> 504 result = func(*args)
505 if result is not None:
506 return result
e:\ProgramData\Anaconda3\lib\urllib\request.py in http_error_default(self, req, fp, code, msg, hdrs)
648 class HTTPDefaultErrorHandler(BaseHandler):
649 def http_error_default(self, req, fp, code, msg, hdrs):
--> 650 raise HTTPError(req.full_url, code, msg, hdrs, fp)
651
652 class HTTPRedirectHandler(BaseHandler):
HTTPError: HTTP Error 500: INTERNAL SERVER ERROR
- Die Fehlermeldung gibt einen HTTP-Fehler 500 bedeutet interner Serverfehler. So, die meisten wahrscheinlich, es ist ein Fehler auf dem server. Ich würde versuchen Sie es später erneut. Wenn Sie Auschecken der ulr mldata.org Sie werden sehen, es ist derzeit nicht verfügbar.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hatte ich auch den gleichen Fehler und musste die firewall ausschalten. Auf dem Macbook, System-Einstellungen > Sicherheit & Datenschutz - > Firewall - > Deaktivieren Sie Firewall.
Ich bekomme auch den gleichen Fehler wie du. Hier sind einige mögliche Lösungen, die nicht benötigen diesen-server.
Wenn Sie
tensorflow
installiert sein, können Sie MNIST-Daten in der folgenden Weise:Dann zum Beispiel
len(m.train.images)
ist 55000.Wenn Sie nicht über tensorflow, Sie können dieses dataset mithilfe der Anweisungen hier.
Spät zur party, aber ich hatte den gleichen Fehler und meine einfache Lösung war, die zum ausführen der beiden Befehle separat, wie:
und stellen Sie sicher, dass diese in einer separaten Zeile in jupyter notebook
Hier ist ein alternativer Speicherort zum herunterladen der MNIST-Datensatz (verwiesen aus https://github.com/ageron/handson-ml/blob/master/03_classification.ipynb)
Eine gute Lösung gefunden hier: https://github.com/Lasagne/Lasagne/blob/master/examples/mnist.py
Lädt es dataset von Yan LeCun ' s website (http://yann.lecun.com/exdb/mnist/).
dies ist für python-3.6.*
Fand ich diese Lösung auf https://github.com/ageron/handson-ml/issues/7 und dieser war für mich nützlich. Laden Sie einfach die Datei aus https://github.com/amplab/datascience-sp14/raw/master/lab7/mldata/mnist-original.mat
danach verwenden Sie dieses Skript: