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

一、问题描述

如下图,笔者最近做一个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组合键,补全显示即可。(按两次会中止程序)。正确运行截图:

相关推荐
思绪无限1 天前
YOLOv5至YOLOv12升级:钢材表面缺陷检测系统的设计与实现(完整代码+界面+数据集项目)
深度学习·yolo·目标检测·yolov12·yolo全家桶·钢材表面缺陷检测
Tutankaaa1 天前
从被动接受到主动挑战:知识竞赛如何重塑学习价值
人工智能·经验分享·笔记·学习
Jmayday1 天前
机器学习基本理论
人工智能·机器学习
ZhengEnCi1 天前
01b-上下文向量与信息瓶颈
人工智能
王_teacher1 天前
机器学习 矩阵求导 完整公式+严谨推导
人工智能·线性代数·考研·机器学习·矩阵·线性回归
码以致用1 天前
DeerFlow Memory架构
人工智能·ai·架构·agent
ting94520001 天前
从零构建大模型实战:数据处理与 GPT-2 完整实现
人工智能
学点程序1 天前
Manifest:帮个人 AI Agent 降低模型成本的开源路由器
人工智能·开源
可观测性用观测云1 天前
观测云 x AI Agent:运维智能化的范式跃迁实践
人工智能
数数科技的数据干货1 天前
ThinkingAI携手华为云,共建企业级AI Agent平台Agentic Engine
人工智能·ai·华为云·agent