深度学习 李沐报错

3.6. softmax回归的从零开始实现 — 动手学深度学习 2.0.0 documentation

softmax从0开始实现

函数执行需要加main指定

改成这样

if __name__=="__main__":
    print(evaluate_accuracy(net, test_iter))

不然会这样出错

RuntimeError: 
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.

### Softmax 回归代码报错解决方案 在使用老师的《动手学深度学习》中的 Softmax 回归代码时,可能会遇到一些运行错误。以下是常见的几种问题及其对应的解决方案: #### 1. **缺少 `if __name__ == '__main__'` 检查** 当在 Windows 系统下使用 PyTorch 的 `DataLoader` 加载数据时,如果未将主程序逻辑放入 `if __name__ == '__main__':` 块中,则可能导致多进程相关错误。这是因为 Windows 下的多进程启动方式不同于 Linux 或 macOS。 修正方法是在脚本顶部添加如下代码块[^1]: ```python if __name__ == "__main__": # 主程序逻辑写在这里 pass ``` #### 2. **设置 `num_workers=0` 禁用多线程** 另一个常见问题是由于 `DataLoader` 使用了多个工作线程 (`num_workers`) 导致的兼容性问题。可以通过将 `num_workers` 参数设为 0 来禁用多线程加载功能,从而避免潜在的冲突。 修改后的代码片段可能类似于以下内容: ```python train_iter = torch.utils.data.DataLoader(train_dataset, batch_size=batch_size, shuffle=True, num_workers=0) test_iter = torch.utils.data.DataLoader(test_dataset, batch_size=batch_size, shuffle=False, num_workers=0) ``` #### 3. **配置系统环境变量** 某些情况下,特别是涉及 PyQt5 库或其他图形界面库时,可能会因为路径缺失而导致错误。此时可以尝试通过设置系统环境变量来解决问题。具体操作是,在系统的环境变量中新增一项名为 `QT_QPA_PLATFORM_PLUGIN_PATH` 的变量,并将其值指向 PyQt5 插件目录的位置[^3]。 例如,对于 Python 安装路径为 `C:\Users\AppData\Local\Programs\Python\Python38\Lib\site-packages\PyQt5\Qt5\plugins` 的情况,应确保该路径被正确指定给新创建的环境变量。 #### 4. **理解模型结构与调试技巧** Softmax 回归作为简单的分类模型之一,通常由两部分组成——编码器负责提取特征,而解码器则完成最终预测任务。这种架构设计有助于我们更好地定位并修复可能出现的问题。比如,在卷积神经网络 (CNN) 中,“特征提取”充当编码角色;而在循环神经网络 (RNN) 场景里,文本会被转化为向量形式再进一步处理[^2]。 因此,在排查软最大回归实现过程里的异常状况之前,先确认输入数据是否已被适当地转换成了适合当前算法使用的格式至关重要。 --- ### 总结 针对老师书中提到的 Softmax 回归代码执行过程中所遭遇的各种典型差错现象提供了以上几条应对策略。实际应用当中可以根据具体情况选用合适的办法加以解决。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值