【发布时间】:2021-09-24 09:04:17
【问题描述】:
我有以下代码运行我在不同模块中拥有的自定义模型,并将几个参数(学习率、卷积核大小等)作为输入
custom_model是在tensorflow中编译一个tensorflow.keras.models.Model并返回模型的函数。
-
LOW是训练数据集 -
HIGH是目标数据集
我通过 hdf5 文件加载了这两个文件,但数据集非常大,大约 10 GB。
通常我在 jupyter-lab 中运行它没有问题,并且模型不会消耗 GPU 上的资源。最后,我保存不同参数的权重。
现在我的问题是:
如何将其作为脚本并针对k1 和k2 的不同值并行运行。
我想像 bash 循环之类的东西会做,但我想避免重新读取数据集。
我正在使用 Windows 10 作为操作系统。
import tensorflow as tf
physical_devices = tf.config.list_physical_devices('GPU')
for gpu_instance in physical_devices:
tf.config.experimental.set_memory_growth(gpu_instance, True)
import h5py
from model_custom import custom_model
winx = 100
winz = 10
k1 = 9
k2 = 5
with h5py.File('MYFILE', 'r') as hf:
LOW = hf['LOW'][:]
HIGH = hf['HIGH'][:]
with tf.device("/gpu:1"):
mymodel = custom_model(winx,winz,lrate=0.001,usebias=True,kz1=k1, kz2=k2)
myhistory = mymodel.fit(LOW, HIGH, batch_size=1, epochs=1)
mymodel.save_weights('zkernel_{}_kz1_{}_kz2_{}.hdf5'.format(winz, k1,k2))
【问题讨论】:
标签: tensorflow keras mpi hdf5 mpi4py