Tensorflow: ошибка, связанная с размером матрицы, в Tensors - PullRequest
0 голосов
/ 13 октября 2018

Я пытаюсь выполнить бинарную классификацию для одномерного числового набора данных с помощью Tensorflow.Мой набор данных содержит 6 функций / переменных, включая метку с примерно 90 экземплярами.Вот предварительный просмотр моих данных:

sex,age,Time,Number_of_Warts,Type,Area,Result_of_Treatment
1,35,12,5,1,100,0
1,29,7,5,1,96,1
1,50,8,1,3,132,0
1,32,11.75,7,3,750,0
1,67,9.25,1,1,42,0

Я делю свои данные с помощью функции train_test_split sklearn следующим образом:

X_train, X_test, y_train, y_test = train_test_split(data, y, test_size=0.33, random_state=42)

Затем я преобразовываю свои данные в Tensors с помощью следующего кода:

X_train=tf.convert_to_tensor(X_train)
X_test = tf.convert_to_tensor(X_test)

y_train=tf.convert_to_tensor(y_train)
y_test = tf.convert_to_tensor(y_test)

После этого я начинаю строить простую последовательную модель.

from keras import models
from keras import layers

from keras import models
from keras import layers

model = models.Sequential()
model.add(layers.Dense(16, activation='relu', input_shape=(60,)))
model.add(layers.Dense(16, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))

model.compile(optimizer=optimizers.RMSprop(lr=0.001),
          loss='binary_crossentropy',
          metrics=['accuracy'])

Ошибка возникает при вызове функции подгонки

 history = model.fit(X_train,y_train,epochs=10,steps_per_epoch=200)

 InvalidArgumentError: Matrix size-incompatible: In[0]: [60,6], In[1]: [60,16]
 [[{{node dense_43/MatMul}} = MatMul[T=DT_FLOAT, _class=["loc:@training_8/RMSprop/gradients/dense_43/MatMul_grad/MatMul_1"], transpose_a=false, transpose_b=false, _device="/job:localhost/replica:0/task:0/device:CPU:0"](_identity_dense_43_input_0, dense_43/kernel/read)]]

1 Ответ

0 голосов
/ 13 октября 2018

Я думаю, это должно быть

model.add(layers.Dense(16, activation='relu', input_shape=(6,)))

Вы должны ссылаться на столбцы, а не на строки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...