luminarycloud 0.19.0__py3-none-any.whl → 0.20.0__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.
- luminarycloud/_client/client.py +2 -0
- luminarycloud/_helpers/_wait_for_mesh.py +6 -5
- luminarycloud/_helpers/_wait_for_simulation.py +3 -3
- luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.py +83 -25
- luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.pyi +214 -0
- luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2_grpc.py +34 -0
- luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2_grpc.pyi +12 -0
- luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.py +60 -60
- luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.pyi +5 -1
- luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.py +77 -27
- luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.pyi +85 -0
- luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2_grpc.py +66 -0
- luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2_grpc.pyi +20 -0
- luminarycloud/_proto/client/simulation_pb2.py +342 -331
- luminarycloud/_proto/client/simulation_pb2.pyi +37 -3
- luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2.py +29 -0
- luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2.pyi +7 -0
- luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2_grpc.py +70 -0
- luminarycloud/_proto/physicsaitrainingservice/physicsaitrainingservice_pb2_grpc.pyi +30 -0
- luminarycloud/exceptions.py +7 -1
- luminarycloud/geometry.py +3 -1
- luminarycloud/mesh.py +1 -2
- luminarycloud/params/enum/_enum_wrappers.py +25 -0
- luminarycloud/params/simulation/material/material_solid_.py +15 -1
- luminarycloud/physics_ai/architectures.py +58 -0
- luminarycloud/physics_ai/training_jobs.py +37 -0
- luminarycloud/pipelines/api.py +8 -12
- luminarycloud/simulation.py +3 -2
- luminarycloud/simulation_template.py +2 -1
- luminarycloud/vis/__init__.py +15 -0
- luminarycloud/vis/data_extraction.py +20 -4
- luminarycloud/vis/interactive_report.py +124 -0
- luminarycloud/vis/interactive_scene.py +29 -2
- luminarycloud/vis/report.py +98 -0
- luminarycloud/vis/visualization.py +67 -5
- {luminarycloud-0.19.0.dist-info → luminarycloud-0.20.0.dist-info}/METADATA +1 -1
- {luminarycloud-0.19.0.dist-info → luminarycloud-0.20.0.dist-info}/RECORD +38 -31
- {luminarycloud-0.19.0.dist-info → luminarycloud-0.20.0.dist-info}/WHEEL +0 -0
luminarycloud/_client/client.py
CHANGED
|
@@ -129,6 +129,8 @@ class Client(
|
|
|
129
129
|
("grpc.keepalive_timeout_ms", 5000),
|
|
130
130
|
("grpc.keepalive_permit_without_calls", 1),
|
|
131
131
|
("grpc.http2.max_pings_without_data", 10),
|
|
132
|
+
("grpc.max_receive_message_length", 32 * 1024 * 1024),
|
|
133
|
+
("grpc.max_send_message_length", 32 * 1024 * 1024),
|
|
132
134
|
]
|
|
133
135
|
if grpc_channel_options:
|
|
134
136
|
grpc_channel_options_with_keep_alive.extend(grpc_channel_options)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Copyright 2023-2024 Luminary Cloud, Inc. All Rights Reserved.
|
|
2
2
|
import logging
|
|
3
3
|
from time import time, sleep
|
|
4
|
-
from luminarycloud.exceptions import DeadlineExceededError
|
|
4
|
+
from luminarycloud.exceptions import DeadlineExceededError, Timeout
|
|
5
5
|
|
|
6
6
|
from .._proto.api.v0.luminarycloud.mesh.mesh_pb2 import Mesh, GetMeshRequest
|
|
7
7
|
from .._client import Client
|
|
@@ -32,19 +32,20 @@ def wait_for_mesh(
|
|
|
32
32
|
|
|
33
33
|
Raises
|
|
34
34
|
------
|
|
35
|
-
|
|
35
|
+
Timeout
|
|
36
36
|
"""
|
|
37
37
|
deadline = time() + timeout_seconds
|
|
38
38
|
while True:
|
|
39
39
|
if time() >= deadline:
|
|
40
|
-
|
|
41
|
-
raise TimeoutError
|
|
40
|
+
raise Timeout("Timed out waiting for mesh to be ready.")
|
|
42
41
|
# It seems this call sometimes hangs. It seems as well that python gRPC is known to hang
|
|
43
42
|
# in some cases, so we'll add a deadline and catch deadline exceeded errors to retry.
|
|
44
43
|
try:
|
|
45
44
|
response = client.GetMesh(GetMeshRequest(id=mesh.id), timeout=15)
|
|
46
45
|
except DeadlineExceededError:
|
|
47
|
-
logger.
|
|
46
|
+
logger.debug(
|
|
47
|
+
"Request deadline exceeded while waiting for mesh status. Will retry if the `wait_for_mesh` deadline has not expired."
|
|
48
|
+
)
|
|
48
49
|
sleep(max(0, min(interval_seconds, deadline - time())))
|
|
49
50
|
continue
|
|
50
51
|
status = response.mesh.status
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import io
|
|
3
3
|
import logging
|
|
4
4
|
from time import time, sleep
|
|
5
|
+
from luminarycloud.exceptions import Timeout
|
|
5
6
|
|
|
6
7
|
from .._proto.api.v0.luminarycloud.simulation.simulation_pb2 import (
|
|
7
8
|
GetSimulationResponse,
|
|
@@ -42,7 +43,7 @@ def wait_for_simulation(
|
|
|
42
43
|
|
|
43
44
|
Raises
|
|
44
45
|
------
|
|
45
|
-
|
|
46
|
+
Timeout
|
|
46
47
|
"""
|
|
47
48
|
deadline = time() + timeout_seconds
|
|
48
49
|
# latest_iter is used to avoid printing the same iteration's residuals multiple times
|
|
@@ -66,8 +67,7 @@ def wait_for_simulation(
|
|
|
66
67
|
]:
|
|
67
68
|
return status
|
|
68
69
|
if time() >= deadline:
|
|
69
|
-
|
|
70
|
-
raise TimeoutError
|
|
70
|
+
raise Timeout("Timed out waiting for simulation to finish")
|
|
71
71
|
sleep(max(0, min(interval_seconds, deadline - time())))
|
|
72
72
|
|
|
73
73
|
|
|
@@ -16,18 +16,30 @@ _sym_db = _symbol_database.Default()
|
|
|
16
16
|
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
|
|
17
17
|
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
|
18
18
|
from luminarycloud._proto.api.v0.luminarycloud.common import common_pb2 as proto_dot_api_dot_v0_dot_luminarycloud_dot_common_dot_common__pb2
|
|
19
|
+
from luminarycloud._proto.base import base_pb2 as proto_dot_base_dot_base__pb2
|
|
19
20
|
from luminarycloud._proto.quantity import quantity_pb2 as proto_dot_quantity_dot_quantity__pb2
|
|
20
21
|
|
|
21
22
|
|
|
22
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6proto/api/v0/luminarycloud/physics_ai/physics_ai.proto\x12.luminary.proto.api.v0.luminarycloud.physics_ai\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.proto/api/v0/luminarycloud/common/common.proto\x1a\x1dproto/quantity/quantity.proto\"\xad\x01\n\x1cPhysicsAiArchitectureVersion\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\tchangelog\x18\x03 \x01(\t\x12`\n\x0flifecycle_state\x18\x04 \x01(\x0e\x32G.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiLifecycleState\"\xa6\x01\n\x15PhysicsAiArchitecture\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12^\n\x08versions\x18\x04 \x03(\x0b\x32L.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiArchitectureVersion\"\x1a\n\x18ListArchitecturesRequest\"y\n\x19ListArchitecturesResponse\x12\\\n\rarchitectures\x18\x01 \x03(\x0b\x32\x45.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiArchitecture\"\x93\x01\n\x15PhysicsAiModelVersion\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12`\n\x0flifecycle_state\x18\x03 \x01(\x0e\x32G.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiLifecycleState\"\x98\x01\n\x0ePhysicsAiModel\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12W\n\x08versions\x18\x04 \x03(\x0b\x32\x45.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiModelVersion\"\x1d\n\x1bListPretrainedModelsRequest\"n\n\x1cListPretrainedModelsResponse\x12N\n\x06models\x18\x01 \x03(\x0b\x32>.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiModel\"\xa3\x02\n\x1fGetSolutionDataPhysicsAIRequest\x12\x13\n\x0bsolution_id\x18\x01 \x01(\t\x12\x18\n\x10\x65xclude_surfaces\x18\x02 \x03(\t\x12\x12\n\nfill_holes\x18\x03 \x01(\x02\x12\x45\n\x16surface_fields_to_keep\x18\x04 \x03(\x0e\x32%.luminary.proto.quantity.QuantityType\x12\x44\n\x15volume_fields_to_keep\x18\x05 \x03(\x0e\x32%.luminary.proto.quantity.QuantityType\x12\x16\n\x0eprocess_volume\x18\x06 \x01(\x08\x12\x18\n\x10single_precision\x18\x07 \x01(\x08\"b\n GetSolutionDataPhysicsAIResponse\x12>\n\x04\x66ile\x18\x01 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.common.File*\xb4\x01\n\x17PhysicsAiLifecycleState\x12\x1f\n\x1bLIFECYCLE_STATE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bLIFECYCLE_STATE_DEVELOPMENT\x10\x01\x12\x1a\n\x16LIFECYCLE_STATE_ACTIVE\x10\x02\x12\x1e\n\x1aLIFECYCLE_STATE_DEPRECATED\x10\x03\x12\x1b\n\x17LIFECYCLE_STATE_RETIRED\x10\x04\x32\
|
|
23
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n6proto/api/v0/luminarycloud/physics_ai/physics_ai.proto\x12.luminary.proto.api.v0.luminarycloud.physics_ai\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.proto/api/v0/luminarycloud/common/common.proto\x1a\x15proto/base/base.proto\x1a\x1dproto/quantity/quantity.proto\"\xad\x01\n\x1cPhysicsAiArchitectureVersion\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x11\n\tchangelog\x18\x03 \x01(\t\x12`\n\x0flifecycle_state\x18\x04 \x01(\x0e\x32G.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiLifecycleState\"\xa6\x01\n\x15PhysicsAiArchitecture\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12^\n\x08versions\x18\x04 \x03(\x0b\x32L.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiArchitectureVersion\"\x1a\n\x18ListArchitecturesRequest\"y\n\x19ListArchitecturesResponse\x12\\\n\rarchitectures\x18\x01 \x03(\x0b\x32\x45.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiArchitecture\"\x93\x01\n\x15PhysicsAiModelVersion\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12`\n\x0flifecycle_state\x18\x03 \x01(\x0e\x32G.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiLifecycleState\"\x98\x01\n\x0ePhysicsAiModel\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12W\n\x08versions\x18\x04 \x03(\x0b\x32\x45.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiModelVersion\"\x1d\n\x1bListPretrainedModelsRequest\"n\n\x1cListPretrainedModelsResponse\x12N\n\x06models\x18\x01 \x03(\x0b\x32>.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiModel\"\xa3\x02\n\x1fGetSolutionDataPhysicsAIRequest\x12\x13\n\x0bsolution_id\x18\x01 \x01(\t\x12\x18\n\x10\x65xclude_surfaces\x18\x02 \x03(\t\x12\x12\n\nfill_holes\x18\x03 \x01(\x02\x12\x45\n\x16surface_fields_to_keep\x18\x04 \x03(\x0e\x32%.luminary.proto.quantity.QuantityType\x12\x44\n\x15volume_fields_to_keep\x18\x05 \x03(\x0e\x32%.luminary.proto.quantity.QuantityType\x12\x16\n\x0eprocess_volume\x18\x06 \x01(\x08\x12\x18\n\x10single_precision\x18\x07 \x01(\x08\"b\n GetSolutionDataPhysicsAIResponse\x12>\n\x04\x66ile\x18\x01 \x01(\x0b\x32\x30.luminary.proto.api.v0.luminarycloud.common.File\";\n\x10TrainingSolution\x12\x13\n\x0bsolution_id\x18\x01 \x01(\t\x12\x12\n\ndata_split\x18\x02 \x01(\t\"\x9a\x05\n\x14PhysicsAiTrainingJob\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1f\n\x17\x61rchitecture_version_id\x18\x02 \x01(\t\x12\x0f\n\x07user_id\x18\x03 \x01(\t\x12\x17\n\x0ftraining_config\x18\x04 \x01(\t\x12i\n\x19training_data_source_type\x18\x05 \x01(\x0e\x32\x46.luminary.proto.api.v0.luminarycloud.physics_ai.TrainingDataSourceType\x12\x1c\n\x14training_description\x18\x06 \x01(\t\x12\x1c\n\x14\x65xternal_dataset_uri\x18\x07 \x01(\t\x12\x64\n\x13initialization_type\x18\x08 \x01(\x0e\x32G.luminary.proto.api.v0.luminarycloud.physics_ai.ModelInitializationType\x12\x1d\n\x15\x62\x61se_model_version_id\x18\t \x01(\t\x12.\n\x06status\x18\n \x01(\x0b\x32\x1e.luminary.proto.base.JobStatus\x12\x15\n\rerror_message\x18\x0b \x01(\t\x12\x1f\n\x17output_model_version_id\x18\x0c \x01(\t\x12\x31\n\rcreation_time\x18\r \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\x0f\x63ompletion_time\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xf3\x02\n\x18SubmitTrainingJobRequest\x12\x1f\n\x17\x61rchitecture_version_id\x18\x01 \x01(\t\x12\x1c\n\x14training_description\x18\x02 \x01(\t\x12\x1c\n\x14\x65xternal_dataset_uri\x18\x03 \x01(\t\x12\\\n\x12training_solutions\x18\x04 \x03(\x0b\x32@.luminary.proto.api.v0.luminarycloud.physics_ai.TrainingSolution\x12\x17\n\x0ftraining_config\x18\x05 \x01(\t\x12\x64\n\x13initialization_type\x18\x06 \x01(\x0e\x32G.luminary.proto.api.v0.luminarycloud.physics_ai.ModelInitializationType\x12\x1d\n\x15\x62\x61se_model_version_id\x18\x07 \x01(\t\"w\n\x19SubmitTrainingJobResponse\x12Z\n\x0ctraining_job\x18\x01 \x01(\x0b\x32\x44.luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiTrainingJob*\xb4\x01\n\x17PhysicsAiLifecycleState\x12\x1f\n\x1bLIFECYCLE_STATE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bLIFECYCLE_STATE_DEVELOPMENT\x10\x01\x12\x1a\n\x16LIFECYCLE_STATE_ACTIVE\x10\x02\x12\x1e\n\x1aLIFECYCLE_STATE_DEPRECATED\x10\x03\x12\x1b\n\x17LIFECYCLE_STATE_RETIRED\x10\x04*\xa7\x01\n\x16TrainingDataSourceType\x12)\n%TRAINING_DATA_SOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x32\n.TRAINING_DATA_SOURCE_TYPE_SIMULATION_SOLUTIONS\x10\x01\x12.\n*TRAINING_DATA_SOURCE_TYPE_EXTERNAL_DATASET\x10\x02*\xc1\x01\n\x17ModelInitializationType\x12)\n%MODEL_INITIALIZATION_TYPE_UNSPECIFIED\x10\x00\x12$\n MODEL_INITIALIZATION_TYPE_RANDOM\x10\x01\x12+\n\'MODEL_INITIALIZATION_TYPE_MODEL_VERSION\x10\x02\x12(\n$MODEL_INITIALIZATION_TYPE_CHECKPOINT\x10\x03\x32\x8d\x07\n\x10PhysicsAiService\x12\xce\x01\n\x11ListArchitectures\x12H.luminary.proto.api.v0.luminarycloud.physics_ai.ListArchitecturesRequest\x1aI.luminary.proto.api.v0.luminarycloud.physics_ai.ListArchitecturesResponse\"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/v0/physics_ai/architectures\x12\xdb\x01\n\x14ListPretrainedModels\x12K.luminary.proto.api.v0.luminarycloud.physics_ai.ListPretrainedModelsRequest\x1aL.luminary.proto.api.v0.luminarycloud.physics_ai.ListPretrainedModelsResponse\"(\x82\xd3\xe4\x93\x02\"\x12 /v0/physics_ai/pretrained_models\x12\xf5\x01\n\x18GetSolutionDataPhysicsAI\x12O.luminary.proto.api.v0.luminarycloud.physics_ai.GetSolutionDataPhysicsAIRequest\x1aP.luminary.proto.api.v0.luminarycloud.physics_ai.GetSolutionDataPhysicsAIResponse\"6\x82\xd3\xe4\x93\x02\x30\"+/v0/physics_ai/solutions/{solution_id}/data:\x01*\x12\xd1\x01\n\x11SubmitTrainingJob\x12H.luminary.proto.api.v0.luminarycloud.physics_ai.SubmitTrainingJobRequest\x1aI.luminary.proto.api.v0.luminarycloud.physics_ai.SubmitTrainingJobResponse\"\'\x82\xd3\xe4\x93\x02!\"\x1c/v0/physics_ai/training/jobs:\x01*B>Z<luminarycloud.com/core/proto/api/v0/luminarycloud/physics_aib\x06proto3')
|
|
23
24
|
|
|
24
25
|
_PHYSICSAILIFECYCLESTATE = DESCRIPTOR.enum_types_by_name['PhysicsAiLifecycleState']
|
|
25
26
|
PhysicsAiLifecycleState = enum_type_wrapper.EnumTypeWrapper(_PHYSICSAILIFECYCLESTATE)
|
|
27
|
+
_TRAININGDATASOURCETYPE = DESCRIPTOR.enum_types_by_name['TrainingDataSourceType']
|
|
28
|
+
TrainingDataSourceType = enum_type_wrapper.EnumTypeWrapper(_TRAININGDATASOURCETYPE)
|
|
29
|
+
_MODELINITIALIZATIONTYPE = DESCRIPTOR.enum_types_by_name['ModelInitializationType']
|
|
30
|
+
ModelInitializationType = enum_type_wrapper.EnumTypeWrapper(_MODELINITIALIZATIONTYPE)
|
|
26
31
|
LIFECYCLE_STATE_UNSPECIFIED = 0
|
|
27
32
|
LIFECYCLE_STATE_DEVELOPMENT = 1
|
|
28
33
|
LIFECYCLE_STATE_ACTIVE = 2
|
|
29
34
|
LIFECYCLE_STATE_DEPRECATED = 3
|
|
30
35
|
LIFECYCLE_STATE_RETIRED = 4
|
|
36
|
+
TRAINING_DATA_SOURCE_TYPE_UNSPECIFIED = 0
|
|
37
|
+
TRAINING_DATA_SOURCE_TYPE_SIMULATION_SOLUTIONS = 1
|
|
38
|
+
TRAINING_DATA_SOURCE_TYPE_EXTERNAL_DATASET = 2
|
|
39
|
+
MODEL_INITIALIZATION_TYPE_UNSPECIFIED = 0
|
|
40
|
+
MODEL_INITIALIZATION_TYPE_RANDOM = 1
|
|
41
|
+
MODEL_INITIALIZATION_TYPE_MODEL_VERSION = 2
|
|
42
|
+
MODEL_INITIALIZATION_TYPE_CHECKPOINT = 3
|
|
31
43
|
|
|
32
44
|
|
|
33
45
|
_PHYSICSAIARCHITECTUREVERSION = DESCRIPTOR.message_types_by_name['PhysicsAiArchitectureVersion']
|
|
@@ -40,6 +52,10 @@ _LISTPRETRAINEDMODELSREQUEST = DESCRIPTOR.message_types_by_name['ListPretrainedM
|
|
|
40
52
|
_LISTPRETRAINEDMODELSRESPONSE = DESCRIPTOR.message_types_by_name['ListPretrainedModelsResponse']
|
|
41
53
|
_GETSOLUTIONDATAPHYSICSAIREQUEST = DESCRIPTOR.message_types_by_name['GetSolutionDataPhysicsAIRequest']
|
|
42
54
|
_GETSOLUTIONDATAPHYSICSAIRESPONSE = DESCRIPTOR.message_types_by_name['GetSolutionDataPhysicsAIResponse']
|
|
55
|
+
_TRAININGSOLUTION = DESCRIPTOR.message_types_by_name['TrainingSolution']
|
|
56
|
+
_PHYSICSAITRAININGJOB = DESCRIPTOR.message_types_by_name['PhysicsAiTrainingJob']
|
|
57
|
+
_SUBMITTRAININGJOBREQUEST = DESCRIPTOR.message_types_by_name['SubmitTrainingJobRequest']
|
|
58
|
+
_SUBMITTRAININGJOBRESPONSE = DESCRIPTOR.message_types_by_name['SubmitTrainingJobResponse']
|
|
43
59
|
PhysicsAiArchitectureVersion = _reflection.GeneratedProtocolMessageType('PhysicsAiArchitectureVersion', (_message.Message,), {
|
|
44
60
|
'DESCRIPTOR' : _PHYSICSAIARCHITECTUREVERSION,
|
|
45
61
|
'__module__' : 'proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2'
|
|
@@ -110,6 +126,34 @@ GetSolutionDataPhysicsAIResponse = _reflection.GeneratedProtocolMessageType('Get
|
|
|
110
126
|
})
|
|
111
127
|
_sym_db.RegisterMessage(GetSolutionDataPhysicsAIResponse)
|
|
112
128
|
|
|
129
|
+
TrainingSolution = _reflection.GeneratedProtocolMessageType('TrainingSolution', (_message.Message,), {
|
|
130
|
+
'DESCRIPTOR' : _TRAININGSOLUTION,
|
|
131
|
+
'__module__' : 'proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2'
|
|
132
|
+
# @@protoc_insertion_point(class_scope:luminary.proto.api.v0.luminarycloud.physics_ai.TrainingSolution)
|
|
133
|
+
})
|
|
134
|
+
_sym_db.RegisterMessage(TrainingSolution)
|
|
135
|
+
|
|
136
|
+
PhysicsAiTrainingJob = _reflection.GeneratedProtocolMessageType('PhysicsAiTrainingJob', (_message.Message,), {
|
|
137
|
+
'DESCRIPTOR' : _PHYSICSAITRAININGJOB,
|
|
138
|
+
'__module__' : 'proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2'
|
|
139
|
+
# @@protoc_insertion_point(class_scope:luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiTrainingJob)
|
|
140
|
+
})
|
|
141
|
+
_sym_db.RegisterMessage(PhysicsAiTrainingJob)
|
|
142
|
+
|
|
143
|
+
SubmitTrainingJobRequest = _reflection.GeneratedProtocolMessageType('SubmitTrainingJobRequest', (_message.Message,), {
|
|
144
|
+
'DESCRIPTOR' : _SUBMITTRAININGJOBREQUEST,
|
|
145
|
+
'__module__' : 'proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2'
|
|
146
|
+
# @@protoc_insertion_point(class_scope:luminary.proto.api.v0.luminarycloud.physics_ai.SubmitTrainingJobRequest)
|
|
147
|
+
})
|
|
148
|
+
_sym_db.RegisterMessage(SubmitTrainingJobRequest)
|
|
149
|
+
|
|
150
|
+
SubmitTrainingJobResponse = _reflection.GeneratedProtocolMessageType('SubmitTrainingJobResponse', (_message.Message,), {
|
|
151
|
+
'DESCRIPTOR' : _SUBMITTRAININGJOBRESPONSE,
|
|
152
|
+
'__module__' : 'proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2'
|
|
153
|
+
# @@protoc_insertion_point(class_scope:luminary.proto.api.v0.luminarycloud.physics_ai.SubmitTrainingJobResponse)
|
|
154
|
+
})
|
|
155
|
+
_sym_db.RegisterMessage(SubmitTrainingJobResponse)
|
|
156
|
+
|
|
113
157
|
_PHYSICSAISERVICE = DESCRIPTOR.services_by_name['PhysicsAiService']
|
|
114
158
|
if _descriptor._USE_C_DESCRIPTORS == False:
|
|
115
159
|
|
|
@@ -121,28 +165,42 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
|
121
165
|
_PHYSICSAISERVICE.methods_by_name['ListPretrainedModels']._serialized_options = b'\202\323\344\223\002\"\022 /v0/physics_ai/pretrained_models'
|
|
122
166
|
_PHYSICSAISERVICE.methods_by_name['GetSolutionDataPhysicsAI']._options = None
|
|
123
167
|
_PHYSICSAISERVICE.methods_by_name['GetSolutionDataPhysicsAI']._serialized_options = b'\202\323\344\223\0020\"+/v0/physics_ai/solutions/{solution_id}/data:\001*'
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
168
|
+
_PHYSICSAISERVICE.methods_by_name['SubmitTrainingJob']._options = None
|
|
169
|
+
_PHYSICSAISERVICE.methods_by_name['SubmitTrainingJob']._serialized_options = b'\202\323\344\223\002!\"\034/v0/physics_ai/training/jobs:\001*'
|
|
170
|
+
_PHYSICSAILIFECYCLESTATE._serialized_start=2835
|
|
171
|
+
_PHYSICSAILIFECYCLESTATE._serialized_end=3015
|
|
172
|
+
_TRAININGDATASOURCETYPE._serialized_start=3018
|
|
173
|
+
_TRAININGDATASOURCETYPE._serialized_end=3185
|
|
174
|
+
_MODELINITIALIZATIONTYPE._serialized_start=3188
|
|
175
|
+
_MODELINITIALIZATIONTYPE._serialized_end=3381
|
|
176
|
+
_PHYSICSAIARCHITECTUREVERSION._serialized_start=272
|
|
177
|
+
_PHYSICSAIARCHITECTUREVERSION._serialized_end=445
|
|
178
|
+
_PHYSICSAIARCHITECTURE._serialized_start=448
|
|
179
|
+
_PHYSICSAIARCHITECTURE._serialized_end=614
|
|
180
|
+
_LISTARCHITECTURESREQUEST._serialized_start=616
|
|
181
|
+
_LISTARCHITECTURESREQUEST._serialized_end=642
|
|
182
|
+
_LISTARCHITECTURESRESPONSE._serialized_start=644
|
|
183
|
+
_LISTARCHITECTURESRESPONSE._serialized_end=765
|
|
184
|
+
_PHYSICSAIMODELVERSION._serialized_start=768
|
|
185
|
+
_PHYSICSAIMODELVERSION._serialized_end=915
|
|
186
|
+
_PHYSICSAIMODEL._serialized_start=918
|
|
187
|
+
_PHYSICSAIMODEL._serialized_end=1070
|
|
188
|
+
_LISTPRETRAINEDMODELSREQUEST._serialized_start=1072
|
|
189
|
+
_LISTPRETRAINEDMODELSREQUEST._serialized_end=1101
|
|
190
|
+
_LISTPRETRAINEDMODELSRESPONSE._serialized_start=1103
|
|
191
|
+
_LISTPRETRAINEDMODELSRESPONSE._serialized_end=1213
|
|
192
|
+
_GETSOLUTIONDATAPHYSICSAIREQUEST._serialized_start=1216
|
|
193
|
+
_GETSOLUTIONDATAPHYSICSAIREQUEST._serialized_end=1507
|
|
194
|
+
_GETSOLUTIONDATAPHYSICSAIRESPONSE._serialized_start=1509
|
|
195
|
+
_GETSOLUTIONDATAPHYSICSAIRESPONSE._serialized_end=1607
|
|
196
|
+
_TRAININGSOLUTION._serialized_start=1609
|
|
197
|
+
_TRAININGSOLUTION._serialized_end=1668
|
|
198
|
+
_PHYSICSAITRAININGJOB._serialized_start=1671
|
|
199
|
+
_PHYSICSAITRAININGJOB._serialized_end=2337
|
|
200
|
+
_SUBMITTRAININGJOBREQUEST._serialized_start=2340
|
|
201
|
+
_SUBMITTRAININGJOBREQUEST._serialized_end=2711
|
|
202
|
+
_SUBMITTRAININGJOBRESPONSE._serialized_start=2713
|
|
203
|
+
_SUBMITTRAININGJOBRESPONSE._serialized_end=2832
|
|
204
|
+
_PHYSICSAISERVICE._serialized_start=3384
|
|
205
|
+
_PHYSICSAISERVICE._serialized_end=4293
|
|
148
206
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -8,7 +8,9 @@ import google.protobuf.descriptor
|
|
|
8
8
|
import google.protobuf.internal.containers
|
|
9
9
|
import google.protobuf.internal.enum_type_wrapper
|
|
10
10
|
import google.protobuf.message
|
|
11
|
+
import google.protobuf.timestamp_pb2
|
|
11
12
|
import luminarycloud._proto.api.v0.luminarycloud.common.common_pb2
|
|
13
|
+
import luminarycloud._proto.base.base_pb2
|
|
12
14
|
import luminarycloud._proto.quantity.quantity_pb2
|
|
13
15
|
import sys
|
|
14
16
|
import typing
|
|
@@ -52,6 +54,58 @@ LIFECYCLE_STATE_RETIRED: PhysicsAiLifecycleState.ValueType # 4
|
|
|
52
54
|
"""Archived; no training or inference support."""
|
|
53
55
|
global___PhysicsAiLifecycleState = PhysicsAiLifecycleState
|
|
54
56
|
|
|
57
|
+
class _TrainingDataSourceType:
|
|
58
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
59
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
60
|
+
|
|
61
|
+
class _TrainingDataSourceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_TrainingDataSourceType.ValueType], builtins.type): # noqa: F821
|
|
62
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
63
|
+
TRAINING_DATA_SOURCE_TYPE_UNSPECIFIED: _TrainingDataSourceType.ValueType # 0
|
|
64
|
+
"""Default value, should not be used in practice."""
|
|
65
|
+
TRAINING_DATA_SOURCE_TYPE_SIMULATION_SOLUTIONS: _TrainingDataSourceType.ValueType # 1
|
|
66
|
+
"""Training data from simulation solutions."""
|
|
67
|
+
TRAINING_DATA_SOURCE_TYPE_EXTERNAL_DATASET: _TrainingDataSourceType.ValueType # 2
|
|
68
|
+
"""Training data from external dataset."""
|
|
69
|
+
|
|
70
|
+
class TrainingDataSourceType(_TrainingDataSourceType, metaclass=_TrainingDataSourceTypeEnumTypeWrapper):
|
|
71
|
+
"""Training data source types"""
|
|
72
|
+
|
|
73
|
+
TRAINING_DATA_SOURCE_TYPE_UNSPECIFIED: TrainingDataSourceType.ValueType # 0
|
|
74
|
+
"""Default value, should not be used in practice."""
|
|
75
|
+
TRAINING_DATA_SOURCE_TYPE_SIMULATION_SOLUTIONS: TrainingDataSourceType.ValueType # 1
|
|
76
|
+
"""Training data from simulation solutions."""
|
|
77
|
+
TRAINING_DATA_SOURCE_TYPE_EXTERNAL_DATASET: TrainingDataSourceType.ValueType # 2
|
|
78
|
+
"""Training data from external dataset."""
|
|
79
|
+
global___TrainingDataSourceType = TrainingDataSourceType
|
|
80
|
+
|
|
81
|
+
class _ModelInitializationType:
|
|
82
|
+
ValueType = typing.NewType("ValueType", builtins.int)
|
|
83
|
+
V: typing_extensions.TypeAlias = ValueType
|
|
84
|
+
|
|
85
|
+
class _ModelInitializationTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ModelInitializationType.ValueType], builtins.type): # noqa: F821
|
|
86
|
+
DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
|
|
87
|
+
MODEL_INITIALIZATION_TYPE_UNSPECIFIED: _ModelInitializationType.ValueType # 0
|
|
88
|
+
"""Default value, should not be used in practice."""
|
|
89
|
+
MODEL_INITIALIZATION_TYPE_RANDOM: _ModelInitializationType.ValueType # 1
|
|
90
|
+
"""Random initialization."""
|
|
91
|
+
MODEL_INITIALIZATION_TYPE_MODEL_VERSION: _ModelInitializationType.ValueType # 2
|
|
92
|
+
"""Initialize from existing model version."""
|
|
93
|
+
MODEL_INITIALIZATION_TYPE_CHECKPOINT: _ModelInitializationType.ValueType # 3
|
|
94
|
+
"""Initialize from checkpoint."""
|
|
95
|
+
|
|
96
|
+
class ModelInitializationType(_ModelInitializationType, metaclass=_ModelInitializationTypeEnumTypeWrapper):
|
|
97
|
+
"""Model initialization types"""
|
|
98
|
+
|
|
99
|
+
MODEL_INITIALIZATION_TYPE_UNSPECIFIED: ModelInitializationType.ValueType # 0
|
|
100
|
+
"""Default value, should not be used in practice."""
|
|
101
|
+
MODEL_INITIALIZATION_TYPE_RANDOM: ModelInitializationType.ValueType # 1
|
|
102
|
+
"""Random initialization."""
|
|
103
|
+
MODEL_INITIALIZATION_TYPE_MODEL_VERSION: ModelInitializationType.ValueType # 2
|
|
104
|
+
"""Initialize from existing model version."""
|
|
105
|
+
MODEL_INITIALIZATION_TYPE_CHECKPOINT: ModelInitializationType.ValueType # 3
|
|
106
|
+
"""Initialize from checkpoint."""
|
|
107
|
+
global___ModelInitializationType = ModelInitializationType
|
|
108
|
+
|
|
55
109
|
class PhysicsAiArchitectureVersion(google.protobuf.message.Message):
|
|
56
110
|
"""A physics ai architecture version."""
|
|
57
111
|
|
|
@@ -290,3 +344,163 @@ class GetSolutionDataPhysicsAIResponse(google.protobuf.message.Message):
|
|
|
290
344
|
def ClearField(self, field_name: typing_extensions.Literal["file", b"file"]) -> None: ...
|
|
291
345
|
|
|
292
346
|
global___GetSolutionDataPhysicsAIResponse = GetSolutionDataPhysicsAIResponse
|
|
347
|
+
|
|
348
|
+
class TrainingSolution(google.protobuf.message.Message):
|
|
349
|
+
"""A training solution specification"""
|
|
350
|
+
|
|
351
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
352
|
+
|
|
353
|
+
SOLUTION_ID_FIELD_NUMBER: builtins.int
|
|
354
|
+
DATA_SPLIT_FIELD_NUMBER: builtins.int
|
|
355
|
+
solution_id: builtins.str
|
|
356
|
+
"""Solution ID to use for training."""
|
|
357
|
+
data_split: builtins.str
|
|
358
|
+
"""Data split for this solution (train, validation, test)."""
|
|
359
|
+
def __init__(
|
|
360
|
+
self,
|
|
361
|
+
*,
|
|
362
|
+
solution_id: builtins.str = ...,
|
|
363
|
+
data_split: builtins.str = ...,
|
|
364
|
+
) -> None: ...
|
|
365
|
+
def ClearField(self, field_name: typing_extensions.Literal["data_split", b"data_split", "solution_id", b"solution_id"]) -> None: ...
|
|
366
|
+
|
|
367
|
+
global___TrainingSolution = TrainingSolution
|
|
368
|
+
|
|
369
|
+
class PhysicsAiTrainingJob(google.protobuf.message.Message):
|
|
370
|
+
"""A Physics AI training job"""
|
|
371
|
+
|
|
372
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
373
|
+
|
|
374
|
+
ID_FIELD_NUMBER: builtins.int
|
|
375
|
+
ARCHITECTURE_VERSION_ID_FIELD_NUMBER: builtins.int
|
|
376
|
+
USER_ID_FIELD_NUMBER: builtins.int
|
|
377
|
+
TRAINING_CONFIG_FIELD_NUMBER: builtins.int
|
|
378
|
+
TRAINING_DATA_SOURCE_TYPE_FIELD_NUMBER: builtins.int
|
|
379
|
+
TRAINING_DESCRIPTION_FIELD_NUMBER: builtins.int
|
|
380
|
+
EXTERNAL_DATASET_URI_FIELD_NUMBER: builtins.int
|
|
381
|
+
INITIALIZATION_TYPE_FIELD_NUMBER: builtins.int
|
|
382
|
+
BASE_MODEL_VERSION_ID_FIELD_NUMBER: builtins.int
|
|
383
|
+
STATUS_FIELD_NUMBER: builtins.int
|
|
384
|
+
ERROR_MESSAGE_FIELD_NUMBER: builtins.int
|
|
385
|
+
OUTPUT_MODEL_VERSION_ID_FIELD_NUMBER: builtins.int
|
|
386
|
+
CREATION_TIME_FIELD_NUMBER: builtins.int
|
|
387
|
+
UPDATE_TIME_FIELD_NUMBER: builtins.int
|
|
388
|
+
COMPLETION_TIME_FIELD_NUMBER: builtins.int
|
|
389
|
+
id: builtins.str
|
|
390
|
+
"""Unique identifier for the training job."""
|
|
391
|
+
architecture_version_id: builtins.str
|
|
392
|
+
"""Architecture version ID being trained."""
|
|
393
|
+
user_id: builtins.str
|
|
394
|
+
"""User ID who submitted the job."""
|
|
395
|
+
training_config: builtins.str
|
|
396
|
+
"""Training configuration as JSON."""
|
|
397
|
+
training_data_source_type: global___TrainingDataSourceType.ValueType
|
|
398
|
+
"""Type of training data source."""
|
|
399
|
+
training_description: builtins.str
|
|
400
|
+
"""Description of the training job. (mutable)"""
|
|
401
|
+
external_dataset_uri: builtins.str
|
|
402
|
+
"""External dataset URI (if using external dataset)."""
|
|
403
|
+
initialization_type: global___ModelInitializationType.ValueType
|
|
404
|
+
"""Model initialization type."""
|
|
405
|
+
base_model_version_id: builtins.str
|
|
406
|
+
"""Base model version ID (if initializing from existing model)."""
|
|
407
|
+
@property
|
|
408
|
+
def status(self) -> luminarycloud._proto.base.base_pb2.JobStatus:
|
|
409
|
+
"""Current status of the training job. (mutable)"""
|
|
410
|
+
error_message: builtins.str
|
|
411
|
+
"""Error message (if failed)."""
|
|
412
|
+
output_model_version_id: builtins.str
|
|
413
|
+
"""Output model version ID (if completed, so mutable)."""
|
|
414
|
+
@property
|
|
415
|
+
def creation_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
|
|
416
|
+
"""Job creation time."""
|
|
417
|
+
@property
|
|
418
|
+
def update_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
|
|
419
|
+
"""Job last update time, updated when status changes. (mutable)"""
|
|
420
|
+
@property
|
|
421
|
+
def completion_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
|
|
422
|
+
"""Job completion time, set upon job completion. (mutable)"""
|
|
423
|
+
def __init__(
|
|
424
|
+
self,
|
|
425
|
+
*,
|
|
426
|
+
id: builtins.str = ...,
|
|
427
|
+
architecture_version_id: builtins.str = ...,
|
|
428
|
+
user_id: builtins.str = ...,
|
|
429
|
+
training_config: builtins.str = ...,
|
|
430
|
+
training_data_source_type: global___TrainingDataSourceType.ValueType = ...,
|
|
431
|
+
training_description: builtins.str = ...,
|
|
432
|
+
external_dataset_uri: builtins.str = ...,
|
|
433
|
+
initialization_type: global___ModelInitializationType.ValueType = ...,
|
|
434
|
+
base_model_version_id: builtins.str = ...,
|
|
435
|
+
status: luminarycloud._proto.base.base_pb2.JobStatus | None = ...,
|
|
436
|
+
error_message: builtins.str = ...,
|
|
437
|
+
output_model_version_id: builtins.str = ...,
|
|
438
|
+
creation_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
439
|
+
update_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
440
|
+
completion_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
|
|
441
|
+
) -> None: ...
|
|
442
|
+
def HasField(self, field_name: typing_extensions.Literal["completion_time", b"completion_time", "creation_time", b"creation_time", "status", b"status", "update_time", b"update_time"]) -> builtins.bool: ...
|
|
443
|
+
def ClearField(self, field_name: typing_extensions.Literal["architecture_version_id", b"architecture_version_id", "base_model_version_id", b"base_model_version_id", "completion_time", b"completion_time", "creation_time", b"creation_time", "error_message", b"error_message", "external_dataset_uri", b"external_dataset_uri", "id", b"id", "initialization_type", b"initialization_type", "output_model_version_id", b"output_model_version_id", "status", b"status", "training_config", b"training_config", "training_data_source_type", b"training_data_source_type", "training_description", b"training_description", "update_time", b"update_time", "user_id", b"user_id"]) -> None: ...
|
|
444
|
+
|
|
445
|
+
global___PhysicsAiTrainingJob = PhysicsAiTrainingJob
|
|
446
|
+
|
|
447
|
+
class SubmitTrainingJobRequest(google.protobuf.message.Message):
|
|
448
|
+
"""Request message for submitting a training job"""
|
|
449
|
+
|
|
450
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
451
|
+
|
|
452
|
+
ARCHITECTURE_VERSION_ID_FIELD_NUMBER: builtins.int
|
|
453
|
+
TRAINING_DESCRIPTION_FIELD_NUMBER: builtins.int
|
|
454
|
+
EXTERNAL_DATASET_URI_FIELD_NUMBER: builtins.int
|
|
455
|
+
TRAINING_SOLUTIONS_FIELD_NUMBER: builtins.int
|
|
456
|
+
TRAINING_CONFIG_FIELD_NUMBER: builtins.int
|
|
457
|
+
INITIALIZATION_TYPE_FIELD_NUMBER: builtins.int
|
|
458
|
+
BASE_MODEL_VERSION_ID_FIELD_NUMBER: builtins.int
|
|
459
|
+
architecture_version_id: builtins.str
|
|
460
|
+
"""Architecture version ID to train."""
|
|
461
|
+
training_description: builtins.str
|
|
462
|
+
"""Description of the training job."""
|
|
463
|
+
external_dataset_uri: builtins.str
|
|
464
|
+
"""External dataset URI"""
|
|
465
|
+
@property
|
|
466
|
+
def training_solutions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TrainingSolution]:
|
|
467
|
+
"""Training solutions"""
|
|
468
|
+
training_config: builtins.str
|
|
469
|
+
"""Training configuration in JSON format."""
|
|
470
|
+
initialization_type: global___ModelInitializationType.ValueType
|
|
471
|
+
"""Model initialization type."""
|
|
472
|
+
base_model_version_id: builtins.str
|
|
473
|
+
"""Base model version ID (if initializing from existing model)."""
|
|
474
|
+
def __init__(
|
|
475
|
+
self,
|
|
476
|
+
*,
|
|
477
|
+
architecture_version_id: builtins.str = ...,
|
|
478
|
+
training_description: builtins.str = ...,
|
|
479
|
+
external_dataset_uri: builtins.str = ...,
|
|
480
|
+
training_solutions: collections.abc.Iterable[global___TrainingSolution] | None = ...,
|
|
481
|
+
training_config: builtins.str = ...,
|
|
482
|
+
initialization_type: global___ModelInitializationType.ValueType = ...,
|
|
483
|
+
base_model_version_id: builtins.str = ...,
|
|
484
|
+
) -> None: ...
|
|
485
|
+
def ClearField(self, field_name: typing_extensions.Literal["architecture_version_id", b"architecture_version_id", "base_model_version_id", b"base_model_version_id", "external_dataset_uri", b"external_dataset_uri", "initialization_type", b"initialization_type", "training_config", b"training_config", "training_description", b"training_description", "training_solutions", b"training_solutions"]) -> None: ...
|
|
486
|
+
|
|
487
|
+
global___SubmitTrainingJobRequest = SubmitTrainingJobRequest
|
|
488
|
+
|
|
489
|
+
class SubmitTrainingJobResponse(google.protobuf.message.Message):
|
|
490
|
+
"""Response message for submitting a training job"""
|
|
491
|
+
|
|
492
|
+
DESCRIPTOR: google.protobuf.descriptor.Descriptor
|
|
493
|
+
|
|
494
|
+
TRAINING_JOB_FIELD_NUMBER: builtins.int
|
|
495
|
+
@property
|
|
496
|
+
def training_job(self) -> global___PhysicsAiTrainingJob:
|
|
497
|
+
"""The created training job."""
|
|
498
|
+
def __init__(
|
|
499
|
+
self,
|
|
500
|
+
*,
|
|
501
|
+
training_job: global___PhysicsAiTrainingJob | None = ...,
|
|
502
|
+
) -> None: ...
|
|
503
|
+
def HasField(self, field_name: typing_extensions.Literal["training_job", b"training_job"]) -> builtins.bool: ...
|
|
504
|
+
def ClearField(self, field_name: typing_extensions.Literal["training_job", b"training_job"]) -> None: ...
|
|
505
|
+
|
|
506
|
+
global___SubmitTrainingJobResponse = SubmitTrainingJobResponse
|
|
@@ -30,6 +30,11 @@ class PhysicsAiServiceStub(object):
|
|
|
30
30
|
request_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.GetSolutionDataPhysicsAIRequest.SerializeToString,
|
|
31
31
|
response_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.GetSolutionDataPhysicsAIResponse.FromString,
|
|
32
32
|
)
|
|
33
|
+
self.SubmitTrainingJob = channel.unary_unary(
|
|
34
|
+
'/luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiService/SubmitTrainingJob',
|
|
35
|
+
request_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.SubmitTrainingJobRequest.SerializeToString,
|
|
36
|
+
response_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.SubmitTrainingJobResponse.FromString,
|
|
37
|
+
)
|
|
33
38
|
|
|
34
39
|
|
|
35
40
|
class PhysicsAiServiceServicer(object):
|
|
@@ -57,6 +62,13 @@ class PhysicsAiServiceServicer(object):
|
|
|
57
62
|
context.set_details('Method not implemented!')
|
|
58
63
|
raise NotImplementedError('Method not implemented!')
|
|
59
64
|
|
|
65
|
+
def SubmitTrainingJob(self, request, context):
|
|
66
|
+
"""Submits a training job for a Physics AI architecture
|
|
67
|
+
"""
|
|
68
|
+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
|
|
69
|
+
context.set_details('Method not implemented!')
|
|
70
|
+
raise NotImplementedError('Method not implemented!')
|
|
71
|
+
|
|
60
72
|
|
|
61
73
|
def add_PhysicsAiServiceServicer_to_server(servicer, server):
|
|
62
74
|
rpc_method_handlers = {
|
|
@@ -75,6 +87,11 @@ def add_PhysicsAiServiceServicer_to_server(servicer, server):
|
|
|
75
87
|
request_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.GetSolutionDataPhysicsAIRequest.FromString,
|
|
76
88
|
response_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.GetSolutionDataPhysicsAIResponse.SerializeToString,
|
|
77
89
|
),
|
|
90
|
+
'SubmitTrainingJob': grpc.unary_unary_rpc_method_handler(
|
|
91
|
+
servicer.SubmitTrainingJob,
|
|
92
|
+
request_deserializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.SubmitTrainingJobRequest.FromString,
|
|
93
|
+
response_serializer=proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.SubmitTrainingJobResponse.SerializeToString,
|
|
94
|
+
),
|
|
78
95
|
}
|
|
79
96
|
generic_handler = grpc.method_handlers_generic_handler(
|
|
80
97
|
'luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiService', rpc_method_handlers)
|
|
@@ -136,3 +153,20 @@ class PhysicsAiService(object):
|
|
|
136
153
|
proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.GetSolutionDataPhysicsAIResponse.FromString,
|
|
137
154
|
options, channel_credentials,
|
|
138
155
|
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
156
|
+
|
|
157
|
+
@staticmethod
|
|
158
|
+
def SubmitTrainingJob(request,
|
|
159
|
+
target,
|
|
160
|
+
options=(),
|
|
161
|
+
channel_credentials=None,
|
|
162
|
+
call_credentials=None,
|
|
163
|
+
insecure=False,
|
|
164
|
+
compression=None,
|
|
165
|
+
wait_for_ready=None,
|
|
166
|
+
timeout=None,
|
|
167
|
+
metadata=None):
|
|
168
|
+
return grpc.experimental.unary_unary(request, target, '/luminary.proto.api.v0.luminarycloud.physics_ai.PhysicsAiService/SubmitTrainingJob',
|
|
169
|
+
proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.SubmitTrainingJobRequest.SerializeToString,
|
|
170
|
+
proto_dot_api_dot_v0_dot_luminarycloud_dot_physics__ai_dot_physics__ai__pb2.SubmitTrainingJobResponse.FromString,
|
|
171
|
+
options, channel_credentials,
|
|
172
|
+
insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
|
|
@@ -25,6 +25,11 @@ class PhysicsAiServiceStub:
|
|
|
25
25
|
luminarycloud._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2.GetSolutionDataPhysicsAIResponse,
|
|
26
26
|
]
|
|
27
27
|
"""Gets solution data with physics AI processing applied"""
|
|
28
|
+
SubmitTrainingJob: grpc.UnaryUnaryMultiCallable[
|
|
29
|
+
luminarycloud._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2.SubmitTrainingJobRequest,
|
|
30
|
+
luminarycloud._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2.SubmitTrainingJobResponse,
|
|
31
|
+
]
|
|
32
|
+
"""Submits a training job for a Physics AI architecture"""
|
|
28
33
|
|
|
29
34
|
class PhysicsAiServiceServicer(metaclass=abc.ABCMeta):
|
|
30
35
|
"""Manages physics ai architectures."""
|
|
@@ -50,5 +55,12 @@ class PhysicsAiServiceServicer(metaclass=abc.ABCMeta):
|
|
|
50
55
|
context: grpc.ServicerContext,
|
|
51
56
|
) -> luminarycloud._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2.GetSolutionDataPhysicsAIResponse:
|
|
52
57
|
"""Gets solution data with physics AI processing applied"""
|
|
58
|
+
@abc.abstractmethod
|
|
59
|
+
def SubmitTrainingJob(
|
|
60
|
+
self,
|
|
61
|
+
request: luminarycloud._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2.SubmitTrainingJobRequest,
|
|
62
|
+
context: grpc.ServicerContext,
|
|
63
|
+
) -> luminarycloud._proto.api.v0.luminarycloud.physics_ai.physics_ai_pb2.SubmitTrainingJobResponse:
|
|
64
|
+
"""Submits a training job for a Physics AI architecture"""
|
|
53
65
|
|
|
54
66
|
def add_PhysicsAiServiceServicer_to_server(servicer: PhysicsAiServiceServicer, server: grpc.Server) -> None: ...
|