数字旗手

电气化、自动化、数字化、智能化、智慧化

0%

参考文档:0、1、2 简介 PyTorch Image Models (timm)是Ross Wightman创建的深度学习库,是一个大型集合,包括了SOTA计算机视觉模型、神经网络层、实用函数、优化器、调度器、数据加载器、数据增强器以及训练/验证脚本等。 安装 1 pip install timm 示例数据集(可选) 在演示之前,先下载一些流行的数据集作为示范。在这里,Chris Hughes使用了两个数据集: * 牛津大学IIIT宠物数据集,该数据集有37个类别,每个类别大约有200张图片 * Imagenette,这是Imagenet中10个容易分类的类别的一个子集。
Read more »

简介 Node-RED是一种低代码的将各种硬件设备、API和在线服务连接起来的编程工具,比如将各种传感器(如树莓派上的传感器)、工业控制器(如MQTT、OPC-UA协议)、在线API(比如获取天气情况、发送邮件等)等以图形化拖拽编程的形式进行高效组态。因此,Node-RED广泛地应用在物联网流程和程序开发中。 安装和运行 Node-RED可以运行在多种设备上,比如本地计算机运行、设备上运行(如树莓派、Arduino和Android等),以及在云端运行(比如IBM云、AWS云和微软Azure云等)。 具体可以查看这里。 下面将以本地计算机运行为例,同时最简单的就是使用docker方式进行安装、
Read more »

简介 当开发了一款web应用后,需要使用服务器将其托管以供用户进行访问。服务器的选择多种多样,可以选择自己搭建服务器,也可以选择如今大火的各种云服务器。 虽说现在云服务器的价格已经非常亲民(尤其是对于新用户的各种优惠政策),但毕竟还是需要真金白银的付出,尤其是考虑自己开发的应用可能只是为了大家尝试的情形下,此时可以选择一些提供免费部署的云平台。 Heroku是一个非常优秀的PaaS(Platform as a Service)云平台,它有如下几个优点: (1)自动软件部署:当软件的代码变动后,通过git进行代码追踪后,就可以自动触发软件的部署交付; (2)无需关心背后的基础设施:因为Herok
Read more »

简介 这一章将研究pytorch-accelerated的其他API,包括追踪Tracking、运行配置Run Config、微调Fine tuning。 Tracking RunHistory抽象基类 RunHistory抽象基类定义了Trainer运行历史的API: 1 class pytorch_accelerated.tracking.RunHistory (1)获得当前epoch的数值: 1 def current_epoch(self) -> int (2)获得指定指标最近的记录值: 1 def get_latest_metric(self, metric
Read more »

简介 这一章将研究pytorch-accelerated的调度器API。 PyTorch-accelerated提供了一些调度器的实现,可以在任何PyTorch训练循环中使用。然而,与PyTorch的原生调度器不同——这些原生调度器可以在训练循环的不同点上被调用——所有Pytorch-accelerated调度器都期望在每次优化器更新后被调用。 内置调度器 PyTorch-accelerated内置了一个有状态的余弦退火学习率调度器,基于这篇论文,但没有论文中的restart。 这个调度器与PyTorch的CosineAnnealingLR不同,它提供了增加warmup和cooldown的e
Read more »

简介 这一章将研究pytorch-accelerated的回调机制。 Callback概览 在Trainer中除了可重写的钩子(即自定义训练器的行为)之外,Trainer还包括一个回调系统。 建议将回调Callbacks用于对训练循环的操作不是很重要的代码中,比如日志,但这个决定由用户根据具体的使用情况进行判断。 注意:回调是按顺序执行的,所以如果一个回调被用来修改状态,比如更新一个指标,用户有责任确保这个回调被放在任何将读取这个状态的回调之前(即为了记录的目的)。 回调是在其相应的钩子之后被调用,例如,on_train_epoch_end回调方法在pytorch_accelerated.t
Read more »

简介 从这一节开始,详细看一下pytorch-accelerated的API。 本文是对Trainer的API的解析。 Trainer概览 训练器Trainer用来封装特定任务的整个训练循环,将模型、损失函数和优化器结合在一起,并为训练过程的每一步提供执行行为规范。 Trainer的实现是这样的:它提供了训练部分的(可重复的)实现,这些部分在被定义后很少发生变化——比如创建数据加载器,或如何将一批数据送入模型——同时与可能发生变化的部分保持解耦,比如模型、数据集、损失函数和优化器。 1 2 3 4 5 6 7 8 9 class Trainer: def __init__(
Read more »

介绍 pytorch-accelerated是一个轻量级的库,旨在通过提供一个最小但可扩展的训练循环(封装在一个Trainer对象中)来加速PyTorch模型的训练过程;它足够灵活,可以处理大多数用例,并且能够利用不同的硬件选项而不需要修改代码。更多介绍见原作者的博文。 pytorch-accelerated最大的两个特点就是:简单simplicity和透明transparency。怎么理解这两个词呢(个人理解): (1)简单体现在它是一套可复用的PyTorch的训练代码,每次有新模型和新场景需要训练时不必将原来的代码拷过来拷过去,pytorch-accelerated提供了一套通用但不失灵活
Read more »

简介 ImJoy有一个很有用的插件或独立应用,叫做Kaibu,它可以展示并标注普通的位图、矢量图及vtk、stl等3D格式的数据。 比如如下展示: 其就是位图(png格式)、矢量图(json格式)、3D模型(stl格式)的一个叠加。 Kaibu主要用了两个JS库,一个是OpenLayers,一个是ITK-VTK,前者用于展示矢量图形、普通位图等数据,且对地图的展示异常强大,后者用于展示在医疗及科学计算中常用的3D图像、网格、点集等。 这一篇主要分析一下Kaibu的运行机理。 从script标签开始,看其运行过程。 导入组件 1 2 import * as layerCompone
Read more »

参考文献: FastAPI官方文档 中文翻译 (注意,当前2022年5月8日的中文翻译有一些错误) 介绍 FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python 类型提示。 FastAPI 站在以下巨人的肩膀之上: * Starlette负责 web 部分。 * Pydantic负责数据部分。 安装 1 pip install fastapi 还需要一个 ASGI 服务器,生产环境可以使用Uvicorn或者Hypercorn。 1 pip install uvicorn[standard]
Read more »