簡體   English   中英

通過bash腳本在虛擬環境中多次運行python腳本

[英]running a python script several times using a virtual environment by means of a bash script

我正在調整深度學習網絡的超級參數,因此我需要反復運行命令以嘗試不同的值。 我想在虛擬環境中運行這樣的命令。 我有以下腳本可以這樣做:

#!/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

但是,由於我運行以下代碼,因此似乎沒有激活AIenv:

from distutils.sysconfig import get_python_lib
print (str(get_python_lib()))

輸出為: /home/javier/anaconda3/lib/python3.6/site-packages而不是/home/javier/anaconda3/envs/AIenv/lib/python3.6/site-packages

我在終端中運行以下命令以運行bash腳本(在后台運行,因為培訓需要2天以上的時間):

nohup ./run_hyper_param_tuning.sh> ../../logs/hyper_model_wed.txt 2>&1  & echo $! >save_pid.txt

如何以這種方式激活虛擬環境?


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

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

希望它有助於激活AIenv。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM