@@ -326,13 +326,37 @@ def make_train (iter_index,
326326 jinput ['model' ]['fitting_net' ].pop ('numb_fparam' , None )
327327 else :
328328 raise RuntimeError ('invalid setting for use_ele_temp ' + str (use_ele_temp ))
329+ elif LooseVersion (mdata ["deepmd_version" ]) >= LooseVersion ('2' ) and LooseVersion (mdata ["deepmd_version" ]) < LooseVersion ('3' ):
330+ # 2.x
331+ jinput ['training' ]['training_data' ] = {}
332+ jinput ['training' ]['training_data' ]['systems' ] = init_data_sys
333+ jinput ['training' ]['training_data' ]['batch_size' ] = init_batch_size
334+ jinput ['model' ]['type_map' ] = jdata ['type_map' ]
335+ # electron temperature
336+ if use_ele_temp == 0 :
337+ pass
338+ elif use_ele_temp == 1 :
339+ jinput ['model' ]['fitting_net' ]['numb_fparam' ] = 1
340+ jinput ['model' ]['fitting_net' ].pop ('numb_aparam' , None )
341+ elif use_ele_temp == 2 :
342+ jinput ['model' ]['fitting_net' ]['numb_aparam' ] = 1
343+ jinput ['model' ]['fitting_net' ].pop ('numb_fparam' , None )
344+ else :
345+ raise RuntimeError ('invalid setting for use_ele_temp ' + str (use_ele_temp ))
329346 else :
330347 raise RuntimeError ("DP-GEN currently only supports for DeePMD-kit 1.x version!" )
331348 # set training reuse model
332349 if training_reuse_iter is not None and iter_index >= training_reuse_iter :
333- jinput ['training' ]['auto_prob_style' ] \
334- = "prob_sys_size; 0:%d:%f; %d:%d:%f" \
335- % (old_range , training_reuse_old_ratio , old_range , len (init_data_sys ), 1. - training_reuse_old_ratio )
350+ if LooseVersion ('1' ) <= LooseVersion (mdata ["deepmd_version" ]) < LooseVersion ('2' ):
351+ jinput ['training' ]['auto_prob_style' ] \
352+ = "prob_sys_size; 0:%d:%f; %d:%d:%f" \
353+ % (old_range , training_reuse_old_ratio , old_range , len (init_data_sys ), 1. - training_reuse_old_ratio )
354+ elif LooseVersion ('2' ) <= LooseVersion (mdata ["deepmd_version" ]) < LooseVersion ('3' ):
355+ jinput ['training' ]['training_data' ]['auto_prob' ] \
356+ = "prob_sys_size; 0:%d:%f; %d:%d:%f" \
357+ % (old_range , training_reuse_old_ratio , old_range , len (init_data_sys ), 1. - training_reuse_old_ratio )
358+ else :
359+ raise RuntimeError ("Unsupported DeePMD-kit version: %s" % mdata ["deepmd_version" ])
336360 if jinput ['loss' ].get ('start_pref_e' ) is not None :
337361 jinput ['loss' ]['start_pref_e' ] = training_reuse_start_pref_e
338362 if jinput ['loss' ].get ('start_pref_f' ) is not None :
@@ -349,7 +373,7 @@ def make_train (iter_index,
349373 raise RuntimeError ("data sys %s does not exists, cwd is %s" % (jj , os .getcwd ()))
350374 os .chdir (cwd )
351375 # set random seed for each model
352- if LooseVersion (mdata ["deepmd_version" ]) >= LooseVersion ('1' ) and LooseVersion (mdata ["deepmd_version" ]) < LooseVersion ('2 ' ):
376+ if LooseVersion (mdata ["deepmd_version" ]) >= LooseVersion ('1' ) and LooseVersion (mdata ["deepmd_version" ]) < LooseVersion ('3 ' ):
353377 # 1.x
354378 jinput ['model' ]['descriptor' ]['seed' ] = random .randrange (sys .maxsize ) % (2 ** 32 )
355379 jinput ['model' ]['fitting_net' ]['seed' ] = random .randrange (sys .maxsize ) % (2 ** 32 )
@@ -452,7 +476,7 @@ def run_train (iter_index,
452476 task_path = os .path .join (work_path , train_task_fmt % ii )
453477 all_task .append (task_path )
454478 commands = []
455- if LooseVersion (mdata ["deepmd_version" ]) >= LooseVersion ('1' ) and LooseVersion (mdata ["deepmd_version" ]) < LooseVersion ('2 ' ):
479+ if LooseVersion (mdata ["deepmd_version" ]) >= LooseVersion ('1' ) and LooseVersion (mdata ["deepmd_version" ]) < LooseVersion ('3 ' ):
456480
457481 # 1.x
458482 ## Commands are like `dp train` and `dp freeze`
0 commit comments