Wandb:make visualization better than Tensorboard

news2025/1/17 21:46:33

Wandb:make visualization better than Tensorboard

wandb :一个在线的可多人协作的多功能可视化工具包

我最开始使用的tensorboard,还写了一些相关tensorboard的脚本用于实验。tensorboard这里就不详细介绍了,相信大家都比较了解。直到尝试了wandb。

更自动化的实验记录

话不多说,直接上图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A70CDj6c-1675495209895)(C:/Users/BlackFriday/AppData/Roaming/Typora/typora-user-images/image-20230204150021535.png)]

配置文件:

之前的配置文件都是用字典跟模型一起保存,要查看的时候要得加载模型,比较麻烦。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MMAs4e3J-1675495209897)(C:/Users/BlackFriday/AppData/Roaming/Typora/typora-user-images/image-20230204150034518.png)]

实验结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hXDsrQkZ-1675495209898)(C:/Users/BlackFriday/AppData/Roaming/Typora/typora-user-images/image-20230204150145828.png)]

运行log(可下载):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dqkjKHh5-1675495209899)(C:/Users/BlackFriday/AppData/Roaming/Typora/typora-user-images/image-20230204150440019.png)]

系统状况(虽然感觉没啥用):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XU5sVLa5-1675495209900)(C:/Users/BlackFriday/AppData/Roaming/Typora/typora-user-images/image-20230204150235217.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AN4YOCU9-1675495209901)(C:/Users/BlackFriday/AppData/Roaming/Typora/typora-user-images/image-20230204150301410.png)]

Sweep

参数搜索,我最喜欢的地方。

但你不懂参数设置,并且在打kaggle的时候加入多种trick,但是不知道怎么组合有效,就需要不停的关注和跟进实验情况,但是使用sweep进行相关设置之后,就可以比较放心的干其他事。想起来的时候看一眼即可,其会根据你设置的config进行搜索,并根据搜索情况列出相关参数对模型的重要程度已经相关性。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e3HWz6Hq-1675495209901)(C:/Users/BlackFriday/AppData/Roaming/Typora/typora-user-images/image-20230204150824148.png)]

下面给大家打个样(蒸的很关键),差不多就是这样,上手简单,相关参数请自行查阅org doc:

Define sweep configuration - Documentation (wandb.ai)

WANDB_SWEEP_PROJECT = 'rsna-breast-cancer-sweeps'
WANDB_PROJECT = 'RSNA-breast-cancer'

def main(config):
	train_data,train_label,test_data,test_label(config)
	model = build_model(config)
	optim,schedule = build_opt_schedule(model,config)
	with wandb.init(project=WANDB_PROJECT, name=name,group=WANDB_RUN_NAME) as run:
        for epoch in range(epoch_num):
            train_one_epoch(model,eptim,schedule,config)
            test_one_epoch(model,config)
            save_model(model)
            run.log({
                    'eval_cancer_loss': cancer_loss,
                    'eval_f1': f1,
                    'max_eval_f1': best_eval_score,
                    'eval_f1_thres': thres,
                    'eval_loss': loss,
                    'eval_aux_loss': aux_loss,
                    'epoch': epoch
                })
		

sweep_id = wandb.sweep(sweep={
    'method': 'bayes',
    'name': 'rsna-sweep',
    'metric': {
        'goal': 'maximize',
        'name': 'max_eval_f1'
    },
    'parameters': {
        'ONE_CYCLE_PCT_START': {
            'values': [0.05,0.1,0.15]
        },
        'EPOCHS': {
            'min': 2,
            'max': 12,
            'distribution': 'q_log_uniform_values'
        },
        'DROPOUT': {
            'values': [0.1, 0.2,0.3]
        }
        'POSITIVE_TARGET_WEIGHT': {
            'min': 1.,
            'max': 40.,
            'distribution': 'uniform'
        },
        'SMOTHING': {
            'min': 0.01,
            'max': 0.1,
            'distribution': 'log_uniform_values'
        },}
},
                    project=WANDB_SWEEP_PROJECT)
print('Generated sweep id', sweep_id)

def wandb_callback():
    with wandb.init() as run:
        config = run.config             
        print('params', config)
        main(config)

# Start sweep job.
wandb.agent(sweep_id,
            project=WANDB_SWEEP_PROJECT,
            function=wandb_callback,
            count=100000)

END

然后,我只是刚刚开始尝试使用,不是所有的功能都使用过,还有一些其他功能请根据org doc执行探索。

  • Visualize & Analyze Tables

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B4fIyAlG-1675495209902)(C:/Users/BlackFriday/AppData/Roaming/Typora/typora-user-images/image-20230204145414021.png)]

  • Collaborate on reports

pData/Roaming/Typora/typora-user-images/image-20230204145730735.png" alt=“image-20230204145730735” style=“zoom:50%;” />

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/197902.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MySQL数据库入门】:表的约束

表的约束 真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务 逻辑角度保证数据的正确性。比如有一个字段是email,要求是唯一的。 表的约束很多,这里主…

版本管理之Git

一.版本控制器的方式1.1集中式版本控制工具集中式版本控制工具,版本库是集中存放在中央服务器的,team里每个人work时从中央服务器下载代 码,是必须联网才能工作,局域网或互联网。个人修改后然后提交到中央版本库。 举例&#xff1…

巧用回调函数解决微信小程序与后台数据交互出现的异步问题

问题描述 微信小程序端需要发送一个包含文字与图片的表单数据给后端,我一开始的思路是先上传图片得到临时的URL,后执行POST请求将表单数据发送给后端,但后端只能获取到文字,而图片URL却始终获取不到。 问题原因 注意看我上面的思路…

目标检测研究

