2017-11-08 8 views
2

こんにちは私は画像分類子を構築していて、この部分のコード部分は で、この部分では 'img_data_list'この配列をnp.arrayに変換していますが、 (img_data_np.array(img_data_list)) この行のコードはエラー (入力配列をシェイプ(128,128,3)からシェイプ(128,128)にブロードキャストできませんでした))私は、これがValueError:入力配列をシェイプ(128,128,3)からシェイプ(128,128)にブロードキャストできませんでした。

for dataset in data_dir_list: 
    img_list=os.listdir(data_path+'/'+ dataset) 

    print ('Loaded the images of dataset-'+'{}\n'.format(dataset)) 

    for img in img_list: 
     image_path = os.path.join(data_path, dataset, img) 

     input_img=cv2.imread(image_path) 

     if input_img is not None: 
      input_img_resize=cv2.resize(input_img,(128,128)) 
      img_data_list.append(input_img_resize) 

     else: 
      print(img+' image didnt read') 

img_data = np.array(img_data_list) 
img_data = img_data.astype('float32') 
img_data /= 255 
+0

申し訳ありませんが働いているが、私はこれで私は私が私がそれを行う方法を意味する何をすべきかを知らないわけ を理解didntの新しい午前、それらを削除した後、データセット内の破損している解決策を見つけた –

+0

申し訳ありませんが、私はあなたの質問を正しく読まなかった。私はナンシーのビットを知っているが、私はcv2を知らない。私は 'img_data = np.array(img_data_list)'があなたにそのエラーメッセージを与える方法を理解していません。どのアレイが(128,128,3)の形状を持っていますか? –

+0

cv2はイメージの読み込みやサイズ変更などに使用されるライブラリで、img_data_listは(128,128,3) –

答えて

3

私はいくつかの画像を分類器が完全に

0

が起こっている理由を知らない私は、CV2を使用しますが、いくつかの他の場所でこの問題を見ていません。リスト内のイメージのいずれかが予想されるサイズ(224,224,3)を持たない場合は、上記の問題が発生する可能性があります。

別の同様のSOポスト:ValueError: could not broadcast input array from shape (224,224,3) into shape (224,224)

あなたはデータを再生成してみてくださいことはできますか?

+0

Iは、任意の満足を参照していませんでし回答 –

+0

はいこれは答えではありませんが、コメントとして追加したいと考えています。しかし、私のプロフィールは許されませんでした。 –

+0

https://stackoverflow.com/questions/47295025/valueerror-at-image-tensor-tensoractivation-5-softmax0-shape-4-dtyp?noredirect=1#comment81541739_47295025提案 –

関連する問題