образец нейронной сети - PullRequest
0 голосов
/ 26 мая 2019

В коде нейронной сети, который я написал, я не смог получить ответ, так как проблема выравнивания.

Я написал код нейронной сети (на основе некоторых других).Я попытался построить ввод и вывод в правильном направлении.Хотя я определил класс и операции правильно, я не смог получить ответ, так как проблема выравнивания.Ошибка: формы (127,3) и (1,4) не выровнены: 3 (тусклый 1)! = 1 (тусклый 0)

Datafile = pd.read_excel(r"C:\\Users\Hasan\Desktop\ANN\x.xlsx") равен 127x3

Target = pd.read_excel(r"C:\\Users\Hasan\Desktop\ANN\y.xlsx") равен127x1

class Neural_Network(object):

def __init__(self):
  self.inputlayer = 1

  self.w1 = np.random.randn(self.inputlayer, self.hiddenlayer)

  self.z = np.dot(Datafile, self.w1)

Я думаю, что это из-за размера двух матриц, но даже когда я изменил размеры, это не сработало.Вся помощь будет оценена

1 Ответ

0 голосов
/ 26 мая 2019

Для умножения матрицы (dot product) число columns of first matrix должно быть равно числу rows of second matrix.

В вашем случае Datafile имеет 3 columns, тогда как w1 имеет 1 rowВот почему он выдает ошибку из-за неправильных размеров.

Для примера приведу случайные матрицы:

Datafile = np.random.rand(127, 3)
w1 = np.random.rand(3, 127)

z = np.dot(Datafile, w1)

print(z.shape)

Вывод: (127, 127)

InВ этом примере Datafile имеет 3 столбца, а w1 - 3 строки, поэтому в этом случае dot-product будет успешным.

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