【深度学习】【模型训练】输出轮数卡住不动【解决方案】

一、问题描述

如下图,笔者最近做一个Python深度学习项目时,输出迭代轮数时卡住:

如上图中所示,设置每10轮输出一次损失,相关参考代码如下:

python 复制代码
# run style transfer
max_iter = 200  # 最大迭代次数
show_iter = 10  # 打印间隔
python 复制代码
while n_iter[0] <= max_iter:

    def closure():
        optimizer.zero_grad()

        out = extract_layers(loss_layers, opt_img, model=vgg)
        layer_losses = [weights[a] * loss_fns[a](A, targets[a]) for a, A in enumerate(out)]
        loss = sum(layer_losses)
        loss.backward()
        n_iter[0] += 1
        # print loss
        if n_iter[0] % show_iter == (show_iter - 1):
            # show_iter = 10    9
            # 9, 19, 29, 39, 49
            print('Iteration: %d, loss: %f' % (n_iter[0] + 1, loss.data))

        return losswhile n_iter[0] <= max_iter:

    def closure():
        optimizer.zero_grad()

        out = extract_layers(loss_layers, opt_img, model=vgg)
        layer_losses = [weights[a] * loss_fns[a](A, targets[a]) for a, A in enumerate(out)]
        loss = sum(layer_losses)
        loss.backward()
        n_iter[0] += 1
        # print loss
        if n_iter[0] % show_iter == (show_iter - 1):
            # show_iter = 10    9
            # 9, 19, 29, 39, 49
            print('Iteration: %d, loss: %f' % (n_iter[0] + 1, loss.data))

        return loss

(代码参考书目:《Pytorch深度学习》,【印度】Vishnu Subramanian 著,王海玲 刘江峰 译,人民邮电出版社,北京,2019年4月)

二、解决方案

原本以为是代码运行过程中出现了问题,其实是Windows Powershell终端自身显示的问题。此时,按一次(注意仅一次Ctrl+C组合键,补全显示即可。(按两次会中止程序)。正确运行截图:

相关推荐
NAGNIP3 小时前
轻松搞懂全连接神经网络结构!
人工智能·算法·面试
moshuying5 小时前
别让AI焦虑,偷走你本该有的底气
前端·人工智能
董董灿是个攻城狮5 小时前
零基础带你用 AI 搞定命令行
人工智能
喝拿铁写前端7 小时前
Dify 构建 FE 工作流:前端团队可复用 AI 工作流实战
前端·人工智能
阿里云大数据AI技术8 小时前
阿里云 EMR Serverless Spark + DataWorks 技术实践:引领企业 Data+AI 一体化转型
人工智能
billhan20168 小时前
MCP 深入理解:协议原理与自定义开发
人工智能
Jahzo8 小时前
openclaw桌面端体验--ClawX
人工智能·github
billhan20168 小时前
Agent 开发全流程:从概念到生产
人工智能
用户1474853079748 小时前
AI-动手深度学习环境搭建-d2l
深度学习