Parallel processing 基于pytorch的多gpu并行超参数优化
我可以使用多gpu机器,我正在运行网格搜索循环以优化参数。我想知道我是否可以同时在多个gpu上分发循环的多个迭代,如果可以,我该如何做(什么是me机制?线程?如果循环异步执行,如何收集结果?等等) 谢谢。我建议使用来处理超参数搜索,一般来说,超参数搜索应该比网格搜索性能更好(不过,您仍然可以将其用于网格采样)。我修改了Optuna,每个进程使用一个GPUParallel processing 基于pytorch的多gpu并行超参数优化,parallel-processing,pytorch,hyperparameters,multi-gpu,Parallel Processing,Pytorch,Hyperparameters,Multi Gpu,我可以使用多gpu机器,我正在运行网格搜索循环以优化参数。我想知道我是否可以同时在多个gpu上分发循环的多个迭代,如果可以,我该如何做(什么是me机制?线程?如果循环异步执行,如何收集结果?等等) 谢谢。我建议使用来处理超参数搜索,一般来说,超参数搜索应该比网格搜索性能更好(不过,您仍然可以将其用于网格采样)。我修改了Optuna,每个进程使用一个GPU 创建一个培训脚本,如: #optimize.py 导入系统 进口金枪鱼 导入您的模型 设备='cuda:'+sys.argv[1] def目标
#optimize.py
导入系统
进口金枪鱼
导入您的模型
设备='cuda:'+sys.argv[1]
def目标(试验):
隐藏大小=试用。建议大小(“隐藏大小”,8,64,log=True)
#定义其他超参数
返回您的\u model.score(隐藏的\u大小=隐藏的\u大小,设备=设备)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
研究=操作。加载研究(研究名称='distributed-example',存储='sqlite:///example.db')
研究。优化(目标,n_试验=100)
pip安装操作系统
optuna创建研究--研究名称“分布式示例”--存储sqlite:///example.db"
python optimize.py 0
python.py 1
...
导入操作系统
study=optuna.create_study(study_name='distributed-example',storage='1〕sqlite:///example.db,如果_存在,则加载_=True)
打印(研究最佳参数)
打印(研究最佳值)
甚至