自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (14)
  • 问答 (1)
  • 收藏
  • 关注

原创 跟代码执行流程,读Megatron源码(五)megatron训练脚本training.py之setup_model_and_optimizer()配置模型和优化器

上文详细讲解了megatron初始化的详细过程,尤其重点分析了megatron分组的逻辑,本文将继续跟踪代码执行流程,分析pretrain()的第二个重要步骤:配置模型和优化器。

2024-07-23 15:16:17 718

原创 跟代码执行流程,读Megatron源码(四)megatron初始化脚本initialize.py之initialize_megatron()分布式环境初始化

在前文中,我们讲述了pretrain函数的执行流程,其首要步骤是megatron分组的初始化与环境的配置。本文将深入initialize_megatron函数源码,剖析其初始化分布式训练环境的内部机制。注:在此假设读者具备3D并行相关知识。

2024-07-22 17:19:20 1346

原创 跟代码执行流程,读Megatron源码(三)megatron训练脚本training.py之pretrain()

在Megatron-LM的代码仓中,megatron/training目录扮演着至关重要的角色,承载着模型训练流程的全面实现,涵盖训练逻辑的构建、训练参数的精密配置、训练数据的处理以及并行训练策略的优化部署。以下是对megatron/training目录主要代码文件的介绍:1. megatron/training/initialize.py:该文件通常包含初始化Megatron环境的函数,如设置CUDA设备、初始化分布式环境等。

2024-07-22 17:12:20 964

原创 跟代码执行流程,读Megatron源码(二)训练入口pretrain_gpt.py

trochrun是PyTorch官方推荐用于替代torch.distributed.launch的分布式数据并行训练模块。它旨在提供一种更灵活、更健壮的方式来启动和管理分布式训练任务。

2024-07-22 17:05:25 1238

原创 跟代码执行流程,读Megatron源码(一)从目录结构开始

最近看了很多篇写Megatron的文章,但大部分都是按其功能模块划分做源码的解析,很少有人会从程序的入口开始,跟随代码运行的流程,将Megatron从训练开始到结束,端到端分析完整。我会用面向过程的方式,以代码debug的视角,分析Megatron源码,从入门到精通。本文假设读者已经具备了机器学习和深度学习的基础。

2024-07-22 16:56:20 938

原创 BERT(Transformer Encoder)详解和TensorFlow实现(附源码)

单向语言模型会限制模型的表征能力,使其只能获取单方向的上下文信息,而BERT利用双向注意力来构建整个神经网络,因此最终生成能融合左右上下文信息的深层双向语言表征,即真正意义上的Bi-Directional Context信息。在实际的训练中,通常另训练集中的50%符合IsNext关系,另外50%的第二句话随机从语料中提取,它们的关系是NotNext,并将这个关系保存在[CLS]中。下图展示了BERT在11种各不同任务中的模型,它们只需要在BERT的基础上再添加一个输出层便可以完成对特定任务的微调。

2023-06-07 16:55:43 4208 1

原创 基于TensorFlow Object Detection API实现RetinaNet目标检测网络(附源码)

RetinaNet是作者Tsung-Yi Lin和Kaiming He于2018年发表的论文Focal Loss for Dense Object Detection中提出的网络。RetinaNet凭借其结构精简清晰、可扩展性强、检测准确率高等特点,成为了很多目标检测算法的baseline。在模型的训练过程中,经常会遇到这样的场景:我们需要保存某个时刻训练好的模型参数,这样在对模型进行微调时,才能使用保存好的参数继续训练,而不是再随机生成参数大范围的拟合。

2023-05-26 15:07:22 1356

原创 Faster R-CNN网络架构详解和TensorFlow Hub实现(附源码)

Faster R-CNN的网络架构详解

2023-05-25 15:19:09 1649

原创 目标检测常用模型之R-CNN、Fast R-CNN、Faster R-CNN

R-CNN是由Ross Girshick于2014年提出,首先通过选择性搜索算法Selective Search从一组对象候选框中选择可能出现的对象框,然后将这些选择出来的对象框中的图像resize到某一固定尺寸,并喂入到CNN模型(如AlexNet等)提取特征,最后将提取出的特征送入到分类器来预测该对象框中的图像是否存在待检测目标,并进一步预测该检测目标具体属于哪一类。计算region两两之间的相似性,合并具有最大相似性的两个region,得到新的更大的 region,加入region集合中;

2023-05-23 21:33:21 727

原创 GPT-2(Transformer Decoder)的TensorFlow实现(附源码)

3. 定义模型的单步训练(train_step)函数,损失计算函数,优化器,metric函数(准确率度量函数)等,以完成单步的模型训练;4. 定义循环训练函数(train_loop),循环调用第3步的函数,完成多轮次(epoch),多批次(batch)的训练;6. 构造训练数据,包括train、validation、test等,输入到模型并开始训练;5. 定义评估函数(evaluate),测试并评估模型训练结果是否符合预期;1. 遵照模型的网络架构,实现每一层(Layer/Block)的函数;

