Керас: Ожидается, что плотность_входа будет иметь 3 измерения, но он получит массив с формой (х, у) - PullRequest
1 голос
/ 05 марта 2020

Я работаю над этим проектом и не могу понять, почему я получаю эту ошибку. Я жестко запрограммировал входы и выходы тренировки, вот весь мой код. Я новичок в написании кода AI (я - студент-электротехник), поэтому мне жаль, если он выглядит ужасно :(.

from __future__ import absolute_import, division, print_function, unicode_literals
import tensorflow as tf
from tensorflow.keras import Sequential
from tensorflow.keras.layers import Dense, Flatten
import numpy as np
from numpy import exp, array, random, dot
import cmath

###train_input = [input power, tl12, tl4, rout, smith_imp]###
training_set_inputs = X = array([
    [0.001, (57.787+9.323j), (39.7-102.789j), 2000, (49.306+3.343j)],
    [0.001, (57.787+9.323j), (25.003-108.861j), 4000, (40.055+23.539j)],
    [0.001, (57.787+9.323j), (13.020-111.297j), 10000, (34.116+28.402j)],
    [1*10**-4, (57.814+9.237j), (23.708-102.443j), 2000, (49.556+22.397j)],
    [1*10**-4, (57.814+9.237j), (16.712-104.013j), 4000, (40.966+38.298j)],
    [1*10**-4, (57.814+9.237j), (10.482-105.169j), 10000, (25.069+48.663j)],
    [1*10**-5, (57.814+9.237j), (11.363-102.341j), 2000, (38.133+49.859j)],
    [1*10**-5, (57.814+9.237j), (10.285-102.579j), 4000, (31.647+54.320j)],
    [1*10**-5, (57.814+9.237j), (8.829-102.908j), 10000, (23.171+58.023j)]
])

training_set_outputs = y = array([
    [1.2*10**-12, 18*10**-9],
    [2.7*10**-12, 22*10**-9],
    [3.9*10**-12, 20*10**-9],
    [1.2*10**-12, 18*10**-9],
    [2.7*10**-12, 22*10**-9],
    [3.9*10**-12, 20*10**-9],
    [1.2*10**-12, 18*10**-9],
    [2.7*10**-12, 22*10**-9],
    [3.9*10**-12, 20*10**-9]
]).T

#Define the Model
model = Sequential()
model.add(Dense(10, input_shape=(9, 5)))

#Compile the Model
opt = tf.keras.optimizers.SGD(learning_rate=0.01, momentum=0.9)
model.compile(optimizer=opt, loss='binary_crossentropy', metrics=['accuracy']) #binary classification

#Fit the Model
model.fit(X, y, epochs=100, batch_size=32) #can add verbose=0 if you want to turn off training outputs

#Evaluate the Model
loss = model.Evaluate(X, y, verbose=0)

#Make a prediction
yhat = model.predict(X)

#Goal input
#array = [input power, tl12, tl4, rout, (50+0j)]

У кого-нибудь есть какие-либо предложения? Дайте мне знать, если вы увидите какие-либо другие ошибки тоже :) Заранее большое спасибо !!

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