运行 python 脚本通过 bash 脚本多次使用虚拟环境
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有所帮助
我正在调整深度学习网络的超参数,因此我需要 运行 一个命令来迭代尝试不同的值。我想运行这样的命令使用虚拟环境。我有以下脚本可以这样做:
#!/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有所帮助