【问题标题】:error: unrecognized arguments: - pytorch code in colab错误:无法识别的参数:- colab 中的 pytorch 代码
【发布时间】:2019-09-11 13:41:19
【问题描述】:

我尝试在 google colab 上运行我的代码。但是当我尝试调用此函数时收到此消息 (error: unrecognized arguments):

def parse_opts():
 parser = argparse.ArgumentParser()
 parser.add_argument(
     '--root_path',
     default='/root/data/ActivityNet',
     type=str,
     help='Root directory path of data')
  parser.add_argument(
     '--video_path',
     default='video_kinetics_jpg',
     type=str,
     help='Directory path of Videos')
 args = parser.parse_args()

return args

但这失败了,我得到了这个错误

tester_video.py:错误:无法识别的参数: cifar_comp_20_200_0.01_0.1 20 10 0.01 0.1

我尝试使用 Easydict 但它似乎不起作用 认为

【问题讨论】:

  • 您的代码只需要两个参数,--root_path--video_path,因此您要么需要扩展它以容纳其他参数,要么只使用两个参数调用它,即根目录和视频路径。
  • 这不是完整的函数,它包含更多的参数。如果我在自己的 CPU 上运行它,它可以正常工作,但是当我将它加载到 google colaboratory 以在 GPU 上运行此代码时它不起作用..
  • 那些无法识别的参数看起来像您在调用脚本时使用的东西,即命令行的一部分吗? sys.argv 是什么样的?也许这些字符串适用于colab 环境,而不是您的脚本。
  • 这个参数被命令行正确读取,我检查了这个。当我使用“argparse”时,这在某种程度上属于谷歌 colab。我的问题与此类似:stackoverflow.com/questions/48796169/…

标签: pytorch argparse google-colaboratory


【解决方案1】:

该问题仅出现在 Jupyter notebook/lab/colab 中。

改变

args = parser.parse_args()

args = parser.parse_args(args=[])

它应该修复它。

【讨论】:

    【解决方案2】:

    我解决了这个问题。您需要使用 easydict 而不是 argparse。 插入上面的代码,你可以这样写:

    args = easydict.EasyDict(
    {
        "root_path": '/root/data/ActivityNet',
        "video_path": 'video_kinetics_jpg',
        "annotation_path": 'kinetics.json',
        "result_path": 'results',
        "dataset": 'kinetics',
        "n_classes": 400,
        "n_finetune_classes": 400,
        "sample_size": 64,
        "sample_duration": 32,
        "initial_scale": 1.0,
        "n_scales": 5,
        "scale_step": 0.84089641525,
        "train_crop": 'corner',
        "learning_rate": 0.1 )}
    

    【讨论】:

      猜你喜欢
      • 2020-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-19
      • 1970-01-01
      • 2015-12-24
      相关资源
      最近更新 更多