前提・実現したいこと
初心者です。
chainerによってCNNのデータセットを行いたいのですが、自前のjpg形式の画像を読み込んでセットする方法を調べてもわかりませんでした。
(参考:https://www.kumilog.net/entry/chainer-dataset#画像を扱うデータセット)
Jupiter notebookを使用しているのですが、
画像は全部で28枚でjpgの画像の格納先は
CNN/data/IMG_1.jpg,IMG_2.jpg,...IMG_28.jpg
となっております。
また、画像と同じdataフォルダ内に'label.txt'を作成しており、
IMG_1.jpg 0
IMG_2.jpg 0
...
IMG_28.jpg 1
というように画像とラベルを記述してあります。
print(dataset[0])でdatasetの1番目にアクセスしようとしましたが、エラーが出てしまい、セットできていないことがわかりました。正直、データセットができたとしても、どのように学習へ進めていけば良いかも曖昧な状況です。皆様、お力をお貸しください。
発生している問題・エラーメッセージ
エラーメッセージ --------------------------------------------------------------------------- FileNotFoundError Traceback (most recent call last) <ipython-input-4-458771d72ad1> in <module> ----> 1 print(dataset[0]) /Applications/anaconda3/lib/python3.7/site-packages/chainer/dataset/dataset_mixin.py in __getitem__(self, index) 65 return [self.get_example(i) for i in index] 66 else: ---> 67 return self.get_example(index) 68 69 def __len__(self): <ipython-input-2-af56160fe348> in get_example(self, i) 11 def get_example(self, i): 12 # データセットのインデックスを受け取って、データを返します ---> 13 img= Image.open(self._paths[i]) 14 img = img.resize(self._size) # PILをつかってリサイズ 15 img = numpy.asarray(img, dtype=self._dtype) # float32型のnumpy arrayに変換 /Applications/anaconda3/lib/python3.7/site-packages/PIL/Image.py in open(fp, mode) 2607 2608 if filename: -> 2609 fp = builtins.open(filename, "rb") 2610 exclusive_fp = True 2611 FileNotFoundError: [Errno 2] No such file or directory: 'd'
該当のソースコード
import chainer
import numpy
from PIL import Image
class ResizedImageDataset(chainer.dataset.DatasetMixin):
def init(self, paths, size, dtype=numpy.float32):
self._paths = paths
self._size = size
self._dtype = dtype
def __len__(self): return len(self._paths) def get_example(self, i): img= Image.open(self._paths[i]) img = img.resize(self._size) img = numpy.asarray(img, dtype=self._dtype) img = img.transpose(2, 0, 1) return img
image_files = 'data/label.txt'
dataset = ResizedImageDataset(image_files, size=(32, 32))
print(dataset[0])
ここに言語名を入力
python
疑問に感じたこと
datasetの1番目にアクセスしようとしたが、エラーが出てしまい、セットできていないことがわかった。
補足情報(FW/ツールのバージョンなど)
Mac,python,jupyter notebook,chainer
ここにより詳細な情報を記載してください。
あなたの回答
tips
プレビュー