动手学深度学习3.6节softmax回归常见报错解决方法

目录

一、RuntimeError: DataLoader worker (pid(s) ...) exited unexpectedly

二、Figure size 350x250 with 1 Axes,不能可视化训练进度


一、RuntimeError: DataLoader worker (pid(s) ...) exited unexpectedly

1、ctrl+左键点击第8行的train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)的load_data_fashion_mnist函数
2、进入函数后找到194行的get_dataloader_workers()函数,将return 4改为return 0

        报错原因:linux系统中可以使用多个子进程加载数据,而在windows系统中不能。所以在windows中要将DataLoader中的num_workers应该设置为0

二、Figure size 350x250 with 1 Axes,不能可视化训练进度

1、代码导入plt模块

import matplotlib.pyplot as plt

2、将Animator类中的add函数用下面修改后的替换

def add(self, x, y):
    # Add multiple data points into the figure
    if not hasattr(y, "__len__"):
        y = [y]
    n = len(y)
    if not hasattr(x, "__len__"):
        x = [x] * n
    if not self.X:
        self.X = [[] for _ in range(n)]
    if not self.Y:
        self.Y = [[] for _ in range(n)]
    for i, (a, b) in enumerate(zip(x, y)):
        if a is not None and b is not None:
            self.X[i].append(a)
            self.Y[i].append(b)
    self.axes[0].cla()
    for x, y, fmt in zip(self.X, self.Y, self.fmts):
        self.axes[0].plot(x, y, fmt)
    self.config_axes()
    display.display(self.fig)
    # 通过以下两行代码实现了在PyCharm中显示动图
    plt.draw()
    plt.pause(interval=0.001)
    display.clear_output(wait=True)
3、在模型训练train_ch3(net, train_iter, test_iter, cross_entropy, num_epochs, updater)后一行添加
d2l.plt.show()
备注:后续章节如需用到相应函数,则需要按上述方法修改d2l包中的Animator类中的add函数           

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值