Python PyTorch 中的 torch.nn.Dropout() 方法2025 年 5 月 27 日 | 4 分钟阅读 在训练过程中,torch.nn.Dropout() 会以给定概率将输入的某些部分设为零。通过正则化采用此技术可以防止过拟合。但是,需要注意的是,此方法仅适用于非复数值输入。 语法它具有以下语法: 参数
示例 1在此示例中,我们使用 torch.nn.Dropout(),输入概率为 0.35,这意味着输入张量中的每个元素将有 35% 的概率被置零。 代码 输出 Original tensor: tensor([-0.7345, 0.4347, -0.1237, 1.3379, 0.2343]) Output tensor: tensor([-1.1308, 0.0000, -0.1903, 2.0583, 0.3605]) 示例 2在这种情况下,我们使用 torch.nn.Dropout() 方法,概率为 (0.85),且 inplace = True。输入张量的每个元素有 85% 的概率被置零,并且是原地操作。 代码 输出 Original tensor: tensor([[-0.1345, -0.7437, 1.2377], [ 0.9337, 1.6473, 0.4346], [-0.6345, 0.9344, -0.2456]]) Output tensor after applying dropout: tensor([[ 0.0000, 0.0000, 0.0000], [ 0.0000, 10.9820, 0.0000], [ 0.0000, 0.0000, -1.6372]]) 示例 3在下一个 Python 程序中,我们将 p = 0.5;因此,每个元素将有 50% 的概率被置零。 代码 输出 Input tensor: tensor([ 0.3667, -0.9647, 0.8537, 1.3171]) Output Tensor: tensor([ 0.7334, -1.9294, 0.0000, 0.0000]) 示例 4在下面的 Python 程序中,我们定义 p = 0.25;也就是说,输入张量中的任何元素有 25% 的概率被置零。 代码 输出 Input tensor: tensor([[-0.0999, 0.3457, 0.4531], [ 1.2090, -0.7589, 1.0932], [-0.1260, 0.7774, 1.0710], [ 1.4131, -1.7814, -0.5732]]) Output Tensor: tensor([[-0.1331, 0.4609, 0.6042], [ 1.6120, -1.0119, 1.4576], [-0.0000, 1.0365, 1.4280], [ 1.8841, -0.0000, -0.7642]]) 示例 5输出 Accuracy: 0.79 Accuracy: 0.83 Accuracy: 0.76 Accuracy: 0.81 Accuracy: 0.78 Accuracy: 0.80 Accuracy: 0.75 Accuracy: 0.82 Accuracy: 0.77 Accuracy: 0.79 Baseline: 79.10% (+/- 2.72%) 下一主题主成分分析 |
我们请求您订阅我们的新闻通讯以获取最新更新。