Keras CNN 模型抛出错误消息“ValueError: Layer 'conv1d_12'预期 2 个变量,但在加载过程中收到 0 个变量”

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

我正在尝试实现一个 CNN 模型来帮助预测肾结石。现在,这个模型在我的本地计算机上按预期运行,但是当我尝试通过 Streamlit Cloud 部署应用程序时,它会抛出错误:

ValueError:层“conv1d_12”需要 2 个变量,但在加载过程中收到 0 个变量。预期:['conv1d_12/kernel:0', 'conv1d_12/bias:0']

什么会导致这个问题?

from sklearn.model_selection import train_test_split

X = df1[['gravity', 'ph', 'osmo', 'cond', 'urea', 'calc', 'osmo_cond_ratio', 'urea_calc_diff', 'osmo_urea_interaction', 'gravity_bin', 'ph_bin', 'osmo_bin', 'cond_bin', 'urea_bin', 'calc_bin']]
y = df1['target']

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=None)

X_train = np.reshape(X_train.to_numpy(), (X_train.shape[0], X_train.shape[1], 1))
X_test = np.reshape(X_test.to_numpy(), (X_test.shape[0], X_test.shape[1], 1))

model = Sequential()

model.add(Conv1D(filters=32, kernel_size=3, padding='same', activation='relu', input_shape=(X_train.shape[1], X_train.shape[2])))\
model.add(Conv1D(filters=64, kernel_size=3, padding='same', activation='relu'))\
model.add(Conv1D(filters=128, kernel_size=3, padding='same', activation='relu'))\
model.add(MaxPooling1D(pool_size=2))model.add(Dropout(0.2))

model.add(Bidirectional(LSTM(128, return_sequences=True)))\
model.add(Bidirectional(LSTM(64)))model.add(Dropout(0.2))
python machine-learning keras deep-learning conv-neural-network
1个回答
0
投票

加载预训练模型时出现类似的错误。 ValueError:层“conv2d”需要 2 个变量,但在加载过程中收到 0 个变量。预期:['conv2d/kernel:0', 'conv2d/bias:0']

© www.soinside.com 2019 - 2024. All rights reserved.