gpt4 book ai didi

keras - keras中的断言错误

转载 作者:行者123 更新时间:2023-12-04 17:53:35 25 4
gpt4 key购买 nike

我正在尝试在 keras 中编写 GAN,但在运行它时遇到此断言错误。经过搜索我发现问题的最可能原因是旧版本的theano。我将 theano 更新到最新的 github 开发版本 0.9.0beta1 但我仍然遇到同样的错误。

from keras.models import Sequential
from keras.layers import Dense, Activation, Dropout
from keras.optimizers import SGD

print "Setting up decoder"
D = Sequential()
D.add(Dense(100, input_dim=100, activation='relu'))
D.add(Dropout(0.5))
D.add(Dense(50, activation='relu'))
D.add(Dropout(0.5))
D.add(Dense(1, activation='sigmoid'))
sgd = SGD(lr=0.01, momentum=0.1)
D.compile(loss='binary_crossentropy', optimizer=sgd)

print "Setting up generator"
G = Sequential()
G.add(Dense(1, input_dim=1, activation='relu'))
G.add(Dropout(0.5))
G.add(Dense(50, activation='relu'))
G.add(Dropout(0.5))
G.add(Dense(1, activation='sigmoid'))
sgd = SGD(lr=0.01, momentum=0.1)
G.compile(loss='binary_crossentropy', optimizer=sgd)

print "Setting up combined net"
gen_dec = Sequential()
gen_dec.add(G)
D.trainable=False
gen_dec.add(D)
gen_dec.compile(loss='binary_crossentropy', optimizer=sgd)
gen_dec.summary()

问题发生在gen_dec.add(D)这一段

assert input_shape[-1] and input_shape[-1] == self.input_dim
AssertionError

最佳答案

我认为这是你代码中的错字......请将生成器的最后一层从:

G.add(Dense(1, activation='sigmoid'))

到:

G.add(Dense(100, activation='sigmoid'))

我猜你不希望你的生成器只产生 1 个像素,因为你的鉴别器需要 100 个输入。

错误来自于您的第一个模型输出形状为 (batch_size, 1) 的张量,而您的第二个模型输入的输入形状为 (batch_size, 100)。因此断言错误。

它现在正在我的笔记本电脑上编译。

关于keras - keras中的断言错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42323035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com