Skip to content

Commit

Permalink
Merge branch 'main' into dependabot/github_actions/actions/upload-art…
Browse files Browse the repository at this point in the history
…ifact-4
  • Loading branch information
dirkgr authored May 30, 2024
2 parents daa9c3d + 6aaa8ff commit 7ee6e06
Show file tree
Hide file tree
Showing 7 changed files with 20 additions and 10 deletions.
3 changes: 1 addition & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ env:
WANDB_API_KEY: ${{ secrets.WANDB_API_KEY }}
BEAKER_TOKEN: ${{ secrets.BEAKER_TOKEN }}
BEAKER_WORKSPACE: ai2/tango-testing
BEAKER_DEFAULT_CLUSTER: ai2/allennlp-cirrascale
BEAKER_IMAGE: petew/tango-testing
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down Expand Up @@ -288,7 +287,7 @@ jobs:
image:
beaker: ${{ env.BEAKER_IMAGE }}
context:
cluster: ${{ env.BEAKER_DEFAULT_CLUSTER }}
preemptible: true
resources:
gpuCount: 2
envVars:
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed

- Fixed a bunch of dependencies
- Upgraded to new version of wandb

## [v1.3.2](https://github.com/allenai/tango/releases/tag/v1.3.2) - 2023-10-27

Expand Down
2 changes: 1 addition & 1 deletion docs/source/first_steps.md
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ Computing...: 100%|##########| 100/100 [00:05<00:00, 18.99it/s]
✓ The output for "add_numbers" is in workspace/runs/live-tarpon/add_numbers
```

The last line in the output tells us where we can find the result of our "add_numbers" step. `live-parpon` is
The last line in the output tells us where we can find the result of our "add_numbers" step. `live-tarpon` is
the name of the run. Run names are randomly generated and may be different on your machine. `add_numbers` is the
name of the step in your config. The whole path is a symlink to a directory, which contains (among other things)
a file `data.json`:
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ flax = [
"tensorflow-cpu>=2.9.1"
]
wandb = [
"wandb>=0.12,<0.14.3",
"wandb>=0.16",
"retry"
]
beaker = [
Expand Down
1 change: 1 addition & 0 deletions tango/integrations/transformers/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@
transformers::constant
transformers::constant_with_warmup
transformers::cosine
transformers::cosine_with_min_lr
transformers::cosine_with_restarts
transformers::inverse_sqrt
transformers::linear
Expand Down
8 changes: 3 additions & 5 deletions tango/integrations/wandb/step_cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ def _step_artifact_name(self, step: Union[Step, StepInfo]) -> str:

def _step_result_remote( # type: ignore
self, step: Union[Step, StepInfo]
) -> Optional[wandb.apis.public.Artifact]:
) -> Optional[wandb.Artifact]:
artifact_kind = (step.metadata or {}).get("artifact_kind", ArtifactKind.STEP_RESULT.value)
try:
return self.wandb_client.artifact(
Expand All @@ -88,9 +88,7 @@ def _step_result_remote( # type: ignore
def create_step_result_artifact(self, step: Step, objects_dir: Optional[PathOrStr] = None):
self._upload_step_remote(step, objects_dir)

def get_step_result_artifact(
self, step: Union[Step, StepInfo]
) -> Optional[wandb.apis.public.Artifact]:
def get_step_result_artifact(self, step: Union[Step, StepInfo]) -> Optional[wandb.Artifact]:
artifact_kind = (step.metadata or {}).get("artifact_kind", ArtifactKind.STEP_RESULT.value)
try:
return self.wandb_client.artifact(
Expand Down Expand Up @@ -144,7 +142,7 @@ def use_step_result_artifact(self, step: Union[Step, StepInfo]) -> None:

def _download_step_remote(self, step_result, target_dir: PathOrStr):
try:
step_result.download(root=target_dir, recursive=True)
step_result.download(root=target_dir)
except (WandbError, ValueError):
raise RemoteNotFoundError()

Expand Down
13 changes: 12 additions & 1 deletion tango/integrations/wandb/util.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import os
import re
import warnings
from enum import Enum

Expand All @@ -13,7 +14,17 @@ def is_missing_artifact_error(err: WandbError):
Check if a specific W&B error is caused by a 404 on the artifact we're looking for.
"""
# This is brittle, but at least we have a test for it.
return "does not contain artifact" in err.message

# This is a workaround for a bug in the wandb API
if err.message == "'NoneType' object has no attribute 'get'":
return True

if re.search(r"^artifact '.*' not found in '.*'$", err.message):
return True

return ("does not contain artifact" in err.message) or (
"Unable to fetch artifact with name" in err.message
)


def check_environment():
Expand Down

0 comments on commit 7ee6e06

Please sign in to comment.