🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

7870閲覧

python:畳み込みNNでのエラー原因が不明です..

python_2019

総合スコア68

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/12/11 04:15

編集2019/12/11 04:21

以下のプログラムでエラーが出ます。
画像もちゃんと存在しているのですが、
samples=0 とか表示されます。
(他のデータでは正常に動作します)

原因をお教えいただけませんでしょうか?
よろしくお願いいたします。

folder = os.listdir("C:\python\畳み込み(画像)\ERP") #folder.pop(-1) image_size = 50 dense_size = len(folder) X = [] Y = [] for index, name in enumerate(folder): dir = "./C:/python/畳み込み(画像)/ERP/" + name files = glob.glob(dir + "/*.jpg") for i, file in enumerate(files): image = Image.open(file) image = image.convert("RGB") image = image.resize((image_size, image_size)) data = np.asarray(image) X.append(data) Y.append(index) X = np.array(X) Y = np.array(Y) X = X.astype('float32') X = X / 255.0 Y = np_utils.to_categorical(Y, dense_size) x_train, x_test,y_train, y_test = train_test_split(X, Y, test_size=0.20) # 混同行列用で使用 y_test_1 = np.argmax(y_test, axis=1)

以下、エラーメッセージです

ValueError Traceback (most recent call last) <ipython-input-6-bec4df58e883> in <module> 23 24 Y = np_utils.to_categorical(Y, dense_size) ---> 25 x_train, x_test,y_train, y_test = train_test_split(X, Y, test_size=0.20) 26 # 混同行列用で使用 27 y_test_1 = np.argmax(y_test, axis=1) C:\python\anaconda\pgm\lib\site-packages\sklearn\model_selection\_split.py in train_test_split(*arrays, **options) 2098 n_samples = _num_samples(arrays[0]) 2099 n_train, n_test = _validate_shuffle_split(n_samples, test_size, train_size, -> 2100 default_test_size=0.25) 2101 2102 if shuffle is False: C:\python\anaconda\pgm\lib\site-packages\sklearn\model_selection\_split.py in _validate_shuffle_split(n_samples, test_size, train_size, default_test_size) 1780 'resulting train set will be empty. Adjust any of the ' 1781 'aforementioned parameters.'.format(n_samples, test_size, -> 1782 train_size) 1783 ) 1784 ValueError: With n_samples=0, test_size=0.2 and train_size=None, the resulting train set will be empty. Adjust any of the aforementioned parameters.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ValueError: With n_samples=0, test_size=0.2 and train_size=None, the resulting train set will be empty. Adjust any of the aforementioned parameters.

サンプル数が0ということなので、データの読み込みが成功していない公算大です。確認してデバッグしてください。

たぶん、globで取るときに指定しているディレクトリがおかしいのだと思います。

投稿2019/12/11 06:15

編集2019/12/11 06:16
hayataka2049

総合スコア30935

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

python_2019

2019/12/11 06:17

ご連絡ありがとうございます。 一度、データ(フォルダやファイル)の点検からしてみたいと思います。
hayataka2049

2019/12/11 06:18

いや、たぶん指定しているパスが悪い dir = "./C:/python/畳み込み(画像)/ERP/" + name などに違和感を感じます。
python_2019

2019/12/11 06:37

ご連絡ありがとうございました。 dir = "./C:/python/畳み込み(画像)/ERP/" + name  ですが、単純に dir = "./ERP/" + name  に修正すると、エラーがなくなりました。 しかし、疑問なのは、 folder = os.listdir("C:\python\畳み込み(画像)\ERP") については、全く修正していないのです。 ことなるパスの指定なのですが、何故でしょうか? よろしくお願いいたします。
hayataka2049

2019/12/11 06:41

たまたまカレントディレクトリが都合のいいところにあって矛盾しなかったということでしょう。
python_2019

2019/12/11 06:47

本来、両方とも同じ指定にするほうが良いのでしょうか?
hayataka2049

2019/12/11 06:48

そうですね。というか、root_dirのような変数を作って共通部分を格納しておくと良いと思います。
python_2019

2019/12/11 07:04

その辺(変数)についてもまた勉強したいと思います。 いつもご丁寧なご回答、感謝いたします。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問