通过bash脚本在虚拟环境中多次运行python脚本

时间:2018-12-05 10:37:34

标签: python bash virtualenv

我正在调整深度学习网络的超级参数,因此我需要反复运行命令以尝试不同的值。我想在虚拟环境中运行这样的命令。我有以下脚本可以这样做:

Name    Manager     Area    SomeField   MilesFrom

但是,由于我运行以下代码,因此似乎没有激活AIenv:

#!/bin/bash

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

#added by Anaconda3 installer
export PATH="/home/javier/anaconda3/bin:$PATH"

source /home/javier/anaconda3/bin/activate AIenv


backbones=("resnet101")
gradient_clip_norms=(5 10)
learning_rates=(0.0001 0.00001 0.000001)
weight_decays=(0.001 0.0005 0.0001)
layers=('heads')

for i in "${backbones[@]}"
do
  for j in "${gradient_clip_norms[@]}"
  do
    for k in "${learning_rates[@]}"
    do
      for l in "${weight_decays[@]}"
      do
        for m in "${layers[@]}"
        do
         echo "-----------------------------------------------------------------------------------"
         echo  "backbone:" $i " gradient_clip_norms:" $j " learning_rate:" $k " weight_decays:" $l "layers:" $m
         echo "-----------------------------------------------------------------------------------"
         python3 custom.py train --dataset=customImages/ --weights=coco --backbone=$i --grad_clip_norms=$j --learn_rate=$k --weight_decays=$l --layers=$m
         echo "successfully done"
        done
      done
    done
  done
done

,输出为:from distutils.sysconfig import get_python_lib print (str(get_python_lib())) 而不是/home/javier/anaconda3/lib/python3.6/site-packages

我在终端中运行此命令以运行bash脚本(由于培训需要2天以上的时间,因此在后台运行):

/home/javier/anaconda3/envs/AIenv/lib/python3.6/site-packages

如何以这种方式激活虚拟环境?

1 个答案:

答案 0 :(得分:0)


代替使用命令行:source /home/javier/anaconda3/bin/activate AIenv

只需使用:export PATH="/home/javier/anaconda3/envs/AIenv/bin:$PATH"

希望它有助于激活AIenv。