You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Weights & Biases超参数搜索时遇WinError 10053错误如何解决?

问题描述

在本地笔记本运行Weights & Biases超参数搜索官方代码时,出现错误:ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine,但相同代码在Colab中运行正常。

代码如下:

import wandb
import numpy as np 
import random

# Define sweep config
sweep_configuration = {
    'method': 'random',
    'name': 'sweep',
    'metric': {'goal': 'maximize', 'name': 'val_acc'},
    'parameters': 
    {
        'batch_size': {'values': [16, 32, 64]},
        'epochs': {'values': [5, 10, 15]},
        'lr': {'max': 0.1, 'min': 0.0001}
    }
 }

 # Initialize sweep by passing in config. 
 # (Optional) Provide a name of the project.
 sweep_id = wandb.sweep(
 sweep=sweep_configuration, 
     project='my-first-sweep'
 )

 # Define training function that takes in hyperparameter 
 # values from `wandb.config` and uses them to train a 
 # model and return metric
 def train_one_epoch(epoch, lr, bs): 
     acc = 0.25 + ((epoch/30) +  (random.random()/10))
     loss = 0.2 + (1 - ((epoch-1)/10 +  random.random()/5))
     return acc, loss

 def evaluate_one_epoch(epoch): 
     acc = 0.1 + ((epoch/20) +  (random.random()/10))
     loss = 0.25 + (1 - ((epoch-1)/10 +  random.random()/6))
     return acc, loss

 def main():
     run = wandb.init()

     # note that we define values from `wandb.config`  
     # instead of defining hard values
     lr  =  wandb.config.lr
     bs = wandb.config.batch_size
     epochs = wandb.config.epochs

     for epoch in np.arange(1, epochs):
         train_acc, train_loss = train_one_epoch(epoch, lr, bs)
         val_acc, val_loss = evaluate_one_epoch(epoch)

     wandb.log({
         'epoch': epoch, 
         'train_acc': train_acc,
         'train_loss': train_loss, 
         'val_acc': val_acc, 
         'val_loss': val_loss
     })

# Start sweep job.
wandb.agent(sweep_id, function=main, count=4)
解决方法
  • 检查网络与防火墙设置
    本地机器的防火墙、杀毒软件可能拦截了wandb的网络连接。临时关闭防火墙或杀毒软件后重新运行代码测试;或者给wandb添加防火墙白名单权限,允许其建立对外连接。

  • 更新wandb版本
    本地wandb版本可能存在兼容性问题,执行命令更新到最新版:

    pip install --upgrade wandb
    
  • 启用离线模式后同步(可选)
    如果网络环境受限,可先以离线模式运行,之后再同步数据:

    1. 在wandb.init()中添加mode="offline"参数:
      run = wandb.init(mode="offline")
      
    2. 代码运行完成后,执行命令同步数据到wandb平台:
      wandb sync
      
  • 调整wandb连接超时设置
    在代码开头添加以下配置,延长连接超时时间:

    import wandb
    wandb.setup(timeout=30)  # 设置30秒超时,可根据实际情况调整
    
  • 重置wandb登录状态
    本地登录状态异常可能导致连接问题,执行以下命令重新登录:

    wandb login --relogin
    

    按照提示输入你的wandb API密钥即可。

内容的提问来源于stack exchange,提问作者Aska

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 03:15:35