传统的目标检测流水线 1.候选区域生成 通过滑动窗口选择感兴趣区域Rol;使用多尺寸的输入图像和多尺度的滑动窗口识别多尺度和不同比例的目标。 ⒉特征向量抽取 常用SIFT、 Harr、HOG、SURF。 3.区域分类 常用支持向量机。 结合集成、串联学习、梯度…

3D俯视角色割草游戏模板+视频教程,免费发布 | 一周精品推荐

大家好,我是晓衡。新年开工第一周,我就被热心的开发者们感动得热泪盈眶!今天我冒死推荐几款 Creator 游戏开发资源,希望能对得起这些开发者们,同时也希望你能也有所收获。3D俯视角割草游戏视频源码B 站 UP 主『好巧啊c…

MyBatis 数据查询语句中有关于大于,小于的书写方法 及 查询时相关sql 关键字

前言 提示:这里记录的大概内容: MyBatis 数据查询语句中有关于大于,小于的书写方法 一、MyBatis MyBatis 本是 apache 的一个开源项目 iBatis, 2010 年这个项目由 apache software foundation 迁移到了 google code,并且改名为…

Python封装、继承和多态

Python 语言在设计之初,就定位为一门面向对象的编程语言,“Python 中一切皆对象”。同时,Python 也支持面向对象的三大特征:封装、继承和多态。 一、封装 封装(Encapsulation),即在设计类时&am…

讲师邀请 | 在 DevData Talks,开放务实地聊聊研发效能!

什么是 DevData Talks? DevData Talks 是专注于研发效能实践经验与方法论的系列分享活动。 2022 年,我们既看到外部环境变幻莫测,也看到研发效能领域沉下心来稳步发展,从宏大的概念和价值,转向具体的问题&#xff0c…

若依框架代码自动生成器研究-表查询篇

最近生产环境用了一个开源系统:若依,其中有一个版块很有意思,很能提高生产效率: “代码生成器”。 其功能所处模块菜单为:系统工具->代码生成。我们来研究一下他的代码生成逻辑。 工具使用方法 1、建表 使用代码生成&#…

Python列表中你所不知道的事

1. 引言 目前,Python是世界上使用最广泛、最受欢迎的编程语言之一。Python丰富的功能性使它非常流行,因为我们可以使用它创建任何内容。我将在本博客中与大家分享关于Python列表的几条有趣的花絮。 闲话少说,我们直接开始吧! 2.…

如何高薪入职心仪的公司

序 本文首发自:稀土掘金、思否 我们从几个问题开始入手,来看一下本博客是否适合你: 如果你想要换工作,但是:制作的简历平平无奇如果你想要换工作,但是:投放了的简历总是无法得到 [心仪公司] 的…

SpringBoot+Vue茶叶商城系统

简介:本项目采用了基本的SpringBootVue设计的茶叶商城系统。详情请看主要截图。经测试,本项目正常运行。本项目适用于Java毕业设计、课程设计学习参考等用途。 项目描述 项目名称SpringBootVue茶叶商城系统源码作者LHL项目类型Java EE项目 (…

C#windows彩票信息管理

摘要:近年来,中国彩票行业已经进入市场急速扩张和加速上升的阶段,即开票占整个彩票销量的比率也将急剧上扬。自助售彩终端,这一崭新的售彩模式已被中国彩民接受,爆发点很快来临。到2020年,我国多功能彩票自…

百趣代谢组学文献分享:OnPLS方法在哮喘领域应用研究

百趣代谢组学文献分享,本周分享的文献题目为OnPLS-Based Multi-Block Data Integration: A Multivariate Approach to Interrogating Biological Interactions in Asthma,是由日本前桥群马大学创新研究中心Craig E. Wheelock教授课题组在2018年发表于Ana…

商业智能 BI 人员的六个Level,你到了哪一层?

现在商业智能 BI 行业的从业人员越来越多,但很多人对于自己的职业规划可能并不是特别的清晰,不知道在这个细分领域到底有多大的成长空间,未来大概可以走到哪一个层次。 今天大概介绍下这六个层次,可以是大多数从事商业智能 BI 工…

【计算机程序设计思想与方法】1 什么是计算?

计算是利用计算机解决问题的过程,计算机科学是关于计算的学问。 计算机科学家在用 计算机解决问题时形成了特有的思维方式和解决方法,即计算思维。 1.1 什么是计算? 1.1.1 计算机与计算 计算机是当代最伟大的发明之一。 自从人类制造出第一台电子数字计算机,迄今已近 …

面试题-Java集合常见问题

1 常见集合集合相关类和接口都在java.util中,主要分为三中List(列表)、Map(映射)和Set(集合)其中Collection是集合List、Set的父接口,它主要有两个子接口:List:存储的元素有序,可重复。ArrayList基于数组实现LinkedLis…

STM32开发(二)CubeMX详解构建基本框架

文章目录STM32 CubeMX背景STM32 CubeMX基本配置选择芯片型号新建工程配置系统时钟、调试口、GPIO配置时钟配置配置GPIO (LED为例)GENERATE CODE 生成代码使用工具:CubeMX STM32 CubeMX背景 玩过STM32单片机的朋友都知道,以前的时…

网络协议栈简单设计(udp)

网络协议栈简单设计 操作系统内核中实现了网络协议栈,但今天利用netmap(也可利用dpdk)绕过内核协议栈进行网络数据的收发 netmap 内核协议栈加载数据: 数据从网卡到内核再到内存,需要经过两次拷贝 netmap映射数据&…

List底层源码剖析之List扩容机制

在list集合中有一个add方法: 在众多类中,最长使用的是ArrayList,其中有个方法是add方法 在add方法底层存在 private int size; ensureCapacityInternal(size 1) 其中的size1会对add()方法的调用次数进计数&#x…