Bryan Blog

个人分享 但愿各位看官喜欢

联邦学习 Non-IID 算法实现

Federated Learning Non-IID Algorithm implementation

独立同分布 独立同分布概念 众所周知,在机器学习进行模型训练时,基本上都假设训练样本符合独立同分布(IID)。 独立,表示多个抽样样本之间没有相关关系,彼此不会互相影响。比如掷骰子中前后两次互不影响, 同分布,表示多个样本遵循同样的分布规律。比如掷骰子中多次都符合同样的规律,即每个数出现的概率都为 1/6 因为机器学习都是通过学习历史数据总结出规律从而预测未来数据的,如果历...

GPT Engineer 实践与源码解析

GPT engineer practice and source code analysis

背景介绍 GPT Engineer 是一个基于需求描述自动生成项目源码的开源项目,主打轻量,灵活生成项目源码,可以在 AI 生成与人工生成之间进行切换,底层是基于 GPT-4 对应的编程能力,目前 Github 上 star 数量已经达到了 45k,算是一个十分火热的 AI 项目。 与大热的 AutoGPT 相比,GPT Engineer 更加轻量,没有使用递归的请求调用,避免陷入反复请求...

medical-labelme 升级方案概述

Overview of the medical-labelme upgrade plan

背景信息 在前面的文章中介绍了基于 Labelme 改造的 medical-labelme,通过第一阶段的改造,最终保持对 Labelme 的向前兼容的情况下有限支持了 DICOM 文件的标注,最终发布了 v0.1.0。 为了解决 v0.1.0 版本对 DICOM 多帧图像支持不足的问题,本次从底层开始进行深层次的改造,但是也被迫放弃了与 Labelme 的完全兼容。Labelme 标注输...

自研医疗图像标注工具 medical-labelme

Self-developed medical image annotation tool medical-labelme

背景信息 为了将医疗影像用于机器学习算法训练,需要对医疗影像数据进行标注。但是医疗影像中涉及大量的隐私信息,因此医疗影像的打标需要具备私有化部署或离线运行的能力。 图像标注存在不少开源方案,使用最多的是下面这些: labelme 11.1k star, 基于 QT 实现可视化 label-studio 14.3k star, 基于 web 服务可视化,后端使用 Python ...

DICOM 图像探索

DICOM image exploration

背景介绍 最近开始推进医疗影像数据机器学习模型,医疗领域最常规的图像格式当属 DICOM 了,之前对医疗图像了解甚少,此次对 DICOM 图像进行了一些探索,整理相关内容在这边。 DICOM 图像探索 DICOM 格式介绍 DICOM 是一组通用标准协议,包括医疗图像的处理,存储,传输等各个方面的内容。协议具体内容可以查看 dicomstandard.org 而之前搜索调研医疗图像最常...

FATE Eggroll 源码解析

FATE Eggroll source code analysis

背景介绍 在之前的文章 中对 FATE 的调度系统 FATE-Flow 从源码角度进行了介绍,FATE 的可视化 FATE-Board 之前也介绍过了,对于 FATE 底层使用的数据传输机制 Eggroll 一直没有过多介绍。 而这一块的技术细节一直没有太多的资料可以参考,官方文档 上只有 Eggroll 部署相关的内容,网络上基本搜不到 FATE 底层数据传输 Eggroll 原理分析的...

联邦学习下线性回归算法实现概述

Overview of the implementation of linear regression algorithm under federated learning

背景介绍 最近在学习和实践机器学习相关内容,日常的工作主要是涉及联邦学习相关工程领域的开发,这次就从算法的角度来介绍一个联邦学习下的机器学习算法是怎样的。虽然是以线性回归算法为例,事实上其他的机器学习算法,比如逻辑回归,MLP 等也完全适用,进行少量的改造即可。 本文的开发主要基于 Pytorch 实现,主要以实践为主,不包含具体的公式推导。 线性回归算法实现 线性回归 是机器学习领域最...

FATE Board 执行流程探索

FATE Board Execution Process Exploration

背景介绍 FATE Board 是 FATE 提供的一个工程,用于给 FATE 提供可视化能力,方便在联邦学习训练中实时查看执行状态,更好地定位执行中遇到的问题。 查看 FATE 架构可以看到 FATE Board 是建立在 MySQL 和 FATE Flow Server 的基础上的,看起来数据来源是来自于这两者。FATE Flow Server 在之前的文章 中已经介绍过,FATE 中...

基于 Pre-commit 的代码风格统一实践

Unified Code Style Practice Based on Pre-commit

背景信息 统一代码风格首先需要定义参照的规范,每个团队可能会有自己的规范,我们选择的规范是 yapf + mypy + isort,如果保证所有的研发人员都遵循相关规范呢? 鼓励 IDE 中对应的插件的安装,通过直接对应的插件,在编写代码阶段就能实时发现不符合规范的情况,修改成本最低; 通过 Pre-commit 在创建 commit 时执行检查,并进行必要的自动格式化,提供统一...

基于 OpenAPI 的 Web 页面自动渲染实践

Practice of Automatic Rendering of Web Pages Based on OpenAPI

背景信息 最近接手的项目中遇到一个新的需求,需要对原有的机器学习相关的接口进行切换,因为机器学习算法训练包含的参数比较多,结构也比较复杂,参数之前存在复杂的动态依赖关系。更麻烦的问题在于前端 Web 页面是基于接口结构与字段类型进行渲染的,同时为了支持基于接口渲染出前端页面,前人使用的技术方案如下所示: 可以看到基于接口需要去管理后台进行参数的配置,管理后台为了前端逻辑的展示的需要,定...