前提・実現したいこと
回帰:燃費を予測する | TensorFlow Core
この記事を参考にして自分なりにKerasを用いてみようと思ったのですが、以下のエラーが出てしまいました。
発生している問題・エラーメッセージ
2021-09-17 20:10:31.091616: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:185] None of the MLIR Optimization Passes are enabled (registered 2) Traceback (most recent call last): File "C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\main.py", line 83, in <module> history = model.fit( File "C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\venv\lib\site-packages\keras\engine\training.py", line 1184, in fit tmp_logs = self.train_function(iterator) File "C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\venv\lib\site-packages\tensorflow\python\eager\def_function.py", line 885, in __call__ result = self._call(*args, **kwds) File "C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\venv\lib\site-packages\tensorflow\python\eager\def_function.py", line 933, in _call self._initialize(args, kwds, add_initializers_to=initializers) File "C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\venv\lib\site-packages\tensorflow\python\eager\def_function.py", line 759, in _initialize self._stateful_fn._get_concrete_function_internal_garbage_collected( # pylint: disable=protected-access File "C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\venv\lib\site-packages\tensorflow\python\eager\function.py", line 3066, in _get_concrete_function_internal_garbage_collected graph_function, _ = self._maybe_define_function(args, kwargs) File "C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\venv\lib\site-packages\tensorflow\python\eager\function.py", line 3463, in _maybe_define_function graph_function = self._create_graph_function(args, kwargs) File "C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\venv\lib\site-packages\tensorflow\python\eager\function.py", line 3298, in _create_graph_function func_graph_module.func_graph_from_py_func( File "C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\venv\lib\site-packages\tensorflow\python\framework\func_graph.py", line 1007, in func_graph_from_py_func func_outputs = python_func(*func_args, **func_kwargs) File "C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\venv\lib\site-packages\tensorflow\python\eager\def_function.py", line 668, in wrapped_fn out = weak_wrapped_fn().__wrapped__(*args, **kwds) File "C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\venv\lib\site-packages\tensorflow\python\framework\func_graph.py", line 994, in wrapper raise e.ag_error_metadata.to_exception(e) ValueError: in user code: C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\venv\lib\site-packages\keras\engine\training.py:853 train_function * return step_function(self, iterator) C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\venv\lib\site-packages\keras\engine\training.py:842 step_function ** outputs = model.distribute_strategy.run(run_step, args=(data,)) C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\venv\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:1286 run return self._extended.call_for_each_replica(fn, args=args, kwargs=kwargs) C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\venv\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:2849 call_for_each_replica return self._call_for_each_replica(fn, args, kwargs) C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\venv\lib\site-packages\tensorflow\python\distribute\distribute_lib.py:3632 _call_for_each_replica return fn(*args, **kwargs) C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\venv\lib\site-packages\keras\engine\training.py:835 run_step ** outputs = model.train_step(data) C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\venv\lib\site-packages\keras\engine\training.py:787 train_step y_pred = self(x, training=True) C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\venv\lib\site-packages\keras\engine\base_layer.py:1020 __call__ input_spec.assert_input_compatibility(self.input_spec, inputs, self.name) C:\Users\IshitobiHyo\PycharmProjects\WeatherAINeu\venv\lib\site-packages\keras\engine\input_spec.py:250 assert_input_compatibility raise ValueError( ValueError: Input 0 of layer sequential is incompatible with the layer: expected axis -1 of input shape to have value 10 but received input with shape (None, 11)
該当のソースコード
Python
1import matplotlib.pyplot as plt 2import numpy as np 3import pandas as pd 4import seaborn as sns 5from tensorflow import keras 6from tensorflow.keras.callbacks import Callback 7from tensorflow.keras import Sequential 8from tensorflow.keras import layers 9from tensorflow.keras.optimizers import RMSprop 10 11 12def create_data(file): 13 column_names = [ 14 'ave_temp', 15 'precipitation', 16 'daylight', 17 'wind', 18 'ave_cloud_cover', 19 'ave_press', 20 'ave_humid', 21 'ave_sea_press', 22 'ave_local_press', 23 'max_temp', 24 'min_temp' 25 ] 26 data_ori = pd.read_csv(file, header=None) 27 data_ori = data_ori.drop([0, 1, 2, 3, 15], axis=1) 28 data_ori.columns = column_names 29 30 return data_ori 31 32 33csv = 'Nagoya.csv' 34raw_dataset = create_data(csv) 35raw_dataset.dropna() 36dataset = raw_dataset.copy() 37train_dataset = dataset.sample(frac=0.8, random_state=0) 38test_dataset = dataset.drop(train_dataset.index) 39 40train_stats = train_dataset.describe() 41train_stats = train_stats.transpose() 42 43label = 'ave_temp' 44train_labels = train_dataset.pop(label) 45test_labels = test_dataset.pop(label) 46 47 48def norm(x): 49 return (x - train_stats['mean']) / train_stats['std'] 50 51 52normed_train_data = norm(train_dataset) 53normed_test_data = norm(test_dataset) 54 55 56def build_model(): 57 model = Sequential([ 58 layers.Dense(64, activation='relu', input_shape=[len(train_dataset.keys())]), 59 layers.Dense(64, activation='relu'), 60 layers.Dense(1) 61 ]) 62 optimizer = RMSprop(0.001) 63 model.compile(loss='mse', optimizer=optimizer, metrics=['mae', 'mse']) 64 return model 65 66 67model = build_model() 68model.summary() 69 70 71class PrintDoc(Callback): 72 def on_epoch_end(self, epoch, logs=None): 73 if epoch % 100 == 0: 74 print('') 75 print('.', end='') 76 77 78EPOCHS = 1000 79 80print(normed_train_data) 81print(train_labels) 82 83history = model.fit( 84 normed_train_data, train_labels, 85 epochs=EPOCHS, validation_split=0.2, verbose=0, 86 callbacks=[PrintDoc()] 87) 88 89hist = pd.DataFrame(history.history) 90hist['epoch'] = history.epoch 91hist.tail()
Nagoya.csv
2021,1,1,2021/1/1,3,0,2.5,3.8,5.3,5.3,69,1019.2,1012.2,5.9,1.2,168 2021,1,2,2021/1/2,3.7,0,6.4,2.7,4.3,5.5,70,1020.8,1013.7,8.3,-1,92 2021,1,3,2021/1/3,4,0,1.2,2,10,6.1,75,1024.8,1017.7,7.9,1.5,152 2021,1,4,2021/1/4,5.6,0,6.7,2.6,5.3,6.4,72,1027.2,1020.2,11,2.7,99 2021,1,5,2021/1/5,5.3,0,1.1,1.8,9.3,6.5,74,1021.9,1014.9,8.6,2,161 2021,1,6,2021/1/6,6.5,0,5.4,2.9,8.5,5.8,61,1015.5,1008.6,10.7,3.9,103 2021,1,7,2021/1/7,3.3,0,4.5,4.9,9.8,4,52,1011.6,1004.6,8.1,-0.9,153 2021,1,8,2021/1/8,0,0,6.3,3.5,1.5,2.7,44,1013.2,1006.1,4.1,-2.2,92 2021,1,9,2021/1/9,0.5,0,8.7,2.4,1.5,2.7,43,1014.2,1007.1,5.8,-3.7,92 2021,1,10,2021/1/10,1.3,0,7.7,2.4,3.5,4.2,61,1020.1,1012.9,5.8,-1.8,92 2021,1,11,2021/1/11,2.2,0,2,1.8,8,5.2,72,1023.7,1016.6,6,-1,162 2021,1,12,2021/1/12,2.9,1.5,0.2,1.8,8.8,6.8,90,1016.4,1009.3,4.4,1.2,8 2021,1,13,2021/1/13,3.8,0,9.4,2.2,0.8,6,77,1018.1,1011.1,10.1,-0.6,92 2021,1,14,2021/1/14,6.3,0,7,2.6,2.3,6.6,71,1021.3,1014.3,12.3,0.6,99 2021,1,15,2021/1/15,7,0,9,1.5,2,6.5,67,1021.6,1014.6,14.2,1.1,98 2021,1,16,2021/1/16,6.8,0,3.6,2.2,6.8,7.9,80,1015.4,1008.5,12.5,2.7,234 2021,1,17,2021/1/17,4.7,0,1.1,3.2,9,6.2,73,1017.5,1010.5,9.1,2.4,184 2021,1,18,2021/1/18,4.2,0,9.3,3.4,3.5,5,63,1017,1010,8.6,0.1,92 2021,1,19,2021/1/19,3.1,0,6.8,5.5,4,4.5,59,1023.4,1016.3,6.5,-0.2,92 2021,1,20,2021/1/20,3.1,0,9.9,2.5,0.3,4,52,1029.7,1022.6,9.2,-2.1,98 2021,1,21,2021/1/21,5.4,0,8.9,1.5,3.5,4.7,55,1026.4,1019.3,13.1,-1.2,123 2021,1,22,2021/1/22,7.7,0.5,0,1.8,10,8.2,76,1019.6,1012.7,11.1,4.5,8 2021,1,23,2021/1/23,8.3,19,0,2.4,10,10.6,97,1017.1,1010.2,8.9,7.4,1 2021,1,24,2021/1/24,8.2,10.5,0,2.5,10,10.5,96,1018.4,1011.5,10.2,7,1 2021,1,25,2021/1/25,9,0,9.3,2.4,1.3,8.1,73,1024.7,1017.8,15.4,4.8,92 2021,1,26,2021/1/26,9.6,8,6.6,2,9,8.7,75,1021.6,1014.7,15.4,3.9,161 2021,1,27,2021/1/27,10.9,15,6.7,4.9,5.5,9.2,71,1013.7,1006.9,15.1,6.7,103 2021,1,28,2021/1/28,7.7,0,0,1.9,10,6.7,64,1010.4,1003.5,10.2,5.1,152 2021,1,29,2021/1/29,2.4,1.5,4.9,6.1,9.5,5.4,75,1011.7,1004.6,7.7,0,96 2021,1,30,2021/1/30,2.8,0.5,6.8,3.1,7,5.4,73,1022.6,1015.5,6.8,-1.2,109 2021,1,31,2021/1/31,5.7,0,9.7,3.2,3.8,5.7,65,1028,1021,10.9,2.2,92
補足情報(FW/ツールのバージョンなど)
python 3.9.0
tensflow 2.6.0

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/17 13:07