Запущение скрипта Python из сценария оболочки с новой строкой

У меня есть код Python, который я хочу выполнить из сценария оболочки. Эти работы

python train.py --dataset './datasets/lausanne' --timestep 30 --obs_len 8 --loader_num_workers 1 --num_epochs 100 --batch_size 16 --embedding_dim 64 --h_dim 32 --num_layers 1 --mlp_dim 64 --dropout 0 --batch_norm 0 --learning_rate 0.0001 --output_dir './models' --print_every 100 --checkpoint_every 100 --checkpoint_name 'cnnlstm' --checkpoint_start_from None --restore_from_checkpoint 1 --use_gpu 1 --gpu_num '0'

Но этот не делает. Я просто хочу разделить команду на несколько строк.

python train.py \
# Dataset options
--dataset './datasets/lausanne' --timestep 30 --obs_len 8 --loader_num_workers 1 \
# Optimization
--num_epochs 100 --batch_size 16 \
# Model options
--embedding_dim 64 --h_dim 32 --num_layers 1 --mlp_dim 64 --dropout 0 --batch_norm 0 --learning_rate 0.0001 \
# Output
--output_dir './models' --print_every 100 --checkpoint_every 100 --checkpoint_name 'cnnlstm' --checkpoint_start_from None --restore_from_checkpoint 1 \
# Misc
--use_gpu 1 --gpu_num '0'
1
задан 29 November 2018 в 20:55

1 ответ

Строки комментария не проигнорированы полностью; их рассматривают в основном как пустые строки.

Помещение аргументов сценария в массиве работало бы лучше.

args=(
    # Dataset options
    --dataset './datasets/lausanne' --timestep 30 --obs_len 8 --loader_num_workers 1
    # Optimization
    --num_epochs 100 --batch_size 16
    # Model options
    --embedding_dim 64 --h_dim 32 --num_layers 1 --mlp_dim 64 --dropout 0 --batch_norm 0 --learning_rate 0.0001
    # Output
    --output_dir './models' --print_every 100 --checkpoint_every 100 --checkpoint_name 'cnnlstm' --checkpoint_start_from None --restore_from_checkpoint 1
    # Misc
    --use_gpu 1 --gpu_num '0'
    )

python train.py "${args[@]}"
3
ответ дан 3 December 2019 в 07:22

Другие вопросы по тегам:

Похожие вопросы: