我正在嘗試導入 jupyter 筆記本中的 .py 檔案。
import torch
from torch import Tensor
import dlc_practical_prologue as prologue
這就是我得到的錯誤。 dlc_practical_prologue.py 位於同一目錄中。我正在使用虛擬盒子。
usage: ipykernel_launcher.py [-h] [--full] [--tiny] [--force_cpu]
[--seed SEED] [--cifar] [--data_dir DATA_DIR]
ipykernel_launcher.py: error: unrecognized arguments: -f /run/user/1000/jupyter/kernel-3640175e-3052-4216-9c84-6be6f65474e4.json
An exception has occurred, use %tb to see the full traceback.
SystemExit: 2
/home/dave/miniconda3/lib/python3.6/site-packages/IPython/core/interactiveshell.py:2918: UserWarning: To exit: use 'exit', 'quit', or Ctrl-D.
warn("To exit: use 'exit', 'quit', or Ctrl-D.", stacklevel=1)
答案1
您無法匯入具有argparse
全域命名空間的檔案。
例如,您可能有以下程式碼dlc_practical_prologue.py
:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--seed', default=1, type=int)
opt = parser.parse_args()
train(opt)
您應該將程式碼移至if
語句下:
if __name__ == '__main__':
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--seed', default=1, type=int)
opt = parser.parse_args()
train(opt)