首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过try-except语句突破这种for循环?

如何通过try-except语句突破这种for循环?
EN

Stack Overflow用户
提问于 2019-06-28 18:39:52
回答 1查看 88关注 0票数 0

我有一个引用https://machinetalk.org/2019/03/29/neural-machine-translation-with-attention-mechanism/?unapproved=67&moderation-hash=ea8e5dcb97c8236f68291788fbd746a7#comment-67:-for循环,其中包含try-except块的摘录

代码语言:javascript
复制
for e in range(NUM_EPOCHS):
    en_initial_states = encoder.init_states(BATCH_SIZE)

    for batch, (source_seq, target_seq_in, target_seq_out) in enumerate(dataset.take(-1)):
        loss = train_step(source_seq, target_seq_in,
                          target_seq_out, en_initial_states)

        if batch % 100 == 0:
                print('Epoch {} Batch {} Loss {:.4f}'.format(
                    e + 1, batch, loss.numpy()))


    try:
        test_target_text,net_words = predict()
    except Exception:
      continue

    if loss <=0.0001:
       break

我希望从循环中走出来,不执行try块,离开所有东西,简单地从两个循环中走出来,即内循环和外循环以及整个try-except块。我不知道出了什么问题,因为在内/外循环块中使用if条件不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-01 15:47:45

这可能是嵌套循环的问题,如this answer所述。他们建议使用return,但是你的循环需要写成一个函数。如果这没有吸引力,您可以尝试使用不同级别的break语句,如一些答案中所示。使用for,else构造(explained here),我认为您的代码应该如下所示

代码语言:javascript
复制
for e in range(NUM_EPOCHS):
    en_initial_states = encoder.init_states(BATCH_SIZE)

    for batch, (source_seq, target_seq_in, target_seq_out) in enumerate(dataset.take(-1)):
        loss = train_step(source_seq, target_seq_in,
                          target_seq_out, en_initial_states)

        if batch % 100 == 0:
                print('Epoch {} Batch {} Loss {:.4f}'.format(
                    e + 1, batch, loss.numpy()))


    try:
        test_target_text,net_words = predict()
    except Exception:
      continue

    if loss <=0.0001:
       break
else:
    continue ###executed if inner loop did NOT break
break  ###executed if inner loop DID break
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56805439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档