概要
左も右もわからない状態でTensorFlowのMNISTをコピペで動かそうとした際に動かない
#%%
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
上のソースを実行しても、
URLError: <urlopen error [WinError 10060] 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。>
となる。
解決策
以下の記事を参考にしました。
https://qiita.com/gazami/items/4b42371ed831c159fb04
input_dataで使われているurllibにプロキシの設定を追加するだけですね。
#%%
from tensorflow.examples.tutorials.mnist import input_data
import urllib.request
proxy = urllib.request.ProxyHandler({'https': 'https://path:port'})
opener = urllib.request.build_opener(proxy)
input_data.urllib.request.install_opener(opener)
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
urllibのproxy設定が問題なのは検討がついていたのですが、
Pythonを始めたばかりの事もあり、input_dataで使われているurllibに設定を適用する方法を見つけるのに苦戦しました。
また、ダウンロード先がhttpsかhttpのどちらなのか確認することを忘れずに。