私は、window7でpython3(anaconda)を使用します。画像データセットをPythonで読み込むには? 'Websocket ping timeout'とはどういう意味ですか?
深い学習を勉強するために、私は画像データセットをダウンロードしました。
(http://www.cs.princeton.edu/~andyz/downloads/MMU2IrisDatabase.zip)
イメージデータセット:995イメージ、65.4MB。
しかし、データセットをロードすると、私は2つの問題に直面しました。
まず、私はsolution_1を試しました。
# Solution_1
import os
import numpy as np
import zipfile
from PIL import Image
from io import StringIO, BytesIO
from scipy import misc
def import_caltec100(dataset = 'MMU2IrisDatabase.zip'): # file: 'MMU2IrisDatabase.zip'
X_array = np.empty((1, 238, 320, 3))
Y_list = list()
with zipfile.ZipFile(dataset) as caltec:
for i, file in enumerate(caltec.namelist()):
if file.split('.')[-1] == 'bmp' and len(file.split('/')[2].split('.')[0]) == 6:
img_array = misc.imread(BytesIO(caltec.read(file)))
X_array = np.vstack((X_array, img_array.reshape(1, 238, 320, 3)))
Y_list.append(int(file.split('/')[2].split('.')[0][:2]))
elif file.split('.')[-1] == 'bmp' and len(file.split('/')[2].split('.')[0]) == 7:
img_array = misc.imread(BytesIO(caltec.read(file)))
X_array = np.vstack((X_array, img_array.reshape(1, 238, 320, 3)))
Y_list.append(int(file.split('/')[2].split('.')[0][:3]))
X_array = X_array[1:]
Y_array = np.array(Y_list)
return X_array, Y_array
jupyterで '119995ms後にWebSocket ping timeout'が返されます。
# Solution_2
X_array = np.empty((1, 238, 320, 3))
Y_list = list()
for file in os.listdir('MMU2IrisDatabase'):
if file.split('.')[-1] == 'bmp' and len(file.split('.')[0]) == 6:
img_array = misc.imread('MMU2IrisDatabase/{}'.format(file))
X_array = np.vstack((X_array, img_array.reshape(1, 238, 320, 3)))
Y_list.append(int(file.split('.')[0][:2]))
elif file.split('.')[-1] == 'bmp' and len(file.split('.')[0]) == 7:
img_array = misc.imread('MMU2IrisDatabase/{}'.format(file))
X_array = np.vstack((X_array, img_array.reshape(1, 238, 320, 3)))
Y_list.append(int(file.split('.')[0][:3]))
X_array = X_array[1:]
Y_array = np.array(Y_list)
エラーはありませんでしたが、時間がかかりすぎました(ウォールタイム:32分43秒)。
私の困難を解決してください。
まず、119995ms後に 'Websocket ping timeout'が何を意味するのかを知りたい。 第2に、画像データセットを読み込むためのより良い方法はありますか?
テンソルフローの問題ではありません。適切なタグを使用する必要があります。 –