直接赋值 	在初始化 wandb 之前或之后,可以创建一个字典或使用 wandb.config 的属性赋值方式来设置配置项。例如:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 "learning_rate" : 0.001 ,"batch_size" : 64 ,"num_epochs" : 100 ,"model_architecture" : "ResNet18" ,"dataset_version" : "v2.1" 0.001 64 100 "ResNet18" "v2.1" 
wandb.init() 参数	在调用 wandb.init() 时,可以直接传入一个字典作为 config 参数,将配置信息一次性设定好:
1 2 3 4 5 6 7 8 9 config = {"learning_rate" : 0.001 ,"batch_size" : 64 ,"num_epochs" : 100 ,"model_architecture" : "ResNet18" ,"dataset_version" : "v2.1" "my_project" , config=config)
wandb.config.update()在训练过程中,如果需要动态调整或添加配置项,可以使用 wandb.config.update() 方法:
1 2 3 4 5 initial_config = {"learning_rate" : 0.001 , "batch_size" : }"learning_rate" : 0.0005 , "dropout_rate" : 0.3 }
	Wandb推荐将模型配置等参数传入train函数,用config去配置模型 ,例如模型的优化器可以如下配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  wandb.config = {"project_name" : "your_project_name" ,"optim_type" : "Adam" ,"learning_rate" : 0.001 ,"momentum" : 0.9   if  wandb.config.optim_type == "Adam" :elif  wandb.config.optim_type == "SGD" :else :raise  ValueError(f"Unsupported optimizer type: {wandb.config.optim_type} " )
1 optimizer = torch.optim.__dict__[config.optim_type](params=model.parameters(), lr=config.lr)
	同时在train函数里面进行wandb.init,这样在同一次运行时多次记录训练信息时就很方便,例如将选取的算子信息写入config,再通过config传入train函数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 def  train (config ):'project1' ,True for  i in  range  config.epoch:for  downsapmler in  ['max-pooling' , 'NN' , 'convolution' ]:for  upsampler in  ['max-unpooling' , 'bilinear' ]:
	这里的name指的是wandb.init(name=‘’)的name,推荐有两种命名方式:
1 2 nowtime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S' )True )
	这种情况适用于比如网格搜索模型参数的时候比较参数的好坏:
1 wandb.init(project=config.project_name, config=config.__dict__, name=config.str , save_code=True )
	除了可以记录实验日志传递到 wandb 网站的云端服务器并进行可视化分析,wandb还能够将实验关联的数据集,代码和模型保存到 wandb 服务器非常便于对实验结果进行复现我们可以通过 wandb.log_artifact的方法来保存任务的关联的重要成果,例如dataset, code和 model,并进行版本管理
注:artifact翻译为"工件",是指软件开发中产出的最终成果. 
	利用 wandb.Table 我们可以在 wandb的 dashboard 进行交互式可视化的 case分析