Ubuntu批量运行命令/批量代码调参

本文介绍了如何通过Python的argparse库实现代码参数在命令行的调整,以及如何创建.sh文件批量运行命令,从而提高代码调参和实验的效率。通过这种方法,可以在一夜之间完成对多个数据集和不同参数配置的实验,第二天直接查看结果。
摘要由CSDN通过智能技术生成

Ubuntu批量运行命令/批量代码调参

最近对代码结果进行调参,需要进行统计实验,一开始坐在电脑前傻傻的调参,改个参数重新点‘run’运行,效率非常低下。
实际上,代码包括其参数可以通过命令行完成,而批量命令行可以通过.sh文件完成

  1. 在代码中导入argparse库,使参数可在命令行调整
import argparse
""" 设置系统参数及CPU """
parser = argparse.ArgumentParser(description='相关参数 可在命令行编辑')
parser.add_argument('--dataset', type=str, default='Houston', help='数据集')
parser.add_argument('--numTrain', type=int, default=20, help='每类训练样本数量')
args = parser.parse_args()

""" 获取原始数据及基本信息 """
data_hsi = matDataLoad('./datasets/' + args.dataset + '.mat')
gt_hsi = matDataLoad('./datasets/' + args.dataset + '_gt.mat')

train_idx, test_idx = split_dataset_equal(gt_hsi_1D, args.numTrain)  # 分割训练集和测试集,每类数量一致

# ...
  1. 整理成命令行格式
python main_ASCL_final.py --dataset=Houston --numTrain=20
  1. 新建auto-code.sh文件,放入批量命令
#!/bin/bash 

python main_ASCL_final.py --dataset=Houston --numTrain=20
python main_ASCL_final.py --dataset=PaviaU --numTrain=20
python main_ASCL_final.py --dataset=Salinas --numTrain=20

python main_ASCL_final.py --dataset=Houston --numTrain=15
python main_ASCL_final.py --dataset=PaviaU --numTrain=15
python main_ASCL_final.py --dataset=Salinas--numTrain=15

  1. 为该文件赋予权限,并运行
 chmod +x auto-code.sh 
 sh auto-code.sh

代码跑一晚上,明天批量复制结果!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值