【发布时间】:2020-09-17 03:33:11
【问题描述】:
我已经在 Amazon SageMaker 上使用以下架构训练了一个 TensorFlow 模型:
_, timesteps, features = X_train.shape
ACTIVATION = 'relu'
EPOCHS = 50
model = Sequential()
model.add(Masking(mask_value=np.nan, input_shape=(timesteps, features)))
model.add(LSTM(64, activation=ACTIVATION, return_sequences=True))
model.add(LSTM(64, activation=ACTIVATION, return_sequences=True))
model.add(LSTM(64, activation=ACTIVATION))
model.add(BatchNormalization())
model.add(Dense(64, activation=ACTIVATION))
model.add(Dense(64, activation=ACTIVATION))
model.add(Dense(64, activation=ACTIVATION))
model.add(BatchNormalization())
model.add(Dropout(0.1))
model.add(Dense(64, activation=ACTIVATION))
model.add(Dense(1, activation='sigmoid'))
adam_low = Adam(learning_rate = 0.0001)
model.compile(optimizer=adam_low,
loss='binary_crossentropy',
metrics=['accuracy'])
如果我在本地机器上训练它并进行预测,它将输出 0 到 1 之间的浮点数。
但是,当我使用带有 TensorFlow 容器的 SageMaker 训练相同的架构时,在端点上部署保存的模型并调用 prediction = predictor.predict(x_predict) 后,输出总是只有 0 或 1。有没有办法强制预测输出 0-1 浮点数?
【问题讨论】:
标签: tensorflow amazon-sagemaker