

画像診断のプログラムを組みたいのですが、下記のようなエラーが出てしまいます。  
google colaboratoryを使用しており、kaggleのChest X-Ray Images
(Pneumonia)というデータセットから何枚かgoogleドライブにアップロードして使おうとしています。  
画像はグレースケールです。

参考にした動画ではカラー画像を使っていたので、それが関係しているのかもしれませんが、直し方が分かりません。どなたか教えていただけるとありがたいです。

[Pythonによるディープラーニングの作り方〜画像認識〜【Python機械学習入門#10】](https://www.youtube.com/watch?v=ThKRS7B5GFY&t=1666s)

**エラーメッセージ**

[code]

    ---------------------------------------------------------------------------
    ValueError                                Traceback (most recent call last)
    <ipython-input-97-c83072b43715> in <module>()
         24 
         25 
    ---> 26 x_train = np.array(x_train) / 255.0
         27 y_train = np.array(y_train)
         28 x_test = np.array(x_test) / 255.0
    
    ValueError: could not broadcast input array from shape (100,100,1) into shape (100,100)
    
[/code]

**ソースコード**

[code]

    import numpy as np
    import tensorflow as tf
    from tensorflow import keras
    import glob
    
    x_train = []
    y_train = []
    x_test = []
    y_test = []
    
    
    
    for f in glob.glob("/content/drive/MyDrive/kaggle/image/*/*/*.jpeg"):
        img_data = tf.io.read_file(f)
        img_data = tf.io.decode_jpeg(img_data)
        img_data = tf.image.resize(img_data,(100,100))
      
        if f.split("/")[6]=="train":
          x_train.append(img_data)
          y_train.append(int(f.split("/")[7].split("_")[0]))
        elif f.split("/")[6]=="test":
              x_test.append(img_data)
              y_test.append(int(f.split("/")[7].split("_")[0]))
    
    
    x_train = np.array(x_train) / 255.0
    y_train = np.array(y_train)
    x_test = np.array(x_test) / 255.0
    y_test = np.array(y_test)
    
[/code]


CC BY-SA 4.0
2022-02-13T10:48:07.310
86315
2022-02-14T01:06:15.247
2022-02-13T13:38:31.543
3060
51404
question
python numpy
could not broadcastと表示される


似たような事例を見つけました。

[ValueError: could not broadcast input array from shape (224,224,3) into shape
(224,224)](https://stackoverflow.com/q/43977463)

以下のようにした際に、同じエラーが見られます。

[code]

    a=np.random.rand(100,100,1)
    b=np.random.rand(100,100)
    c=[a,b]
    c=np.array(c)
    
[/code]

元のファイルを使って調べてみないと断言はできませんが、違うサイズのimg_dataが混ざっているのではないでしょうか。


CC BY-SA 4.0
2022-02-13T11:55:33.060
86317
2022-02-14T01:06:15.247
2022-02-14T01:06:15.247
3060
36057
86315
answer