Skip to content

Importing client-side code errors on mac #291

@arcticfly

Description

@arcticfly

I'm trying to display benchmark results on my local macbook. To do so, I'm importing load_trajectories from art.utils.benchmarking.load_trajectories. Theoretically, none of the code necessary to load and display trajectory results on my local mac should require the backend dependencies to be installed. In practice however, I'm running into an error because I don't have torch installed.

Proposed Solution:
The correct fix is probably to remove the group_aggregate import from src/art/utils/__init__.py and import it directly from the src/art/utils/group_aggregate.py file when necessary, which should only happen in backend code.

Error trace:

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[1], [line 5](vscode-notebook-cell:?execution_count=1&line=5)
      [2](vscode-notebook-cell:?execution_count=1&line=2) import os
      [3](vscode-notebook-cell:?execution_count=1&line=3) from dotenv import load_dotenv
----> [5](vscode-notebook-cell:?execution_count=1&line=5) from art.utils.benchmarking.load_trajectories import load_trajectories
      [6](vscode-notebook-cell:?execution_count=1&line=6) from art.utils.benchmarking.charts import (
      [7](vscode-notebook-cell:?execution_count=1&line=7)     percentage_comparison_bar_chart,
      [8](vscode-notebook-cell:?execution_count=1&line=8)     training_progress_chart,
      [9](vscode-notebook-cell:?execution_count=1&line=9) )
     [10](vscode-notebook-cell:?execution_count=1&line=10) import art.utils.benchmarking.charts

File ~/playground/openpipe/agent-reinforcement-training/src/art/__init__.py:20
     [17](https://file+.vscode-resource.vscode-cdn.net/Users/davidcorbitt/playground/openpipe/agent-reinforcement-training/examples/mcp-rl/mcp_rl/benchmarks/~/playground/openpipe/agent-reinforcement-training/src/art/__init__.py:17)     os.environ["PYTORCH_CUDA_ALLOC_CONF"] = ",".join(conf)
     [19](https://file+.vscode-resource.vscode-cdn.net/Users/davidcorbitt/playground/openpipe/agent-reinforcement-training/examples/mcp-rl/mcp_rl/benchmarks/~/playground/openpipe/agent-reinforcement-training/src/art/__init__.py:19) from . import dev
---> [20](https://file+.vscode-resource.vscode-cdn.net/Users/davidcorbitt/playground/openpipe/agent-reinforcement-training/examples/mcp-rl/mcp_rl/benchmarks/~/playground/openpipe/agent-reinforcement-training/src/art/__init__.py:20) from .backend import Backend
     [21](https://file+.vscode-resource.vscode-cdn.net/Users/davidcorbitt/playground/openpipe/agent-reinforcement-training/examples/mcp-rl/mcp_rl/benchmarks/~/playground/openpipe/agent-reinforcement-training/src/art/__init__.py:21) from .batches import trajectory_group_batches
     [22](https://file+.vscode-resource.vscode-cdn.net/Users/davidcorbitt/playground/openpipe/agent-reinforcement-training/examples/mcp-rl/mcp_rl/benchmarks/~/playground/openpipe/agent-reinforcement-training/src/art/__init__.py:22) from .gather import gather_trajectories, gather_trajectory_groups

File ~/playground/openpipe/agent-reinforcement-training/src/art/backend.py:6
      [3](https://file+.vscode-resource.vscode-cdn.net/Users/davidcorbitt/playground/openpipe/agent-reinforcement-training/examples/mcp-rl/mcp_rl/benchmarks/~/playground/openpipe/agent-reinforcement-training/src/art/backend.py:3) from tqdm import auto as tqdm
      [4](https://file+.vscode-resource.vscode-cdn.net/Users/davidcorbitt/playground/openpipe/agent-reinforcement-training/examples/mcp-rl/mcp_rl/benchmarks/~/playground/openpipe/agent-reinforcement-training/src/art/backend.py:4) from typing import AsyncIterator, TYPE_CHECKING, Literal
----> [6](https://file+.vscode-resource.vscode-cdn.net/Users/davidcorbitt/playground/openpipe/agent-reinforcement-training/examples/mcp-rl/mcp_rl/benchmarks/~/playground/openpipe/agent-reinforcement-training/src/art/backend.py:6) from art.utils import log_http_errors
      [7](https://file+.vscode-resource.vscode-cdn.net/Users/davidcorbitt/playground/openpipe/agent-reinforcement-training/examples/mcp-rl/mcp_rl/benchmarks/~/playground/openpipe/agent-reinforcement-training/src/art/backend.py:7) from art.utils.deploy_model import LoRADeploymentJob, LoRADeploymentProvider
      [9](https://file+.vscode-resource.vscode-cdn.net/Users/davidcorbitt/playground/openpipe/agent-reinforcement-training/examples/mcp-rl/mcp_rl/benchmarks/~/playground/openpipe/agent-reinforcement-training/src/art/backend.py:9) from . import dev

File ~/playground/openpipe/agent-reinforcement-training/src/art/utils/__init__.py:3
      [1](https://file+.vscode-resource.vscode-cdn.net/Users/davidcorbitt/playground/openpipe/agent-reinforcement-training/examples/mcp-rl/mcp_rl/benchmarks/~/playground/openpipe/agent-reinforcement-training/src/art/utils/__init__.py:1) # Import all utilities to maintain the same interface
      [2](https://file+.vscode-resource.vscode-cdn.net/Users/davidcorbitt/playground/openpipe/agent-reinforcement-training/examples/mcp-rl/mcp_rl/benchmarks/~/playground/openpipe/agent-reinforcement-training/src/art/utils/__init__.py:2) from .format_message import format_message
----> [3](https://file+.vscode-resource.vscode-cdn.net/Users/davidcorbitt/playground/openpipe/agent-reinforcement-training/examples/mcp-rl/mcp_rl/benchmarks/~/playground/openpipe/agent-reinforcement-training/src/art/utils/__init__.py:3) from .group_aggregate import group_aggregate
      [4](https://file+.vscode-resource.vscode-cdn.net/Users/davidcorbitt/playground/openpipe/agent-reinforcement-training/examples/mcp-rl/mcp_rl/benchmarks/~/playground/openpipe/agent-reinforcement-training/src/art/utils/__init__.py:4) from .retry import retry
      [5](https://file+.vscode-resource.vscode-cdn.net/Users/davidcorbitt/playground/openpipe/agent-reinforcement-training/examples/mcp-rl/mcp_rl/benchmarks/~/playground/openpipe/agent-reinforcement-training/src/art/utils/__init__.py:5) from .iterate_dataset import iterate_dataset

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions