wandb 0.18.6__py3-none-win32.whl → 0.19.0__py3-none-win32.whl
Sign up to get free protection for your applications and to get access to all the features.
- package_readme.md +8 -0
- wandb/__init__.py +5 -7
- wandb/__init__.pyi +51 -30
- wandb/analytics/sentry.py +4 -10
- wandb/apis/importers/internals/internal.py +6 -6
- wandb/apis/importers/internals/protocols.py +11 -7
- wandb/apis/public/api.py +5 -1
- wandb/apis/public/jobs.py +1 -7
- wandb/apis/public/reports.py +6 -17
- wandb/apis/public/runs.py +12 -10
- wandb/bin/gpu_stats.exe +0 -0
- wandb/bin/wandb-core +0 -0
- wandb/cli/cli.py +9 -45
- wandb/env.py +3 -5
- wandb/errors/links.py +1 -1
- wandb/errors/term.py +1 -6
- wandb/filesync/dir_watcher.py +3 -3
- wandb/filesync/step_upload.py +2 -5
- wandb/integration/fastai/__init__.py +1 -6
- wandb/integration/gym/__init__.py +1 -7
- wandb/integration/keras/callbacks/metrics_logger.py +1 -8
- wandb/integration/keras/callbacks/model_checkpoint.py +1 -8
- wandb/integration/keras/keras.py +3 -5
- wandb/integration/lightgbm/__init__.py +1 -1
- wandb/integration/sb3/sb3.py +1 -7
- wandb/integration/sklearn/utils.py +1 -1
- wandb/integration/tensorboard/log.py +1 -2
- wandb/integration/torch/wandb_torch.py +1 -1
- wandb/integration/ultralytics/bbox_utils.py +9 -2
- wandb/jupyter.py +4 -4
- wandb/proto/v3/wandb_internal_pb2.py +31 -31
- wandb/proto/v3/wandb_settings_pb2.py +2 -2
- wandb/proto/v3/wandb_telemetry_pb2.py +4 -4
- wandb/proto/v4/wandb_internal_pb2.py +31 -31
- wandb/proto/v4/wandb_settings_pb2.py +2 -2
- wandb/proto/v4/wandb_telemetry_pb2.py +4 -4
- wandb/proto/v5/wandb_internal_pb2.py +31 -31
- wandb/proto/v5/wandb_settings_pb2.py +2 -2
- wandb/proto/v5/wandb_telemetry_pb2.py +4 -4
- wandb/proto/wandb_deprecated.py +3 -11
- wandb/proto/wandb_generate_deprecated.py +3 -7
- wandb/sdk/artifacts/artifact.py +3 -11
- wandb/sdk/artifacts/artifact_file_cache.py +2 -5
- wandb/sdk/artifacts/artifact_saver.py +2 -6
- wandb/sdk/artifacts/storage_handlers/gcs_handler.py +2 -4
- wandb/sdk/artifacts/storage_handlers/local_file_handler.py +2 -4
- wandb/sdk/artifacts/storage_handlers/s3_handler.py +2 -4
- wandb/sdk/backend/backend.py +1 -1
- wandb/sdk/data_types/base_types/wb_value.py +20 -10
- wandb/sdk/data_types/histogram.py +1 -3
- wandb/sdk/data_types/object_3d.py +2 -6
- wandb/sdk/data_types/table.py +1 -1
- wandb/sdk/data_types/utils.py +1 -2
- wandb/sdk/data_types/video.py +15 -4
- wandb/sdk/integration_utils/auto_logging.py +1 -8
- wandb/sdk/interface/interface.py +12 -5
- wandb/sdk/interface/interface_queue.py +0 -6
- wandb/sdk/interface/interface_shared.py +9 -0
- wandb/sdk/interface/router.py +1 -2
- wandb/sdk/interface/router_queue.py +0 -3
- wandb/sdk/interface/router_relay.py +0 -2
- wandb/sdk/internal/file_stream.py +1 -4
- wandb/sdk/internal/flow_control.py +1 -1
- wandb/sdk/internal/handler.py +8 -5
- wandb/sdk/internal/internal.py +3 -17
- wandb/sdk/internal/internal_api.py +3 -10
- wandb/sdk/internal/internal_util.py +0 -3
- wandb/sdk/internal/job_builder.py +20 -12
- wandb/sdk/internal/progress.py +1 -5
- wandb/sdk/internal/sender.py +9 -15
- wandb/sdk/internal/settings_static.py +4 -10
- wandb/sdk/internal/system/assets/cpu.py +2 -2
- wandb/sdk/internal/system/assets/disk.py +3 -3
- wandb/sdk/internal/system/assets/gpu.py +7 -7
- wandb/sdk/internal/system/assets/gpu_amd.py +1 -7
- wandb/sdk/internal/system/assets/interfaces.py +11 -13
- wandb/sdk/internal/system/assets/ipu.py +1 -1
- wandb/sdk/internal/system/assets/memory.py +2 -2
- wandb/sdk/internal/system/assets/open_metrics.py +2 -8
- wandb/sdk/internal/system/assets/trainium.py +3 -9
- wandb/sdk/internal/system/system_info.py +14 -13
- wandb/sdk/internal/system/system_monitor.py +5 -12
- wandb/sdk/internal/tb_watcher.py +1 -1
- wandb/sdk/internal/writer.py +2 -4
- wandb/sdk/launch/__init__.py +2 -1
- wandb/sdk/launch/agent/run_queue_item_file_saver.py +1 -7
- wandb/sdk/launch/create_job.py +2 -3
- wandb/sdk/launch/runner/abstract.py +1 -6
- wandb/sdk/launch/runner/kubernetes_monitor.py +2 -4
- wandb/sdk/lib/apikey.py +2 -6
- wandb/sdk/lib/fsm.py +12 -6
- wandb/sdk/lib/ipython.py +1 -6
- wandb/sdk/lib/module.py +0 -3
- wandb/sdk/lib/progress.py +2 -3
- wandb/sdk/lib/run_moment.py +1 -7
- wandb/sdk/lib/server.py +10 -24
- wandb/sdk/lib/sock_client.py +0 -5
- wandb/sdk/service/server.py +3 -12
- wandb/sdk/service/server_sock.py +0 -2
- wandb/sdk/service/service.py +5 -5
- wandb/sdk/wandb_init.py +215 -166
- wandb/sdk/wandb_login.py +17 -27
- wandb/sdk/wandb_run.py +129 -161
- wandb/sdk/wandb_settings.py +978 -1760
- wandb/sdk/wandb_setup.py +87 -94
- wandb/sdk/wandb_watch.py +1 -1
- wandb/sync/sync.py +1 -2
- wandb/util.py +7 -40
- wandb/wandb_controller.py +10 -12
- {wandb-0.18.6.dist-info → wandb-0.19.0.dist-info}/METADATA +14 -4
- {wandb-0.18.6.dist-info → wandb-0.19.0.dist-info}/RECORD +114 -120
- {wandb-0.18.6.dist-info → wandb-0.19.0.dist-info}/WHEEL +1 -1
- wandb/integration/magic.py +0 -556
- wandb/magic.py +0 -3
- wandb/sdk/lib/_settings_toposort_generate.py +0 -159
- wandb/sdk/lib/_settings_toposort_generated.py +0 -250
- wandb/sdk/lib/reporting.py +0 -99
- wandb/sdk/lib/tracelog.py +0 -255
- {wandb-0.18.6.dist-info → wandb-0.19.0.dist-info}/entry_points.txt +0 -0
- {wandb-0.18.6.dist-info → wandb-0.19.0.dist-info}/licenses/LICENSE +0 -0
wandb/sdk/lib/tracelog.py
DELETED
@@ -1,255 +0,0 @@
|
|
1
|
-
"""tracelog.
|
2
|
-
|
3
|
-
Functions:
|
4
|
-
log_message_queue - message put() to queue
|
5
|
-
log_message_dequeue - message get() from queue
|
6
|
-
log_message_send - message sent to socket
|
7
|
-
log_message_recv - message received from socket
|
8
|
-
log_message_process - message processed by thread
|
9
|
-
log_message_link - message linked to another message
|
10
|
-
log_message_assert - message encountered problem
|
11
|
-
|
12
|
-
"""
|
13
|
-
|
14
|
-
import datetime
|
15
|
-
import logging
|
16
|
-
import secrets
|
17
|
-
import sys
|
18
|
-
import threading
|
19
|
-
from typing import TYPE_CHECKING, Optional, cast
|
20
|
-
|
21
|
-
if TYPE_CHECKING:
|
22
|
-
import multiprocessing
|
23
|
-
import queue
|
24
|
-
import socket
|
25
|
-
from typing import Union
|
26
|
-
|
27
|
-
from wandb.proto import wandb_internal_pb2 as pb
|
28
|
-
from wandb.proto import wandb_server_pb2 as spb
|
29
|
-
|
30
|
-
MessageQueueType = Union[pb.Record, pb.Result]
|
31
|
-
MessageType = Union[pb.Record, pb.Result, spb.ServerRequest, spb.ServerResponse]
|
32
|
-
QueueType = Union[multiprocessing.Queue, queue.Queue]
|
33
|
-
TransportType = Union[socket.socket, str]
|
34
|
-
|
35
|
-
|
36
|
-
# Supported modes:
|
37
|
-
# logger - tracelog output goes to python logging (default)
|
38
|
-
# stdout - tracelog output goes to stdout
|
39
|
-
# stderr - tracelog output goes to stderr
|
40
|
-
tracelog_mode: Optional[str] = "logger"
|
41
|
-
|
42
|
-
logger = logging.getLogger(__name__)
|
43
|
-
|
44
|
-
|
45
|
-
ANNOTATE_QUEUE_NAME = "_DEBUGLOG_QUEUE_NAME"
|
46
|
-
|
47
|
-
# capture stdout and stderr before anyone messes with them
|
48
|
-
stdout_write = sys.__stdout__.write # type: ignore
|
49
|
-
stderr_write = sys.__stderr__.write # type: ignore
|
50
|
-
|
51
|
-
|
52
|
-
def _log(
|
53
|
-
msg_type: str,
|
54
|
-
log_type: str,
|
55
|
-
is_response: bool = False,
|
56
|
-
record: Optional["pb.Record"] = None,
|
57
|
-
result: Optional["pb.Result"] = None,
|
58
|
-
resource: Optional[str] = None,
|
59
|
-
) -> None:
|
60
|
-
prefix = "TRACELOG(1)"
|
61
|
-
tname = threading.current_thread().name
|
62
|
-
now = datetime.datetime.now()
|
63
|
-
ts = now.strftime("%H%M%S.%f")
|
64
|
-
arrow = "<-" if is_response else "->"
|
65
|
-
resource = resource or "unknown"
|
66
|
-
uuid = ""
|
67
|
-
data = record or result
|
68
|
-
record_id = ""
|
69
|
-
if data:
|
70
|
-
uuid = data.uuid or uuid
|
71
|
-
record_id = data._info._tracelog_id
|
72
|
-
uuid = uuid or "-"
|
73
|
-
record_id = record_id or "-"
|
74
|
-
relay = ""
|
75
|
-
if data and data.control and data.control.relay_id:
|
76
|
-
relay = data.control.relay_id
|
77
|
-
relay = relay or "-"
|
78
|
-
line = f"{prefix} {arrow} {ts} {record_id:16} {log_type:7} {resource:8} {tname:16} {msg_type:32} {uuid:32} {relay:32}"
|
79
|
-
if tracelog_mode == "stdout":
|
80
|
-
stdout_write(f"{line}\n")
|
81
|
-
elif tracelog_mode == "stderr":
|
82
|
-
stderr_write(f"{line}\n")
|
83
|
-
elif tracelog_mode == "logger":
|
84
|
-
logger.info(line)
|
85
|
-
|
86
|
-
|
87
|
-
def _record_msg_type(record: "pb.Record") -> str:
|
88
|
-
msg_type = str(record.WhichOneof("record_type"))
|
89
|
-
if msg_type == "request":
|
90
|
-
request = record.request
|
91
|
-
msg_type = str(request.WhichOneof("request_type"))
|
92
|
-
return msg_type
|
93
|
-
|
94
|
-
|
95
|
-
def _result_msg_type(result: "pb.Result") -> str:
|
96
|
-
msg_type = str(result.WhichOneof("result_type"))
|
97
|
-
if msg_type == "response":
|
98
|
-
response = result.response
|
99
|
-
msg_type = str(response.WhichOneof("response_type"))
|
100
|
-
return msg_type
|
101
|
-
|
102
|
-
|
103
|
-
def _log_message(
|
104
|
-
msg: "MessageType", log_type: str, resource: Optional[str] = None
|
105
|
-
) -> None:
|
106
|
-
record: Optional[pb.Record] = None
|
107
|
-
result: Optional[pb.Result] = None
|
108
|
-
is_response = False
|
109
|
-
msg_type: str
|
110
|
-
# Note: using strings to avoid an import
|
111
|
-
message_type_str = type(msg).__name__
|
112
|
-
if message_type_str == "Record":
|
113
|
-
record = cast("pb.Record", msg)
|
114
|
-
msg_type = _record_msg_type(record)
|
115
|
-
elif message_type_str == "Result":
|
116
|
-
is_response = True
|
117
|
-
result = cast("pb.Result", msg)
|
118
|
-
msg_type = _result_msg_type(result)
|
119
|
-
elif message_type_str == "ServerRequest":
|
120
|
-
server_request = cast("spb.ServerRequest", msg)
|
121
|
-
msg_type = str(server_request.WhichOneof("server_request_type"))
|
122
|
-
if msg_type == "record_publish":
|
123
|
-
record = server_request.record_publish
|
124
|
-
sub_msg_type = _record_msg_type(record)
|
125
|
-
msg_type = f"pub-{sub_msg_type}"
|
126
|
-
elif msg_type == "record_communicate":
|
127
|
-
record = server_request.record_communicate
|
128
|
-
sub_msg_type = _record_msg_type(record)
|
129
|
-
msg_type = f"comm-{sub_msg_type}"
|
130
|
-
# print("SRV", server_request)
|
131
|
-
elif message_type_str == "ServerResponse":
|
132
|
-
is_response = True
|
133
|
-
server_response = cast("spb.ServerResponse", msg)
|
134
|
-
msg_type = str(server_response.WhichOneof("server_response_type"))
|
135
|
-
if msg_type == "result_communicate":
|
136
|
-
result = server_response.result_communicate
|
137
|
-
sub_msg_type = _result_msg_type(result)
|
138
|
-
msg_type = f"comm-{sub_msg_type}"
|
139
|
-
else:
|
140
|
-
raise AssertionError(f"Unknown message type {message_type_str}")
|
141
|
-
_log(
|
142
|
-
msg_type,
|
143
|
-
is_response=is_response,
|
144
|
-
record=record,
|
145
|
-
result=result,
|
146
|
-
log_type=log_type,
|
147
|
-
resource=resource,
|
148
|
-
)
|
149
|
-
|
150
|
-
|
151
|
-
def _log_message_queue(msg: "MessageQueueType", q: "QueueType") -> None:
|
152
|
-
_annotate_message(msg)
|
153
|
-
resource = getattr(q, ANNOTATE_QUEUE_NAME, None)
|
154
|
-
_log_message(msg, "queue", resource=resource)
|
155
|
-
|
156
|
-
|
157
|
-
def _log_message_dequeue(msg: "MessageQueueType", q: "QueueType") -> None:
|
158
|
-
resource = getattr(q, ANNOTATE_QUEUE_NAME, None)
|
159
|
-
_log_message(msg, "dequeue", resource=resource)
|
160
|
-
|
161
|
-
|
162
|
-
def _log_message_send(msg: "MessageType", t: "TransportType") -> None:
|
163
|
-
_log_message(msg, "send")
|
164
|
-
|
165
|
-
|
166
|
-
def _log_message_recv(msg: "MessageType", t: "TransportType") -> None:
|
167
|
-
_log_message(msg, "recv")
|
168
|
-
|
169
|
-
|
170
|
-
def _log_message_process(msg: "MessageType") -> None:
|
171
|
-
_log_message(msg, "process")
|
172
|
-
|
173
|
-
|
174
|
-
def _log_message_link(src: "MessageType", dest: "MessageType") -> None:
|
175
|
-
_log_message(src, "source")
|
176
|
-
_log_message(dest, "dest")
|
177
|
-
|
178
|
-
|
179
|
-
def _log_message_assert(msg: "MessageType") -> None:
|
180
|
-
_log_message(msg, "assert")
|
181
|
-
|
182
|
-
|
183
|
-
def _annotate_queue(q: "QueueType", name: str) -> None:
|
184
|
-
setattr(q, ANNOTATE_QUEUE_NAME, name)
|
185
|
-
|
186
|
-
|
187
|
-
def _annotate_message(msg: "MessageQueueType") -> None:
|
188
|
-
record_id = secrets.token_hex(8)
|
189
|
-
msg._info._tracelog_id = record_id
|
190
|
-
|
191
|
-
|
192
|
-
#
|
193
|
-
# Default functions when logging is disabled
|
194
|
-
#
|
195
|
-
|
196
|
-
|
197
|
-
def log_message_queue(msg: "MessageQueueType", q: "QueueType") -> None:
|
198
|
-
return None
|
199
|
-
|
200
|
-
|
201
|
-
def log_message_dequeue(msg: "MessageQueueType", q: "QueueType") -> None:
|
202
|
-
return None
|
203
|
-
|
204
|
-
|
205
|
-
def log_message_send(msg: "MessageType", t: "TransportType") -> None:
|
206
|
-
return None
|
207
|
-
|
208
|
-
|
209
|
-
def log_message_recv(msg: "MessageType", t: "TransportType") -> None:
|
210
|
-
return None
|
211
|
-
|
212
|
-
|
213
|
-
def log_message_process(msg: "MessageType") -> None:
|
214
|
-
return None
|
215
|
-
|
216
|
-
|
217
|
-
def log_message_link(src: "MessageType", dest: "MessageType") -> None:
|
218
|
-
return None
|
219
|
-
|
220
|
-
|
221
|
-
def log_message_assert(msg: "MessageType") -> None:
|
222
|
-
return None
|
223
|
-
|
224
|
-
|
225
|
-
def annotate_queue(q: "QueueType", name: str) -> None:
|
226
|
-
return None
|
227
|
-
|
228
|
-
|
229
|
-
def annotate_message(msg: "MessageQueueType") -> None:
|
230
|
-
return None
|
231
|
-
|
232
|
-
|
233
|
-
def enable(log_mode: Optional[str] = None) -> None:
|
234
|
-
global tracelog_mode
|
235
|
-
if log_mode:
|
236
|
-
tracelog_mode = log_mode
|
237
|
-
|
238
|
-
global log_message_queue
|
239
|
-
global log_message_dequeue
|
240
|
-
global log_message_send
|
241
|
-
global log_message_recv
|
242
|
-
global log_message_process
|
243
|
-
global log_message_link
|
244
|
-
global log_message_assert
|
245
|
-
global annotate_queue
|
246
|
-
global annotate_message
|
247
|
-
log_message_queue = _log_message_queue
|
248
|
-
log_message_dequeue = _log_message_dequeue
|
249
|
-
log_message_send = _log_message_send
|
250
|
-
log_message_recv = _log_message_recv
|
251
|
-
log_message_process = _log_message_process
|
252
|
-
log_message_link = _log_message_link
|
253
|
-
log_message_assert = _log_message_assert
|
254
|
-
annotate_queue = _annotate_queue
|
255
|
-
annotate_message = _annotate_message
|
File without changes
|
File without changes
|