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

一、问题描述

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

相关推荐
chase。25 分钟前
机器人零位标定修正流程介绍
人工智能·算法·机器人
阿明观察28 分钟前
聚焦AI与大模型创新,紫光云如何引领云计算行业快速演进?
人工智能·云计算
罗西的思考33 分钟前
探秘Transformer系列之(26)--- KV Cache优化 之 PD分离or合并
人工智能
小马过河R1 小时前
通俗理解CLIP模型如何实现图搜图乃至文搜图
人工智能·深度学习·机器学习·语言模型·nlp
KarudoLee1 小时前
AIGC6——AI的哲学困境:主体性、认知边界与“天人智一“的再思考
人工智能
xcLeigh1 小时前
计算机视觉卷积神经网络(CNN)基础:从LeNet到ResNet
人工智能·计算机视觉·ai·cnn·卷积神经网络
azoo1 小时前
jupyter notebook 无法启动- markupsafe导致
ide·人工智能·jupyter
Julian.zhou1 小时前
A2A与MCP Server:AI智能体协作与工具交互的核心协议对比
人工智能·架构·交互
CareyWYR1 小时前
每周AI论文速递(250407-250411)
人工智能
机器之心2 小时前
魔改AlphaZero后,《我的世界》AI老玩家问世,干活不用下指令
人工智能