Wandb changes a class to str type

I’m training a ResNet type architecture and I have to input a class ResidualBlock as an argument to the model. However, when I run the training code, wandb changes the class ResidualBlock to a str "ResidualBlock" so I can’t access the class variable. How can I make wandb recognize ResidualBlock as a class and not a str?

A simplified version of my config looks like the following

config = {
    "batch_size": 16,
    "epochs": 500,
    "lr": 0.005,
    "model_params": dict(
        in_channels=1,
        block=ResidualBlock,
        cfg=[2,2,2],
        num_classes=10
        )
}

A simplified version of my training code looks like the following

    with wandb.init(config=config):
        config = wandb.config
        train(config)

Hi @hlee2745 at this time wandb.init config does not support this approach. The config is intended for saving inputs to your job, like hyperparameters for a model or settings for a data preprocessing job. The config will show up in a table in the UI that you can use to group, filter, and sort runs. We can capture this as a feature request. If you have expand on your use case here, this would be helpful.

Thanks for the reply:) It would be nice to have this as a future feature, but as of now, I guess the only go-around is to just set a default parameter so that I don’t need to pass it through config?

Hello @hlee2745 , we’ve created a feature request and will update you for any progress that it will have. Thanks!