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)