動画見させていただきました。 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) これを実行した後にX_trainを実行すると array([], dtype=float64) と表示され、model.fit(X_train,y_train,epochs=10)で学習を始めるときに Epoch 1/10 --------------------------------------------------------------------------- ValueError Traceback (most recent call last) in () 1 model.compile(optimizer="adam",loss="sparse_categorical_crossrntropy",metrics=["accuracy"]) ----> 2 model.fit(X_train,y_train,epochs=10) /usr/local/lib/python3.7/dist-packages/tensorflow/python/keras/engine/training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_batch_size, validation_freq, max_queue_size, workers, use_multiprocessing) 1192 logs = tf_utils.sync_to_numpy_or_python_type(logs) 1193 if logs is None: -> 1194 raise ValueError('Expect x to be a non-empty array or dataset.') 1195 epoch_logs = copy.copy(logs) 1196 ValueError: Expect x to be a non-empty array or dataset. このようなエラーが出てしまいます。自分はgoogledriveでやっているのでそのせいでできないのでしょうか? 長々すみません。アドバイスいただけるとありがたいです。
@nishimaki3 жыл бұрын
ご視聴ありがとうございます。 X_trainに何もデータが入っていないために起こるエラーに思えます。 おそらく、 for f in glob.glob("image/*/*/*.jpg") という正規表現の書き方が、お使いの環境と合っていないのではないかな、、、と。 まずはソースファイルと同じ場所に「image」というディレクトリがあり、 その3階層下にjpgが格納されているか、チェックしてみてください。 また、ディレクトリの区切り記号が「/」で正しいのか確認されるのも良いかと思います。
model.fit()を実行すると Epoch 1/10 --------------------------------------------------------------------------- ValueError Traceback (most recent call last) in 1 model.compile(optimizer="adam",loss="categorical_crossentropy",metrics=["accuracy"]) 2 ----> 3 model.fit(x_train,y_train,epochs=10) 1 frames /usr/local/lib/python3.7/dist-packages/keras/engine/training.py in tf__train_function(iterator) 13 try: 14 do_return = True ---> 15 retval_ = ag__.converted_call(ag__.ld(step_function), (ag__.ld(self), ag__.ld(iterator)), None, fscope) 16 except: 17 do_return = False ValueError: in user code: File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 1051, in train_function * return step_function(self, iterator) File "/usr/local/lib/python3.7/dist-packages/keras/engine/training.py", line 1040, in step_function ** outputs = model.distribute_strategy.run(run_step, args=(data,)) ValueError: Shapes (None, 1) and (None, 3) are incompatible というエラーがでます。 よろしければ教えていただきたいです。 画像は自分で集めてきたものを使っています。
@nishimaki Жыл бұрын
エラーを拝見しての予想ですが、モノクロ画像が混在していないですかね?
@kisiaaaaaa59732 жыл бұрын
ニューラルネットワークの構築をしてその後学習を開始させようとして実行するとこのようなエラーが出て学習させることができなんのですが 改善する方法はありますか?;エラー::Traceback (most recent call last): File "C:\Users\h_abe\OneDrive\デスクトップ\ディープラーニング\test1.py", line 41, in model.fit(X_train,Y_train,epochs=10) File "C:\Users\h_abe\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\utils\traceback_utils.py", line 67, in error_handler raise e.with_traceback(filtered_tb) from None File "C:\Users\h_abe\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow\python\eager\execute.py", line 59, in quick_execute inputs, attrs, num_outputs) tensorflow.python.framework.errors_impl.UnimplementedError: Cast string to float is not supported [[node Cast_1 (defined at C:\Users\h_abe\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\metrics.py:716) ]] [Op:__inference_train_function_779] Errors may have originated from an input operation. Input Source operations connected to node Cast_1: In[0] ExpandDims_1 (defined at C:\Users\h_abe\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\engine\compile_utils.py:677) Operation defined at: (most recent call last) >>> File "", line 1, in >>> >>> File "C:\Users\h_abe\AppData\Local\Programs\Python\Python37\lib\idlelib un.py", line 155, in main >>> ret = method(*args, **kwargs) >>> >>> File "C:\Users\h_abe\AppData\Local\Programs\Python\Python37\lib\idlelib un.py", line 548, in runcode >>> exec(code, self.locals) >>> >>> File "C:\Users\h_abe\OneDrive\デスクトップ\ディープラーニング\test1.py", line 41, in >>> model.fit(X_train,Y_train,epochs=10) >>> >>> File "C:\Users\h_abe\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\utils\traceback_utils.py", line 64, in error_handler >>> return fn(*args, **kwargs) >>> >>> File "C:\Users\h_abe\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\engine\training.py", line 1216, in fit >>> tmp_logs = self.train_function(iterator) >>> >>> File "C:\Users\h_abe\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\engine\training.py", line 878, in train_function >>> return step_function(self, iterator) >>> >>> File "C:\Users\h_abe\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\engine\training.py", line 867, in step_function >>> outputs = model.distribute_strategy.run(run_step, args=(data,)) >>> >>> File "C:\Users\h_abe\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\engine\training.py", line 860, in run_step >>> outputs = model.train_step(data) >>> >>> File "C:\Users\h_abe\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\engine\training.py", line 817, in train_step >>> self.compiled_metrics.update_state(y, y_pred, sample_weight) >>> >>> File "C:\Users\h_abe\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\engine\compile_utils.py", line 460, in update_state >>> metric_obj.update_state(y_t, y_p, sample_weight=mask) >>> >>> File "C:\Users\h_abe\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\utils\metrics_utils.py", line 73, in decorated >>> update_op = update_state_fn(*args, **kwargs) >>> >>> File "C:\Users\h_abe\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\metrics.py", line 177, in update_state_fn >>> return ag_update_state(*args, **kwargs) >>> >>> File "C:\Users\h_abe\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\metrics.py", line 716, in update_state >>> y_true = tf.cast(y_true, self._dtype)Traceback (most recent call last): 長文失礼しました。すみません
ありがとうございます! 解決するか分かりませんが、画像データが読み込まれないということは、 for f in glob.glob("image/*/*/*.jpg") という正規表現の書き方が、お使いの環境と合っていない可能性があるかと思います。 例えば、画像の拡張子がjpgでないか、ディレクトリの区切り記号が「/」でないか、などお確かめ頂くのが良いかと思います。