变量不能在数组中使用

问题描述 投票:0回答:1

我正在尝试创建一个神经网络来添加和减去整数。代码如下:

model_add = Sequential(
        [
            Dense(10, activation='relu'),
            Dense(1, activation ='relu')
            ]
        )

model_subtract = Sequential(
        [
            Dense(10, activation='relu'),
            Dense(1, activation ='relu')
            ]
        )

model_add.compile(loss = 'mse', optimizer='adam')
batch_size = 32
epochs = 100
model_add.fit(X_train, y_train, batch_size=batch_size, epochs=epochs, verbose = 0)


model_subtract.compile(loss = 'mse', optimizer='adam')
batch_size = 32
epochs = 100
model_add.fit(X_train, y_train, batch_size=batch_size, epochs=epochs, verbose = 0)

print("enter first num:")
x = input()

print("Enter operation:")
op= input()

print("enter second num:")
y = input()

X = int(x)
Y = int(y)

if op == "+":
    predicted_sum = model_add.predict([X, Y])
    print(predicted_sum)
elif op =="-":
    predicted_sum = model_subtract.predict([X, Y])
    print(predicted_sum)

在输入 1+2 时,这会产生错误:

raise ValueError(f"Unrecognized data type: x={x} (of type {type(x)})")
ValueError: Unrecognized data type: x=[1, 2] (of type <class 'list'>)

有人可以解释为什么会发生这种情况以及如何解决它吗?

python arrays neural-network
1个回答
-2
投票

看起来您正在函数中传递一个列表作为参数,如果您希望传递 2 个参数,则会导致错误。

def model_add(x):
    return x[0] + x[1]
def model_subtract(x):
    return x[0] - x[1]

print("enter first num:")
x = input()

print("Enter operation:")
op= input()

print("enter second num:")
y = input()

X = int(x)
Y = int(y)

if op == "+":
    predicted_sum = model_add([X, Y])
    print(predicted_sum)
elif op =="-":
    predicted_sum = model_subtract([X, Y])
    print(predicted_sum)
© www.soinside.com 2019 - 2024. All rights reserved.