CNNでの2値分類の際にreshapeに関するエラーが出てしまう.
解決したいこと
CNNで2値分類する際に,エラーをはいてしまいます.
reshapeの問題だと思うのですが全く分からず...教えていただけると幸いです.
発生している問題・エラー
Input to reshape is a tensor with 800 values, but the requested shape has 32
[[{{node ArithmeticOptimizer/ReorderCastLikeAndValuePreserving_bool_Reshape}}]] [Op:__inference_train_function_6805]
該当するソースコード
import numpy as np
from sklearn import svm
from sklearn.metrics import confusion_matrix
from keras.models import Sequential
from keras.layers import Dense, Dropout
import matplotlib.pyplot as plt
from keras.layers.convolutional import Conv1D, UpSampling1D
from keras.layers.pooling import MaxPooling1D
from keras.callbacks import EarlyStopping
epochs = 100
samples = np.loadtxt('train.txt', delimiter=',')
samples_label = samples[:, 0].astype(int)
samples_data = samples[:, 1:101]
print(samples_label.shape)
print(samples_data.shape)
samples_label = np.reshape(samples_label, (-1, 1, 1))
samples_data = np.reshape(samples_data, (-1, 100, 1))
print(samples_label.shape)
print(samples_data.shape)
early_stopping = EarlyStopping(monitor='val_loss', min_delta=0.0, patience=5)
model = Sequential()
model.add(Conv1D(100, 8, padding='same', input_shape=(100, 1), activation='relu'))
model.add(MaxPooling1D(2, padding='same'))
model.add(Conv1D(100, 8, padding='same', activation='relu'))
model.add(MaxPooling1D(2, padding='same'))
model.add(Conv1D(50, 8, padding='same', activation='relu'))
model.add(Conv1D(1, 8, padding='same', activation='tanh'))
model.add(Dense(2, activation='softmax'))
model.compile(loss='mse', optimizer='adam', metrics=['accuracy'])
model.summary()
history = model.fit(samples_data, samples_label, validation_split=0.1, epochs=epochs)
plt.plot(range(epochs), history.history['loss'], label='loss')
plt.plot(range(epochs), history.history['val_loss'], label='val_loss')
plt.xlabel('epoch')
plt.ylabel('loss')
plt.legend()
plt.show()
0 likes