Есть данные с плавающей точкой, соответствующие каждому временному шагу. Каждая запись данных представляет собой массив из 1000 чисел с плавающей запятой. Время не записывается, но составляет 0,1 с между каждой записью данных в массиве.
Я хочу подготовить и сохранить данные в соответствующем контейнере и передать их в модель LSTM.
Один раз безуказав точную длительность 0,1 с и снова с учетом продолжительности.
Что я сделал:
Я прочитал данные из файла .mat и добавил каждый массив из 1000 чисел с плавающей точкой в список:
max_Value = []
min_Value = []
scale = 2.6
X_Data=[]
Y_Data=[]
epochs_Num = 10
batch_Num = 64
name_Model = f'{LSTM_{int(time.time())}'
for i_Path in origin_Data_Path:
mat_Data = loadmat(i_Path)
data = mat_Data['data']
X_Data.append(data[:,0])
Y_Data.append(data[:,1])
...
opt = tf.keras.optimizers.Adam(lr=0.001,decay=1e-6)
ls = tf.keras.losses.sparse_categorical_crossentropy
tensorboard = TensorBoard(log_dir=f'logs/{name_Model}')
myModel.compile(loss=ls,optimizer=opt,metrics=['accuracy'])
history = myModel.fit(X_Data,
labels_Categorical,
batch_size=batch_Num,
epochs=epochs_Num,
validation_split=0.2,
callbacks= [tensorboard] )
myModel.save("myMod.h5")
Ошибка:
File "C:\Python\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 827, in runfile
execfile(filename, namespace)
File "C:\Python\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/Light/Desktop/Gesture/Test01.py", line 139, in <module>
callbacks= [tensorboard] )
File "C:\Python\Anaconda3\lib\site-packages\tensorflow_core\python\keras\engine\training.py", line 728, in fit
use_multiprocessing=use_multiprocessing)
File "C:\Python\Anaconda3\lib\site-packages\tensorflow_core\python\keras\engine\training_v2.py", line 224, in fit
distribution_strategy=strategy)
File "C:\Python\Anaconda3\lib\site-packages\tensorflow_core\python\keras\engine\training_v2.py", line 516, in _process_training_inputs
steps=steps_per_epoch)
File "C:\Python\Anaconda3\lib\site-packages\tensorflow_core\python\keras\engine\training.py", line 2472, in _standardize_user_data
exception_prefix='input')
File "C:\Python\Anaconda3\lib\site-packages\tensorflow_core\python\keras\engine\training_utils.py", line 565, in standardize_input_data
'with shape ' + str(data_shape))
ValueError: Error when checking input: expected lstm_input to have 3 dimensions, but got array with shape (1000, 1)
X_Data;структура
Структура данных.