synapse-sdk 1.0.0a12__py3-none-any.whl → 1.0.0a13__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.
Potentially problematic release.
This version of synapse-sdk might be problematic. Click here for more details.
- synapse_sdk/clients/agent/ray.py +5 -1
- synapse_sdk/clients/backend/integration.py +8 -0
- synapse_sdk/clients/backend/ml.py +0 -4
- synapse_sdk/clients/base.py +3 -0
- synapse_sdk/plugins/categories/base.py +7 -6
- synapse_sdk/plugins/categories/neural_net/actions/deployment.py +4 -10
- synapse_sdk/plugins/categories/neural_net/actions/train.py +1 -1
- synapse_sdk/plugins/categories/neural_net/templates/config.yaml +2 -2
- synapse_sdk/plugins/categories/neural_net/templates/plugin/train.py +6 -6
- {synapse_sdk-1.0.0a12.dist-info → synapse_sdk-1.0.0a13.dist-info}/METADATA +1 -1
- {synapse_sdk-1.0.0a12.dist-info → synapse_sdk-1.0.0a13.dist-info}/RECORD +15 -15
- {synapse_sdk-1.0.0a12.dist-info → synapse_sdk-1.0.0a13.dist-info}/LICENSE +0 -0
- {synapse_sdk-1.0.0a12.dist-info → synapse_sdk-1.0.0a13.dist-info}/WHEEL +0 -0
- {synapse_sdk-1.0.0a12.dist-info → synapse_sdk-1.0.0a13.dist-info}/entry_points.txt +0 -0
- {synapse_sdk-1.0.0a12.dist-info → synapse_sdk-1.0.0a13.dist-info}/top_level.txt +0 -0
synapse_sdk/clients/agent/ray.py
CHANGED
|
@@ -46,9 +46,13 @@ class RayClientMixin(BaseClient):
|
|
|
46
46
|
return self._get(path)
|
|
47
47
|
|
|
48
48
|
def get_serve_application(self, pk):
|
|
49
|
-
path = f'
|
|
49
|
+
path = f'serve_applications/{pk}/'
|
|
50
50
|
return self._get(path)
|
|
51
51
|
|
|
52
52
|
def list_serve_applications(self):
|
|
53
53
|
path = 'serve_applications/'
|
|
54
54
|
return self._get(path)
|
|
55
|
+
|
|
56
|
+
def delete_serve_application(self, pk):
|
|
57
|
+
path = f'serve_applications/{pk}/'
|
|
58
|
+
return self._delete(path)
|
|
@@ -61,3 +61,11 @@ class IntegrationClientMixin(BaseClient):
|
|
|
61
61
|
def create_logs(self, data):
|
|
62
62
|
path = 'logs/'
|
|
63
63
|
return self._post(path, data=data)
|
|
64
|
+
|
|
65
|
+
def create_serve_application(self, data):
|
|
66
|
+
path = 'serve_applications/'
|
|
67
|
+
return self._post(path, data=data)
|
|
68
|
+
|
|
69
|
+
def list_serve_applications(self, params=None):
|
|
70
|
+
path = 'serve_applications/'
|
|
71
|
+
return self._get(path, params=params)
|
|
@@ -19,10 +19,6 @@ class MLClientMixin(BaseClient):
|
|
|
19
19
|
files = {'file': data.pop('file')}
|
|
20
20
|
return self._post(path, data=data, files=files)
|
|
21
21
|
|
|
22
|
-
def create_serve_application(self, data):
|
|
23
|
-
path = 'serve_applications/'
|
|
24
|
-
return self._post(path, data=data)
|
|
25
|
-
|
|
26
22
|
def list_ground_truth_events(self, params=None, url_conversion=None, list_all=False):
|
|
27
23
|
path = 'ground_truth_events/'
|
|
28
24
|
url_conversion = get_default_url_conversion(url_conversion, files_fields=['files'])
|
synapse_sdk/clients/base.py
CHANGED
|
@@ -76,6 +76,9 @@ class BaseClient:
|
|
|
76
76
|
def _patch(self, path, **kwargs):
|
|
77
77
|
return self._request('patch', path, **kwargs)
|
|
78
78
|
|
|
79
|
+
def _delete(self, path, **kwargs):
|
|
80
|
+
return self._request('delete', path, **kwargs)
|
|
81
|
+
|
|
79
82
|
def _list(self, path, url_conversion=None, list_all=False, **kwargs):
|
|
80
83
|
response = self._get(path, url_conversion, **kwargs)
|
|
81
84
|
if list_all:
|
|
@@ -4,11 +4,8 @@ import os
|
|
|
4
4
|
from functools import cached_property
|
|
5
5
|
from pprint import pprint
|
|
6
6
|
|
|
7
|
-
import ray
|
|
8
7
|
import requests
|
|
9
8
|
from pydantic import ValidationError
|
|
10
|
-
from ray.dashboard.modules.job.sdk import JobSubmissionClient
|
|
11
|
-
from ray.exceptions import RayTaskError
|
|
12
9
|
|
|
13
10
|
from synapse_sdk.clients.ray import RayClient
|
|
14
11
|
from synapse_sdk.plugins.enums import RunMethod
|
|
@@ -143,9 +140,6 @@ class Action:
|
|
|
143
140
|
def run_action(self):
|
|
144
141
|
self.validate_params()
|
|
145
142
|
|
|
146
|
-
if not ray.is_initialized():
|
|
147
|
-
ray.init(address=self.envs['RAY_ADDRESS'], ignore_reinit_error=True)
|
|
148
|
-
|
|
149
143
|
if self.direct:
|
|
150
144
|
if self.method == RunMethod.RESTAPI:
|
|
151
145
|
return self.start_by_restapi()
|
|
@@ -161,6 +155,9 @@ class Action:
|
|
|
161
155
|
return self.entrypoint(**self.params)
|
|
162
156
|
|
|
163
157
|
def start_by_task(self):
|
|
158
|
+
import ray
|
|
159
|
+
from ray.exceptions import RayTaskError
|
|
160
|
+
|
|
164
161
|
@ray.remote(runtime_env=self.get_runtime_env())
|
|
165
162
|
def run_task(category, action, *args, **kwargs):
|
|
166
163
|
from synapse_sdk.plugins.utils import get_action_class
|
|
@@ -183,6 +180,8 @@ class Action:
|
|
|
183
180
|
|
|
184
181
|
kwargs['direct'] = True
|
|
185
182
|
try:
|
|
183
|
+
if not ray.is_initialized():
|
|
184
|
+
ray.init(address=self.envs['RAY_ADDRESS'], ignore_reinit_error=True)
|
|
186
185
|
return ray.get(run_task.remote(self.category.value, self.name, *args, **kwargs))
|
|
187
186
|
except RayTaskError as e:
|
|
188
187
|
raise ActionError(e.cause)
|
|
@@ -232,4 +231,6 @@ class Action:
|
|
|
232
231
|
self.client.update_job(self.job_id, data={'result': result or {}, 'console_logs': logs})
|
|
233
232
|
|
|
234
233
|
def get_job_client(self):
|
|
234
|
+
from ray.dashboard.modules.job.sdk import JobSubmissionClient
|
|
235
|
+
|
|
235
236
|
return JobSubmissionClient(address=self.envs.get('RAY_DASHBOARD_URL'))
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
from ray import serve
|
|
2
|
-
|
|
3
1
|
from synapse_sdk.clients.exceptions import ClientError
|
|
4
2
|
from synapse_sdk.plugins.categories.base import Action
|
|
5
3
|
from synapse_sdk.plugins.categories.decorators import register_action
|
|
@@ -12,14 +10,13 @@ class DeploymentAction(Action):
|
|
|
12
10
|
category = PluginCategory.NEURAL_NET
|
|
13
11
|
method = RunMethod.JOB
|
|
14
12
|
|
|
15
|
-
def get_deployment(self):
|
|
16
|
-
return serve.deployment(ray_actor_options=self.get_actor_options())(self.entrypoint)
|
|
17
|
-
|
|
18
13
|
def get_actor_options(self):
|
|
19
14
|
return {'runtime_env': self.get_runtime_env()}
|
|
20
15
|
|
|
21
16
|
def start(self):
|
|
22
|
-
|
|
17
|
+
from ray import serve
|
|
18
|
+
|
|
19
|
+
deployment = serve.deployment(ray_actor_options=self.get_actor_options())(self.entrypoint)
|
|
23
20
|
serve.delete(self.plugin_release.code)
|
|
24
21
|
# TODO add run object
|
|
25
22
|
serve.run(deployment.bind(), name=self.plugin_release.code, route_prefix=f'/{self.plugin_release.checksum}')
|
|
@@ -31,12 +28,9 @@ class DeploymentAction(Action):
|
|
|
31
28
|
def create_serve_application(self):
|
|
32
29
|
if self.client:
|
|
33
30
|
try:
|
|
34
|
-
job = self.client.get_job(self.job_id)
|
|
35
31
|
serve_application = self.ray_client.get_serve_application(self.plugin_release.code)
|
|
36
32
|
return self.client.create_serve_application({
|
|
37
|
-
'
|
|
38
|
-
'version': self.plugin_release.version,
|
|
39
|
-
'agent': job['agent'],
|
|
33
|
+
'job': self.job_id,
|
|
40
34
|
'status': serve_application['status'],
|
|
41
35
|
'data': serve_application,
|
|
42
36
|
})
|
|
@@ -2,12 +2,12 @@ import time
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
def train(run, dataset, hyperparameter, checkpoint=None):
|
|
5
|
-
|
|
6
|
-
run.set_progress(0,
|
|
7
|
-
for i in range(1,
|
|
5
|
+
count_epochs = hyperparameter['epochs']
|
|
6
|
+
run.set_progress(0, count_epochs, category='train')
|
|
7
|
+
for i in range(1, count_epochs + 1):
|
|
8
8
|
time.sleep(0.5)
|
|
9
|
-
loss = float(round((
|
|
9
|
+
loss = float(round((count_epochs - i) / count_epochs, 2))
|
|
10
10
|
miou = 1 - loss
|
|
11
|
-
run.log_metric('
|
|
12
|
-
run.set_progress(i,
|
|
11
|
+
run.log_metric('epoch', i, loss=loss, miou=miou)
|
|
12
|
+
run.set_progress(i, count_epochs, category='train')
|
|
13
13
|
return './'
|
|
@@ -8,18 +8,18 @@ synapse_sdk/loggers.py,sha256=RsDDOiOeUCih1XOkWQJseYdYCX_wt50AZJRe6aPf96Q,4004
|
|
|
8
8
|
synapse_sdk/cli/__init__.py,sha256=WmYGW1qZEXXIGJe3SGr8QjOStY4svuZKK1Lp_aPvtPs,140
|
|
9
9
|
synapse_sdk/cli/create_plugin.py,sha256=egbW_92WwxfHz50Gy4znX5Bf5fxDdQj3GFyd0l3Y3SY,228
|
|
10
10
|
synapse_sdk/clients/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
|
-
synapse_sdk/clients/base.py,sha256=
|
|
11
|
+
synapse_sdk/clients/base.py,sha256=b34uGFZyV13NVWPfycDK3FNz3W9gT5r4-oLQ_mVrDPQ,3327
|
|
12
12
|
synapse_sdk/clients/exceptions.py,sha256=ylv7x10eOp4aA3a48jwonnvqvkiYwzJYXjkVkRTAjwk,220
|
|
13
13
|
synapse_sdk/clients/utils.py,sha256=8pPJTdzHiRPSbZMoQYHAgR2BAMO6u_R_jMV6a2p34iQ,392
|
|
14
14
|
synapse_sdk/clients/agent/__init__.py,sha256=Pz8_iTbIbnb7ywGJ3feqoZVmO2I3mEbwpWsISIxh0BU,1968
|
|
15
15
|
synapse_sdk/clients/agent/core.py,sha256=YicfkO0YvjDDOt1jNWoZ0mokrh8xxKibBL4qF5yOjKs,169
|
|
16
|
-
synapse_sdk/clients/agent/ray.py,sha256=
|
|
16
|
+
synapse_sdk/clients/agent/ray.py,sha256=JrwLyVOUDG2yYsbPrxyUtWbM-FWp9B6Bl_GdDby0rt8,1559
|
|
17
17
|
synapse_sdk/clients/agent/service.py,sha256=s7KuPK_DB1nr2VHrigttV1WyFonaGHNrPvU8loRxHcE,478
|
|
18
18
|
synapse_sdk/clients/backend/__init__.py,sha256=SVC7kDO_z_4YqpLDR-O_RrrxJFkWmMhJC8Hl_Mc5Sz4,830
|
|
19
19
|
synapse_sdk/clients/backend/annotation.py,sha256=eZc5EidgR_RfMGwvv1r1_mLkPdRd8e52c4zuuMjMX34,979
|
|
20
20
|
synapse_sdk/clients/backend/dataset.py,sha256=X8R71vff1gLytlEaOnKhBWjVQaZcIG_WYy32new4Vq0,1737
|
|
21
|
-
synapse_sdk/clients/backend/integration.py,sha256=
|
|
22
|
-
synapse_sdk/clients/backend/ml.py,sha256=
|
|
21
|
+
synapse_sdk/clients/backend/integration.py,sha256=VxhQ91VWAn6eLEptxK561Vt-2bQh97kmCyuznadFMno,2123
|
|
22
|
+
synapse_sdk/clients/backend/ml.py,sha256=SwA4_noRCZ1dVIzyXfrs2zHuRlQZdZt17o1We5QOxl8,1053
|
|
23
23
|
synapse_sdk/clients/ray/__init__.py,sha256=9ZSPXVVxlJ8Wp8ku7l021ENtPjVrGgQDgqifkkVAXgM,187
|
|
24
24
|
synapse_sdk/clients/ray/core.py,sha256=a4wyCocAma2HAm-BHlbZnoVbpfdR-Aad2FM0z6vPFvw,731
|
|
25
25
|
synapse_sdk/clients/ray/serve.py,sha256=rbCpXZYWf0oP8XJ9faa9QFNPYU7h8dltIG8xn9ZconY,907
|
|
@@ -30,7 +30,7 @@ synapse_sdk/plugins/models.py,sha256=LTD5fUk1Y2i2kNx5MaCYVFvXEyzyheY6cEHpNC248ls
|
|
|
30
30
|
synapse_sdk/plugins/upload.py,sha256=VJOotYMayylOH0lNoAGeGHRkLdhP7jnC_A0rFQMvQpQ,3228
|
|
31
31
|
synapse_sdk/plugins/utils.py,sha256=n3s-zFnj4hrGWFtaBTJFbaupI8qUQL6S8_5YcbxOmeY,1482
|
|
32
32
|
synapse_sdk/plugins/categories/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
|
-
synapse_sdk/plugins/categories/base.py,sha256=
|
|
33
|
+
synapse_sdk/plugins/categories/base.py,sha256=2XMBdYs-feqEFfqae2wM5GqbhnINUQF1EcUMpRmodKg,8091
|
|
34
34
|
synapse_sdk/plugins/categories/decorators.py,sha256=Gw6T-UHwpCKrSt596X-g2sZbY_Z1zbbogowClj7Pr5Q,518
|
|
35
35
|
synapse_sdk/plugins/categories/registry.py,sha256=KdQR8SUlLT-3kgYzDNWawS1uJnAhrcw2j4zFaTpilRs,636
|
|
36
36
|
synapse_sdk/plugins/categories/templates.py,sha256=FF5FerhkZMeW1YcKLY5cylC0SkWSYdJODA_Qcm4OGYQ,887
|
|
@@ -48,15 +48,15 @@ synapse_sdk/plugins/categories/import/actions/__init__.py,sha256=47DEQpj8HBSa-_T
|
|
|
48
48
|
synapse_sdk/plugins/categories/import/actions/import.py,sha256=URn6TOp081odMT5D4NlZ2XEcyKelJx8fxzdoKSkXSAI,320
|
|
49
49
|
synapse_sdk/plugins/categories/neural_net/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
50
50
|
synapse_sdk/plugins/categories/neural_net/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
51
|
-
synapse_sdk/plugins/categories/neural_net/actions/deployment.py,sha256=
|
|
51
|
+
synapse_sdk/plugins/categories/neural_net/actions/deployment.py,sha256=HeNGfRBIjiw_rRwzoApAuPm6nuT0qEj-BlJBpI8nGKc,1505
|
|
52
52
|
synapse_sdk/plugins/categories/neural_net/actions/inference.py,sha256=i18bDDjkuF9V8nxxW-T_umNIOD-Jnq_MMjIjZc6W8n8,645
|
|
53
53
|
synapse_sdk/plugins/categories/neural_net/actions/test.py,sha256=JY25eg-Fo6WbgtMkGoo_qNqoaZkp3AQNEypJmeGzEog,320
|
|
54
|
-
synapse_sdk/plugins/categories/neural_net/actions/train.py,sha256=
|
|
55
|
-
synapse_sdk/plugins/categories/neural_net/templates/config.yaml,sha256=
|
|
54
|
+
synapse_sdk/plugins/categories/neural_net/actions/train.py,sha256=7SNhETRw-L-dNEXXANejHMPYCYeqmYjpuUaRFS5vIYA,4554
|
|
55
|
+
synapse_sdk/plugins/categories/neural_net/templates/config.yaml,sha256=dXKB1hO53hDZB73xnxLVCNQl8Sm7svMmVmuMrOCQmEU,343
|
|
56
56
|
synapse_sdk/plugins/categories/neural_net/templates/plugin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
57
57
|
synapse_sdk/plugins/categories/neural_net/templates/plugin/inference.py,sha256=InfqKWJYi6sqiUnfPKHC5KYGhxckDaWZNQ202u-uVP4,366
|
|
58
58
|
synapse_sdk/plugins/categories/neural_net/templates/plugin/test.py,sha256=kYyk7l4UtcDUAH4nkdVUGrHHHjxI4p1U13HSLnmGPyE,53
|
|
59
|
-
synapse_sdk/plugins/categories/neural_net/templates/plugin/train.py,sha256=
|
|
59
|
+
synapse_sdk/plugins/categories/neural_net/templates/plugin/train.py,sha256=R4sjNjqRHOJApdKy1p3wXiCPC0Hn_NQf44LJCDopY9E,460
|
|
60
60
|
synapse_sdk/plugins/categories/post_annotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
61
61
|
synapse_sdk/plugins/categories/post_annotation/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
62
62
|
synapse_sdk/plugins/categories/post_annotation/actions/post_annotation.py,sha256=dkPqOPPMUoxn7h1e-momdhqezhTJ7wLf-Dyx04zKfjw,347
|
|
@@ -103,9 +103,9 @@ synapse_sdk/utils/pydantic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
|
|
|
103
103
|
synapse_sdk/utils/pydantic/config.py,sha256=1vYOcUI35GslfD1rrqhFkNXXJOXt4IDqOPSx9VWGfNE,123
|
|
104
104
|
synapse_sdk/utils/pydantic/errors.py,sha256=0v0T12eQBr1KrFiEOBu6KMaPK4aPEGEC6etPJGoR5b4,1061
|
|
105
105
|
synapse_sdk/utils/pydantic/validators.py,sha256=G47P8ObPhsePmd_QZDK8EdPnik2CbaYzr_N4Z6En8dc,193
|
|
106
|
-
synapse_sdk-1.0.
|
|
107
|
-
synapse_sdk-1.0.
|
|
108
|
-
synapse_sdk-1.0.
|
|
109
|
-
synapse_sdk-1.0.
|
|
110
|
-
synapse_sdk-1.0.
|
|
111
|
-
synapse_sdk-1.0.
|
|
106
|
+
synapse_sdk-1.0.0a13.dist-info/LICENSE,sha256=bKzmC5YAg4V1Fhl8OO_tqY8j62hgdncAkN7VrdjmrGk,1101
|
|
107
|
+
synapse_sdk-1.0.0a13.dist-info/METADATA,sha256=KRozKnQDQqVd48GRU_jMUTMijCrWUmUuVv2YmPjPhWo,1049
|
|
108
|
+
synapse_sdk-1.0.0a13.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
|
109
|
+
synapse_sdk-1.0.0a13.dist-info/entry_points.txt,sha256=VNptJoGoNJI8yLXfBmhgUefMsmGI0m3-0YoMvrOgbxo,48
|
|
110
|
+
synapse_sdk-1.0.0a13.dist-info/top_level.txt,sha256=ytgJMRK1slVOKUpgcw3LEyHHP7S34J6n_gJzdkcSsw8,12
|
|
111
|
+
synapse_sdk-1.0.0a13.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|