You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言Keras模型推理阶段启用Dropout实现蒙特卡洛Dropout

在R语言Keras中实现蒙特卡洛Dropout

在R的Keras框架里,要让Dropout层在推理阶段也生效,核心是调用predict()时指定training = TRUE参数,这和Python中设置training=True的逻辑完全一致。

具体操作方法

  • 保留你原来的模型结构即可:
model <- keras_model_sequential() %>%
    layer_dense(10, activation = "relu") %>%
    layer_dropout(0.2)
  • 推理阶段执行预测时,添加training = TRUE参数,强制Dropout层进入训练模式:
# 假设x_test是你的输入数据
first_pred <- predict(model, x_test, training = TRUE)
second_pred <- predict(model, x_test, training = TRUE)

此时first_pred和second_pred的结果会因为Dropout的随机失活机制产生差异,实现蒙特卡洛Dropout的采样效果。

额外说明

  • 如果你习惯用predict_proba()或predict_classes(),同样可以给这些函数加上training = TRUE参数,效果一样。
  • 每次带training = TRUE调用预测函数,都会触发Dropout的随机行为,多次运行就能得到多组不同的预测结果,可用于后续的模型不确定性分析。

内容的提问来源于stack exchange,提问作者jackahall

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 07:33:52