基础相关
文章平均质量分 89
作为一枚菜鸡我深深的知道,采鸡不可怕,可怕的是基础不牢的菜鸡。拉个开源的代码跑通模型,就以为自己是CV算法工程师了。基础不牢,地动山摇!共勉!
小菜学AI
小菜AI
展开
-
git碰到最常见相关疑难操作记录
Git相关最常见疑难排错记录原创 2024-01-18 15:25:33 · 1102 阅读 · 0 评论 -
[刷题思路]北大学子侃算法岗的刷题[一]
# [刷题思路]北大靴子侃算法岗的刷题[一]@[toc]## 前言春招已经过半了、很多小伙伴已经拿到工作OFFER,或者实习OFFER了、还有不少人还在备拿OFFER的路上。都知道大厂面试、一道必选题就是算法题,你要问已经过五关斩六将拿下OFFER的人经验,肯定就是少不了2个字:“刷题”。这个绝对不会错, 有不少同学大一就开始准备ACM之类的,根据一万小时定律,这样3年刷下来,面试那写算法提基本是问题不大的。这时候不少同学要捶胸顿足,悔不当初学霸在图书馆准备打比赛的时候,他也在大比赛,不过是在原创 2021-04-29 14:09:31 · 428 阅读 · 0 评论 -
Pytorch自动求导机制、自定义激活函数和梯度
Pytorch自动求导机制、自定义激活函数和梯度文章目录Pytorch自动求导机制、自定义激活函数和梯度前言:1 自动求导机制1.0 张量本身grad_fn1.1 torch.autograd1.1.1 torch.autograd.backward1.1.2 torch.autograd.grad2 自定义激活函数和梯度2.1 类及方法2.2 实例2.3 tips前言:由于pytorch框架只是提供了正向传播的机制,模块中的参数的梯度是通过自动求导推倒出来的,当我们需要自定义某一个针对张量的一些列操原创 2021-05-03 08:53:48 · 1992 阅读 · 0 评论 -
Pytorch的张量并行化运算
0 前言:在很多时候,数据集很大,单卡单节点不能满足我们的工程工作。这个时候我们需要考虑多卡多机器上运行模型的张量并行化运算。1 模型并行Model Parallel将模型的计算图放入不同的计算节点,然后不同的节点并行计算图的不同的部分。优点:较容易容纳大模型,把很大的模型,分散置于不同节点了。缺点:并行计算较复杂,因为需要考虑如何有效控制数据在不同的节点的计算顺序,有条不紊的高速计算保证计算资源的利用率。2 数据并行Data Parallel每个节点有一个计算图,在不同的节点输入不同迷你原创 2021-05-03 08:29:01 · 2228 阅读 · 1 评论 -
深度了解Transformer【1】
深度了解Transformer【1】前言:Transformer由论文《Attention is All You Need》提出,谷歌云TPU推荐的参考模型。论文相关的Tensorflow的代码可以从GitHub获取,其作为Tensor2Tensor包的一部分。哈佛的NLP团队也实现了一个基于PyTorch的版本,并注释该论文。本文采取逐一的介绍论文里面的核心概念,希望让普通读者也能轻易理解。论文下载:Attention is All You Need 论文pdf下载关注菜鸡Ai公众号,后台回复原创 2021-05-08 19:46:04 · 172 阅读 · 1 评论 -
基于Ubuntu18基础镜像-制作自己的深度学习Docker镜像及技巧
基于Ubuntu18基础镜像-制作自己的深度学习Docker镜像及技巧文章目录基于Ubuntu18基础镜像-制作自己的深度学习Docker镜像及技巧微信交流群:0 前言:1 常用命令:1.1 启动命令1.2 查看命令1.3 基于镜像新建容器1.4 本地镜像管理1.4.1 **docker tag**1.4.2**docker build**1.4.3 docker load1.4.4**docker save **1.4.5**docker import **1.4.6 **docker export**原创 2021-05-31 12:19:27 · 1468 阅读 · 0 评论 -
【必知必会】大厂面试之OpenCV你真的掌握了吗?【1】
大厂面试|OpenCV你真掌握了吗?文章目录大厂面试|OpenCV你真掌握了吗?前言:微信交流群:每日面经1问:OpenCV 中的图像处理1、颜色空间转换2、几何变换面试答案解析:思路:扩展:代码:扩展2:前言:前段时间参与CV算法岗面试,发现现在不少CV算法的同学,上来就是哗哗的几个YOLO甚至Transformer模型,训练测试各种tricks头头是道,简历里都写着熟练OpenCV工具,但问到有关OpenCV的一些很基础的问题却乱了阵脚,所以刚好应菜大的要求顺便整理出系列稿。微信交流群:我建立原创 2021-05-18 18:53:24 · 2276 阅读 · 3 评论 -
【C语言 必知必会】结构体、位域、共同体
C结构体、位域、共同体文章目录C结构体、位域、共同体1 结构体1.1 定义结构1.2 结构体变量的初始化1.3 访问结构成员1.4 结构作为函数参数1.5 指向结构的指针2 位域2.0 位、字节的换算2.1 位域的定义2.2 结构2.3 几点说明2.4 位域的使用3 共用体3.1 定义共用体3.2 访问共用体成员微信扫码进交流群1 结构体C 数组允许定义可存储相同类型数据项的变量,结构却是可以存储不同类型的数据项。1.1 定义结构为了定义结构,您必须使用 struct 语句。struct 语句定义原创 2021-05-08 10:22:00 · 885 阅读 · 0 评论 -
【C语言 必知必会】指针、函数指针和回调函数
指针、函数指针和回调函数文章目录指针、函数指针和回调函数1.1 什么是指针1.2 如何使用指针?1.3 NULL 指针1.4 指针的算术运算1.4.1 递增一个指针1.4.2 递减一个指针1.4.3 指针的比较1.5 指针数组1.6 指向指针的指针1.7 传递指针给函数1.8 函数指针1.9 回调函数微信扫码进交流群1.1 什么是指针我们都知道, 指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。1.2 如何使用指针?使用指针时会频繁进行以下几个操作:定义一个指针变量、把变量地址赋原创 2021-05-08 10:18:18 · 316 阅读 · 0 评论 -
【C语言 必知必会】递归、可变参数、命令行参数
C递归、可变参数、命令行参数1C递归递归指的是在函数的定义中使用函数自身的方法。1.1 数的阶乘#include <stdio.h> double factorial(unsigned int i){ if(i <= 1) { return 1; } return i * factorial(i - 1);}int main(){ int i = 15; printf("%d 的阶乘为 %f\n", i, facto原创 2021-05-08 10:15:45 · 361 阅读 · 0 评论 -
【C 语言必知必会】内存管理、动态分配内存、野指针
C 语言内存管理、动态分配内存、野指针文章目录C 语言内存管理、动态分配内存、野指针前言:1.内存分区1.1 代码区1.2.1 全局初始化数据区(静态数据区data段)1.2.2 未初始化数据区(静态数据区bss段)1.3 栈区1.4 堆区1.4.1 malloc与free1.4.2 calloc和realloc2 动态分配内存3 重新调整内存的大小和释放内存4 野指针及其原因5 实例分析6 内存管理的目标:6.1 分页内存微信扫码进交流群前言:程序员们编写内存管理程序时,往往提心吊胆。如果不想触雷,原创 2021-05-08 10:09:03 · 353 阅读 · 0 评论 -
【C++必知必会】你真的知道引用和指针的区别吗?请看看这9个方面、1个解释和4个对比
文章目录1.从9个方面,看引用和指针的区别?2.从汇编层去解释引用3.从下面4点对比,C++中的指针参数传递和引用参数传递1.从9个方面,看引用和指针的区别?1)指针是一个实体,需要分配内存空间。引用只是变量的别名,不需要分配内存空间。2)引用在定义的时候必须进行初始化,并且不能够改变。指针在定义的时候不一定要初始化,并且指向的空间可变。(PS:不能有引用的值不能为NULL)3)有多级指针,但是没有多级引用,只能有一级引用。4)指针和引用的自增运算结果不一样。(指针是指向下一个空间,引用时引用的变原创 2021-05-06 21:58:28 · 333 阅读 · 0 评论 -
【必知必会】2021最详细深度学习损失函数盘点【一】L1Loss、L2Loss、Smooth L1 Loss
文章目录0 前言:1 定义2 特点3 常见的经典误差函数3.1 平均绝对误差MAE(L1 Loss)公式:图像:优点缺点应用场景:Pytorch示例:3.2 均方误差MSE(L2 Loss)公式:图像:优点缺点应用场景:pytorch示例:3.3 Smooth L1损失Paper:公式:对比L1、L2图像:Smooth L1优点:Pytorch设计Smooth_L1_loss:3.4 Binary Cross Entropy Loss(二分类交叉熵)3.5 Cross Entropy Loss交叉熵损失意义原创 2021-05-03 08:20:56 · 4036 阅读 · 0 评论