in safe_rl/sac/sac.py [0:0]
def get_target_update(main_name, target_name, polyak):
''' Get a tensorflow op to update target variables based on main variables '''
main_vars = {x.name: x for x in get_vars(main_name)}
targ_vars = {x.name: x for x in get_vars(target_name)}
assign_ops = []
for v_targ in targ_vars:
assert v_targ.startswith(target_name), f'bad var name {v_targ} for {target_name}'
v_main = v_targ.replace(target_name, main_name, 1)
assert v_main in main_vars, f'missing var name {v_main}'
assign_op = tf.assign(targ_vars[v_targ], polyak*targ_vars[v_targ] + (1-polyak)*main_vars[v_main])
assign_ops.append(assign_op)
return tf.group(assign_ops)