问题标签 [automatic-mixed-precision]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pytorch - Sigmoid 与二元交叉熵损失
在我的火炬模型中,最后一层是 a torch.nn.Sigmoid()
,损失是torch.nn.BCELoss
. 在训练步骤中,出现了以下错误:
但是,当在计算损失和反向传播时尝试重现此错误时,一切正常:
我错过了什么?感谢您提供的任何帮助。
python - PyTorch 从检查点加载 GradScaler
我将模型、优化器、调度器和缩放器保存在一般检查点中。
现在,当我加载它们时,它们会正确加载,但在第一次迭代后scaler.step(optimizer)
会引发此错误:
现在我真的不明白为什么所有事物的形状都不匹配。我所做的一切都与官方文档类似,这是我的代码的缩短版本:
tensorflow - 将经过训练的模型转换为在 Tensorflow 中使用混合精度
为了改善训练模型的延迟,我尝试使用 Tensorflow 混合精度。
仅按照https://www.tensorflow.org/guide/mixed_precision中所述设置策略似乎并没有提高模型速度:
但是当尝试使用其他 CNN 网络的玩具示例时,我发现如果我使用混合精度训练模型,速度会提高 x2 倍。
我试图避免使用混合精度重新训练模型,因为我使用的模型非常复杂,并且将其转换为适合混合精度的模型并非易事。
有没有办法将已经训练的模型转换为真正在混合精度模式下工作(当然获得混合精度加速)?