2023-05-22 14:51:08 1487

原创 Multi-Head Attention和Transformer Decoder(GPT)详解

而在实际的自然语言生成过程中,句子都是逐字生成的,当前字正在生成时,该字后边的句子内容还是未知的,即为空,因此,影响当前字的只有当前位置之前的句子,而不包括当前位置之后还处于未知状态的内容。8. Linear&Softmax:输出层,输出一个固定长度的文字序列,每个文字有不同的准确率(由于存在Softmax,所有的概率相加为1),如果想让模型输出更加多样化,则可以随机选择准确率最大的几个字,反之,则减小选择的范围;注:图中的N,代表重复N次,不同的GPT版本N的大小不同,代表的参数规模也不同。

2023-05-22 11:21:27 1248

原创 Scaled dot-prodect Attention的原理和实现(附源码)

如上图,由于一个hidden无法涵盖所有的Source句子信息,故将句子中每个字对应的hidden信息都输入到Attention中,再将Attention作为Decoder的输入,这样就可以防止Source句子信息的丢失。

2023-05-16 11:24:45 2901

原创 基于MobileNetV2的目标检测和TensorFlow + Transfer Learning实现(附源码)

整个网络结构中除了第一层是标准的卷积层,最后添加了一层全连接层以外,其余部分都是由深度可分离卷积(3×3×通道数的逐深度卷积 + 1×1×通道数×过滤器个数的逐点卷积)构成的,减少了计算的参数数量,提高了计算的效率。深度可分离卷积是卷积神经网络中对标准的卷积计算进行改进所得到的算法,它通过拆分空间维度和通道(深度)维度的相关性,减少了卷积计算所需要的参数个数,并被证明是轻量化网络的有效设计。原因如上所述,是因为作者认为激活函数在高维空间能够有效的增加非线性,而在低维空间时则会破坏特征,不如线性的效果好。

2023-04-20 17:53:52 1218

原创 基于TensorFlow的模型和训练的自定义方法(附源码)

在一些场景下,使用tensorflow默认的训练过程无法满足我们的需求,故需要自定义模型训练,以下是自定义模型及其训练的全过程。

2023-04-18 15:18:30 799 1

原创 VGG Network的原理和TensorFlow实现(附源码)

1. VGG没有使用像AlexNet(11x11,步幅为4)这样的大感受野,而是使用非常小的感受野(3x3,步幅为1)。VGG中的卷积层使用非常小的感受野(3x3,捕获左/右和上/下的最小可能尺寸)。VGG的所有隐藏层都使用relu(AlexNet的一项巨大创新,可以缩短训练时间)。它改进了传统的卷积神经网络 (CNN),并成为图像分类的最佳模型之一。VGG有三个全连接层:前两个各有4096个通道,第三个有1000个通道,每个类1个。至此,基于以上VGG模型的源码,可以自行构造输入样本,并训练模型。

2023-04-17 12:07:09 611

原创 Siamese network详解和TensorFlow实现(附源码)

下图是Siamese network的基础架构,其中Input 1和Input 2是需要比较相似度的输入,它们通过两个具有相同架构、参数和权重的相似子网络(Network 1和Network 2)并输出特征编码,最终经过损失函数(Loss)的计算,得到两个输入的相似度量。例如,第一个分量的单位是kg,第二个分量的单位是g,这意味着所计算的距离可能会根据特征的单位发生倾斜。而马氏距离的目的,就是计算所有分量不相关后两个变量间的差异,而令所有分量不相关的方法,便是公式中的协方差矩阵(即上上图的“旋转”过程)。

2023-04-14 11:44:32 1643

原创 Inception Network详解和TensorFlow实现(附源码)

Inception Network又称GoogleNet,是2014年Christian Szegedy提出的一种全新的深度学习结构,并在当年的ILSVRC比赛中获得第一名的成绩。相比于传统CNN模型通过不断增加神经网络的深度来提升训练表现,Inception Network另辟蹊径,通过Inception model的设计和运用,在有限的网络深度下,大大提高了模型的训练速度(即减少了训练参数)和准确率,是一个CNN历史上里程碑式的进步。

2023-04-11 15:27:18 1184

原创 深度学习入门认证

深度学习入门认证(DeepLearning AI 深度学习课程)

2023-03-27 21:37:48 147

原创 机器学习入门认证

机器学习入门认证(斯坦福大学机器学习课程)

2023-03-27 21:34:14 174

原创 6. Kimball维度建模常用术语及概念(二)

Kimball数据仓库&维度建模学习笔记

2023-02-25 15:34:22 832

原创 5. Kimball维度建模常用术语及概念(一)

Kimball数据仓库&维度建模学习笔记

2023-02-22 21:01:06 539

