ray: Tune example on landing page is broken!

Hi - I started a cluster, pulling the rayproject/ray:latest-gpu container.

It has python 3.7.7, and running the tune example on the landing page gives:

import torch.optim as optim
from ray import tune
from ray.tune.examples.mnist_pytorch import (
    get_data_loaders, ConvNet, train, test)


def train_mnist(config):
    train_loader, test_loader = get_data_loaders()
    model = ConvNet()
    optimizer = optim.SGD(model.parameters(), lr=config["lr"])
    for i in range(10):
        train(model, optimizer, train_loader)
        acc = test(model, test_loader)
        tune.track.log(mean_accuracy=acc)


analysis = tune.run(
    train_mnist, config={"lr": tune.grid_search([0.001, 0.01, 0.1])})

print("Best config: ", analysis.get_best_config(metric="mean_accuracy"))

# Get a dataframe for analyzing trial results.
df = analysis.dataframe()

Error:

Traceback:
Traceback (most recent call last):
  File "/root/anaconda3/lib/python3.7/site-packages/ray/function_manager.py", line 493, in _load_actor_class_from_gcs
    actor_class = pickle.loads(pickled_class)
  File "/root/anaconda3/lib/python3.7/site-packages/ray/tune/__init__.py", line 2, in <module>
    from ray.tune.tune import run_experiments, run
  File "/root/anaconda3/lib/python3.7/site-packages/ray/tune/tune.py", line 7, in <module>
    from ray.tune.analysis import ExperimentAnalysis
  File "/root/anaconda3/lib/python3.7/site-packages/ray/tune/analysis/__init__.py", line 1, in <module>
    from ray.tune.analysis.experiment_analysis import ExperimentAnalysis, Analysis
  File "/root/anaconda3/lib/python3.7/site-packages/ray/tune/analysis/experiment_analysis.py", line 19, in <module>
    from ray.tune.trial import Trial
  File "/root/anaconda3/lib/python3.7/site-packages/ray/tune/trial.py", line 15, in <module>
    from ray.tune.durable_trainable import DurableTrainable
  File "/root/anaconda3/lib/python3.7/site-packages/ray/tune/durable_trainable.py", line 4, in <module>
    from ray.tune.trainable import Trainable, TrainableUtil
  File "/root/anaconda3/lib/python3.7/site-packages/ray/tune/trainable.py", line 23, in <module>
    from ray.tune.logger import UnifiedLogger
  File "/root/anaconda3/lib/python3.7/site-packages/ray/tune/logger.py", line 15, in <module>
    from ray.tune.syncer import get_node_syncer
  File "/root/anaconda3/lib/python3.7/site-packages/ray/tune/syncer.py", line 80, in <module>
    @dataclass
  File "/root/anaconda3/lib/python3.7/site-packages/dataclasses.py", line 958, in dataclass
    return wrap(_cls)
  File "/root/anaconda3/lib/python3.7/site-packages/dataclasses.py", line 950, in wrap
    return _process_class(cls, init, repr, eq, order, unsafe_hash, frozen)
  File "/root/anaconda3/lib/python3.7/site-packages/dataclasses.py", line 801, in _process_class
    for name, type in cls_annotations.items()]
  File "/root/anaconda3/lib/python3.7/site-packages/dataclasses.py", line 801, in <listcomp>
    for name, type in cls_annotations.items()]
  File "/root/anaconda3/lib/python3.7/site-packages/dataclasses.py", line 659, in _get_field
    if (_is_classvar(a_type, typing)
  File "/root/anaconda3/lib/python3.7/site-packages/dataclasses.py", line 550, in _is_classvar
    return type(a_type) is typing._ClassVar
AttributeError: module 'typing' has no attribute '_ClassVar'

Ray looks really good, but it is frustrating when the landing page examples don’t work

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 33 (16 by maintainers)

Most upvoted comments

@richardliaw @architkulkarni @ijrsvt Swapping installation works:

- pip install jupyterlab torch torchvision
- pip uninstall -y dataclasses

BUT - now I have a new error:

AttributeError: module 'ray.tune' has no attribute 'track'

@aced125 Maybe try flipping the order of your installs. One potential problem here is that it seems like torch requires dataclasses

  - torch [required: >=1.6, installed: 1.7.0]
    - dataclasses [required: Any, installed: 0.6]