我写了一个bash脚本run.sh
,它有一个带有多个选项的python命令 -
python train.py --lr 0.01 \
--momentum 0.5 \
--num_hidden 3 \
--sizes 100,100,100 \
--activation sigmoid \
--loss sq \
--opt adam \
--batch_size 20 \
--anneal true
我尝试在iPython中运行此命令 -
!./run.sh
然而,在iPython中,我无法访问python脚本train.py
的变量。有没有办法在iPython中运行bash脚本,以便我可以访问变量?我不想每次都从bash脚本中复制粘贴上面的命令。
我目前在macOS Sierra上使用iPython 5.1.0。
答案 0 :(得分:1)
运行脚本train.py
的python进程和您在ipython命令行中使用的python进程是两个独立的进程。有意义的是,一个人不知道另一个的变量。可能有一些奇特的方式来连接这两个,但我怀疑你描述问题的方式,这是不值得的工作。
以下是获取访问权限的简便方法:您可以使用python train.py
替换脚本中的python -i train.py
。这样,您将在完成后运行脚本的过程中进入交互模式,并且可以访问主级别定义的任何内容。您可以在脚本中插入对pdb.set_trace()
的调用,以便在任意点停止。