原创 HP大中华区总裁孙振耀退休感言

HP大中华区总裁孙振耀退休感言

2023-02-01 21:51:23 334

原创 4. 对维度建模的误解

数据仓库&维度建模学习笔记

2023-02-01 21:29:47 359

原创 3. 其他数仓/BI架构解析

数据仓库&维度建模学习笔记

2023-01-31 16:31:59 508

原创 2. Kimball的DW/BI架构解析

数据仓库&维度建模学习笔记

2023-01-30 21:59:37 1047

原创 1. 数据仓库&维度建模简介

数据仓库&维度建模学习笔记

2023-01-25 15:43:52 890

原创 仿真4. 仿真平台架构设计

仿真平台的逻辑架构设计

2022-12-08 11:04:12 3262

原创 11. 插曲

成为大厂架构师的历程

2022-11-28 20:48:16 427

原创 仿真3. 仿真系统的设计思路

一些城市交通仿真系统的设计问题,离散事件仿真系统的优势,分布式离散事件仿真系统的设计思路等

2022-11-17 22:00:21 1085

原创 仿真2. 离散事件仿真

连续和离散事件仿真系统的区别,及离散事件仿真系统的建模步骤和常见仿真方法

2022-11-13 22:01:04 1450

原创 仿真1. 什么是仿真系统

了解仿真系统的工作原理,实现自己的仿真平台及应用

2022-11-13 11:24:13 2772

原创 10. 创业 - 离开

记录毕业至今,如何从初入社会的无知,到一知半解的迷茫,再到现在成为华为架构师的经历...

2022-11-12 21:36:33 413 1

原创 9. 创业 - 业绩

记录毕业至今,如何从初入社会的无知,到一知半解的迷茫,再到现在成为华为架构师的经历...

2022-11-12 21:32:58 489

原创 8. 创业 - 做销售

记录毕业至今,如何从初入社会的无知,到一知半解的迷茫,再到现在成为华为架构师的经历...

2022-11-12 21:30:52 187

原创 7. 创业 - 全工种作业

记录毕业至今,如何从初入社会的无知,到一知半解的迷茫,再到现在成为华为架构师的经历...

2022-11-12 21:23:04 158

原创 6. 创业 - 坚持

记录毕业至今,如何从初入社会的无知,到一知半解的迷茫,再到现在成为华为架构师的经历...

2022-11-12 21:19:34 485

原创 5. 浪潮LG - 离职

记录毕业至今,如何从初入社会的无知,到一知半解的迷茫,再到现在成为华为架构师的经历...

2022-11-11 22:58:57 3679 1

原创 4. 浪潮LG - 软件开发

记录毕业至今,如何从初入社会的无知,到一知半解的迷茫,再到现在成为华为架构师的经历...

2022-11-11 22:41:56 1232

原创 3. 浪潮LG - 面试

记录毕业至今,如何从初入社会的无知,到一知半解的迷茫,再到现在成为华为架构师的经历...

2022-11-11 22:38:45 659

原创 2. 富士康 - 再也不见

记录毕业至今,如何从初入社会的无知,到一知半解的迷茫,再到现在成为华为架构师的经历...

2022-11-11 22:32:50 356

jenkins源码依赖包 3

jenkins源码依赖包,包括pom依赖,build插件等,共三个压缩包

2018-01-17

jenkins源码依赖包 2

jenkins源码依赖包,包括pom依赖,build插件等,共三个压缩包

2018-01-17

jenkins源码依赖包 1

jenkins源码依赖包,包括pom依赖,build插件等,共三个压缩包

2018-01-17

Nginx源码下载

2017年3月27更新的Nginx源码

2017-03-27

Hadoop源码分析(client端提交job到rm端)

学习Hadoop源码过程中做的源码分析,共享一下,PPT中有我的邮箱,可以互相探讨。Hadoop源码分析(client端提交job到rm端)

2016-06-24

Hadoop源码分析(client部分)

自己写的PPT,详解Hadoop源码及其相关流程

2016-05-12

android音乐播放器源码

自己写的安卓音乐播放器源码,不是完整版,只是实现基本功能的版本。 只是一个音乐播放器的大概框架和简单的功能实现,分享一下,新手还是可以下来看看的。

2013-05-18

Android Browser源代码

android browser源代码,来自google官网

2011-08-11

Android Gellary3D 源码

android Gellary3d 源代码

2011-08-11

Extjs 中文手册

无论你是Ext库的新手,抑或是想了解Ext的人,本篇文章的内容都适合你。本文将简单地介绍Ext的几个基本概念,和如何快速地做出一个动态的页面并运行起来,假设读者已具备了一些JavaScript经验和初级了解HTML Dom。

2010-06-03

MP3播放器源码

c++编写MP3播放器源码

2008-03-26

IE4.0风格的界面效果

IE4.0风格的界面效果

2008-03-17

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除