mirror of
https://github.com/clearml/clearml
synced 2025-05-07 14:24:31 +00:00
Fix when using Task.set_parameters() dict parameters are not dumped as JSON, causing the SDK to load them incorrectly
This commit is contained in:
parent
5625a4c485
commit
059ff050df
@ -1158,19 +1158,6 @@ class Task(IdObjectBase, AccessMixin, SetupUploadMixin):
|
|||||||
|
|
||||||
str_value = str(value)
|
str_value = str(value)
|
||||||
if isinstance(value, (tuple, list, dict)):
|
if isinstance(value, (tuple, list, dict)):
|
||||||
if 'None' in re.split(r'[ ,\[\]{}()]', str_value):
|
|
||||||
# If we have None in the string we have to use json to replace it with null,
|
|
||||||
# otherwise we end up with None as string when running remotely
|
|
||||||
try:
|
|
||||||
str_json = json.dumps(value)
|
|
||||||
# verify we actually have a null in the string, otherwise prefer the str cast
|
|
||||||
# This is because we prefer to have \' as in str and not \" used in json
|
|
||||||
if 'null' in re.split(r'[ ,\[\]{}()]', str_json):
|
|
||||||
return str_json
|
|
||||||
except TypeError:
|
|
||||||
# if we somehow failed to json serialize, revert to previous std casting
|
|
||||||
pass
|
|
||||||
elif any('\\' in str(v) for v in value):
|
|
||||||
try:
|
try:
|
||||||
str_json = json.dumps(value)
|
str_json = json.dumps(value)
|
||||||
return str_json
|
return str_json
|
||||||
|
@ -99,7 +99,6 @@ class PatchJsonArgParse(object):
|
|||||||
try:
|
try:
|
||||||
PatchJsonArgParse._load_task_params()
|
PatchJsonArgParse._load_task_params()
|
||||||
params = PatchJsonArgParse.__remote_task_params_dict
|
params = PatchJsonArgParse.__remote_task_params_dict
|
||||||
print(params)
|
|
||||||
params_namespace = Namespace()
|
params_namespace = Namespace()
|
||||||
for k, v in params.items():
|
for k, v in params.items():
|
||||||
params_namespace[k] = v
|
params_namespace[k] = v
|
||||||
|
Loading…
Reference in New Issue
Block a user