aiauto-client 0.1.13__py3-none-any.whl → 0.1.14__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
aiauto/serializer.py CHANGED
@@ -47,16 +47,24 @@ def object_to_json(obj: Union[object, dict, None]) -> str:
47
47
  if not module_name.startswith('optuna.'):
48
48
  raise ValueError(f"optuna 코어 클래스만 지원합니다: {class_name}")
49
49
 
50
- sig = inspect.signature(cls)
50
+ # __init__의 실제 파라미터만 가져오기
51
+ sig = inspect.signature(cls.__init__)
52
+ valid_params = set(sig.parameters.keys()) - {'self'}
53
+
54
+ # Optuna 객체들은 __dict__에 _param_name 형태로 저장
51
55
  kwargs = {}
52
-
53
- for param_name, param in sig.parameters.items():
54
- if param_name == 'self':
55
- continue
56
- if hasattr(obj, param_name):
57
- value = getattr(obj, param_name)
58
- if param.default != value:
59
- kwargs[param_name] = value
56
+ for key, value in obj.__dict__.items():
57
+ if key.startswith('_'):
58
+ param_name = key[1:] # _ 제거
59
+
60
+ # __init__의 실제 파라미터인지 확인
61
+ if param_name in valid_params:
62
+ # PatientPruner의 wrapped_pruner만 특별 처리
63
+ if class_name == "PatientPruner" and param_name == "wrapped_pruner" and value is not None:
64
+ kwargs[param_name] = json.loads(object_to_json(value))
65
+ # Callable 타입은 제외 (gamma, weights 등)
66
+ elif not callable(value):
67
+ kwargs[param_name] = value
60
68
 
61
69
  return json.dumps({
62
70
  "cls": class_name,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aiauto-client
3
- Version: 0.1.13
3
+ Version: 0.1.14
4
4
  Summary: AI Auto HPO (Hyperparameter Optimization) Client Library
5
5
  Author-email: AIAuto Team <ainode@zeroone.ai>
6
6
  Project-URL: Homepage, https://dashboard.common.aiauto.pangyo.ainode.ai
@@ -3,8 +3,8 @@ aiauto/_config.py,sha256=hTFh2bH9m-HuX6QCpNtBC0j6rEB0S97hhPKjbEjv4Tg,89
3
3
  aiauto/constants.py,sha256=rBibGOQHHrdkwaai92-3I8-N0cu-B4CoCoQbG9-Cl8k,821
4
4
  aiauto/core.py,sha256=eEwit5oL8DIfglOVe2km_7MAtuZquEd5Xvkbq6EaW9o,9945
5
5
  aiauto/http_client.py,sha256=v_nPdb-2tIeH1XrOYqzMGvFfXLKEDbQoSaQYPsB0Hik,2587
6
- aiauto/serializer.py,sha256=nT2F-Jyrd_3uw1QhlrfMx8vprNsL7OF7MCJYBKhkwoY,1905
7
- aiauto_client-0.1.13.dist-info/METADATA,sha256=21_Kdp2DmLjhe5dR2K4F5UqbvJ229oRsvnk5fEKwcJA,25022
8
- aiauto_client-0.1.13.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
9
- aiauto_client-0.1.13.dist-info/top_level.txt,sha256=Sk2ctO9_Bf_tAPwq1x6Vfl6OuL29XzwMTO4F_KG6oJE,7
10
- aiauto_client-0.1.13.dist-info/RECORD,,
6
+ aiauto/serializer.py,sha256=cedmfJaoy-axG2jyFvUIVbyu9Fqen0hot6qDHnwSlGM,2466
7
+ aiauto_client-0.1.14.dist-info/METADATA,sha256=nybQSHynZV0YCkHsqe4IZRIYPrBi3zKgHutlZXsJg8c,25022
8
+ aiauto_client-0.1.14.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
9
+ aiauto_client-0.1.14.dist-info/top_level.txt,sha256=Sk2ctO9_Bf_tAPwq1x6Vfl6OuL29XzwMTO4F_KG6oJE,7
10
+ aiauto_client-0.1.14.dist-info/RECORD,,