- 博客(1770)
- 资源 (26)
- 收藏
- 关注
原创 小学生都听得懂的数据库范式
比如,我们有一张学生表,其中一个字段是地址。如果我们把地址拆分成省份、城市、街道、门牌号等多个字段存储,那么这就不符合第一范式的要求了,因为地址被分解成了多个部分,不再是原子性的了。正确的做法是把地址作为一个属性,存储为一个完整的字符串。函数依赖是指在一个关系中,一个或多个属性的值可以唯一地决定另一个属性的值。就像我们在算数中,如果我们知道了某些数字的值,就可以唯一地确定另一个数字的值。举个例子,假设我们有一个学生表,其中包括学生姓名、年龄、班级、学号等字段。
2023-03-21 18:36:38
259
原创 模型训练和推理过程中的显存占用问题
我有两个GPT2的模型,只有1亿参数,并以16位浮点数存储,也就是250MB左右,有35亿参数,同样以16位浮点数存储,也就是7GB左右。我以为推理的时候加载模型到显存中后占用的空间应该也是差不多的大小,但是1亿参数的模型加载到TorchServe中后却占用了957MB,不知道为什么多出来700多MB。
2023-03-19 14:09:07
1059
原创 OSError: [WinError 126] 找不到指定的模块。 Error loading “......caffe2_nvrtc.dll“ or one of its dependencies.
昨天晚上跑的好好的训练脚本,今天早晨突然就开始报错了。主要是在Jupyter Notebook上跑的时候报错,但是直接打开Python Console跑是可以的。果然CUDA Version变成了12.0,我记得之前是11.7,所以降级就可以了。(我也想升级,但是当前时间点PyTorch暂时还不支持12.0)然后突然想起来,昨天晚上更新了CUDA驱动,主要是NVIDIA GeForce Experience推荐我更新的,没在意就直接点了。更新完之后重启电脑就可以了,神奇。
2023-02-23 08:46:23
769
原创 线性卡尔曼滤波详解
自动驾驶汽车首先需要准确的知道自己在地图上的位置。理所当然的我们可以想到通过GPS来进行定位,但获取GPS信号需要跟卫星进行通信,这就导致它的更新频率比较低,每次获取的位置是不连续的。换一个思路,我们高中都学过物理,当知道了一个小车的起点、速度和加速度之后,就可以通过直线运动公式预测接下来的位置,再结合小车偏向的角度、角速度和角加速度,完全可以通过运动学模型预测小车在二维道路上接下来的位置。此时我们有了两种定位的方式:直接通过GPS观测和间接通过运动模型预测,那该选择哪一种呢?
2023-02-09 11:38:13
543
1
原创 【Linux】常用指令
在当前窗口新建一个终端:Ctrl + Shift + t。新开一个终端窗口: Ctrl + Shift + n。在当前窗口跳到某个终端:Alt + 1…
2023-01-01 13:28:18
294
原创 Linux的Anaconda换阿里源
Anaconda是一个用于科学计算的Python发行版,支持Linux, Mac, Windows,包含了众多流行的科学计算、数据分析的Python包。
2022-11-11 10:15:34
1282
1
原创 LeetCode Algorithm 1620. 网络信号最好的坐标
思路:先根据坐标范围遍历整个第一象限,然后再遍历所有的信号塔,针对每一个点判断是否在信号塔的范围内,如果在的话,就累加上它的信号强度,然后再根据一个全局最大值判断就可以了。
2022-11-02 21:45:00
362
原创 LeetCode Algorithm 540. 有序数组中的单一元素
思路:相同的两个数异或等于0。/ 偶数与1进行异或结果为原来偶数加一后的奇数,奇数与1进行异或结果为原来的奇数减一后的偶数。算法:位运算 / 二分。
2022-11-01 20:15:00
355
原创 To小白,方法比努力更重要!
今天是在1024程序员节,想想这也是我在CSDN胡诌八扯的第4年了,正好今天写文章还给勋章,嘿嘿,来水一篇。不过这篇文章的灵感还是来源于最近在带的几个刚入门计算机的小白,结合之前的一些经历,发现很多人学不会编程并不是不够努力,而是没有掌握方法。所以这篇文章就跟分享一下我学习计算机的一些方法论,包括从理论层面到实践层面。
2022-10-24 20:15:00
698
2
原创 Some NCCL operations have failed or timed out.
看样子貌似是两台机器没有同步导致的报错,并且这个问题也是偶发性的,可以先重启一下看看能不能解决。背景:在两台服务器上通过torchrun进行分布式模型训练。
2022-10-12 14:54:50
2422
原创 pip报错:Script file ‘D:\anaconda3\Scripts\pip-script.py‘ is not present.
【代码】pip报错:Script file 'D:\anaconda3\Scripts\pip-script.py' is not present.
2022-09-24 14:43:32
572
原创 日积月累,在迷茫彷徨中前进 —— 我的大学经历
想想好久没写过程序人生了,恰逢一位学弟成为了母校的CSDN联合校园大使,为开学季话题征文,不禁回想起四年前,我也是忐忑而又兴奋的等待着大学生活的开始。坎坎坷坷四年来,我也已毕业,看着新一届的同学们又将面临开学季,我这肚子里的半瓶墨水又憋不住了,总想撰文一篇,既是对自己大学四年的总结,也是希望给新同学们一点点建议。
2022-09-20 22:43:54
29650
39
原创 你一定用过htop,但你有看懂每个栏位么?
身为一个工程师,不管你写的是前端、后端、全栈还是什么端,一定多少用过 htop,就算真的没用过也会听同事说过。htop 是一个 process manager,他可以让你看到执行中的 process、系统资源的使用量,也可以让你轻松 kill 掉任何一个 process,总之,你想得到的功能统统都有~
2022-09-09 23:45:00
1792
原创 论文精读:XGBoost: A Scalable Tree Boosting System
提升树模型是一种高效且广泛使用机器学习方法。在本文中,我们提出了一个可扩展的端到端提升树系统,称为XGBoost,它被数据科学家广泛使用,在许多机器学习挑战中取得了最先进的结果。我们提出了一种新的针对稀疏数据的稀疏感知算法和针对近似树学习的加权分位点算法。更重要的是,我们对缓存访问模式、数据压缩和分片进行了深入的研究,构建了一个可扩展的提升树系统。通过结合这些见解,XGBoost可以使用比现有系统少得多的资源来扩展数十亿个示例。关键字:大规模可扩展机器学习陈天奇。...
2022-08-25 22:32:36
738
7
翻译 从零开始Q-Learning,用强化学习教出租车接送乘客
设想一个训练宠物狗新技巧的场景:狗听不懂人类的语言,所以我们不能直接告诉它该怎么做。我们可以模拟一种情况(或提示),而狗会试图以许多不同的方式做出反应。如果狗的反应是我们想要的,就用零食奖励它们,那么下一次狗遇到同样的情况时,大概率会以更热情的方式执行类似的动作,期待更多的食物。这就像从积极的经历中学习“做什么”一样。同样,狗也会倾向于学习在面对负面经历时不该做什么。狗就是暴露在环境中的智能体(agent)。环境可以是客厅或草坪,随你。你和狗当前的情况就类似于一种状态。
2022-08-22 23:00:00
948
原创 震惊!我竟然在1080Ti上加载了一个35亿参数的模型(ZeRO, Zero Redundancy Optimizer)
在最近几年,虽然大规模预训练模型已经越来越普遍,但是关于如何训练这些模型的内容却很少有人关注,一般都是一些财大气粗的企业或实验室来训练大模型并发布,然后中小型企业以及高校来使用。即便如此也有一些门槛,受限于机器配置,可能效果更好的大模型并不能直接加载到显卡中,或者是单机多卡希望可以通过分布式的方法进行微调。
2022-08-22 22:40:25
2042
1
转载 nvcc和nvidia-smi显示的版本不一致?
CW 近日在自己的机子上发现,和nvidia-smi显示出来的CUDA版本不一致,其中前者显示的版本是10.2,而后者是11.0,但是深度学习相关的程序是能正常跑的,期间GPU也确实有在使用(通过nvidia-smi可以看出)。由于个人一贯以来的“居安思危”风格,担心这种情况会埋坑,于是查阅了相关资料进行了解,正好也弥补了这部分知识的空白。...
2022-08-18 12:08:12
443
原创 LeetCode Algorithm 1403. 非递增顺序的最小子序列
排个序,然后从后往前取,如果当前取得数之和大于剩下的数,则break。
2022-08-09 19:49:01
1431
原创 LeetCode Algorithm 1472. 设计浏览器历史记录
思路:这明明是一道栈的题目,不知道为啥LeetCode给标成了链表的题目。用来存储访问历史,另外一个也用来存储访问历史,什么是前进历史呢,就是当我们执行一次。操作时才能找到之前弹出的历史。可以利用两个栈来实现,一个栈。咳咳,开个玩笑,另外一个栈。栈的栈顶元素弹出,然后塞入。...
2022-08-09 19:34:49
1342
原创 LeetCode Algorithm 914. 卡牌分组
思路:统计所有牌的个数,找到最大公约数,如果最大公约数大于等于2,返回true,否则返回false。
2022-08-08 20:55:38
1060
原创 LeetCode Algorithm 1721. 交换链表中的节点
思路:可以用快慢指针进行定位,先找到正数第k个节点,然后找倒数第k个节点,之后就是节点交换的操作了。
2022-08-08 20:45:40
503
翻译 2022年NeurIPS智能驾驶大赛
自动驾驶(Autonomous Driving, AD)是人工智能和机器学习应用的下一个领域。为了进一步研究AD,我们邀请您参加由华为技术有限公司和学术合作者组织的自动驾驶比赛。
2022-08-06 00:15:00
722
原创 LeetCode Algorithm 2326. 螺旋矩阵 IV
思路印象中好像刚开始学算法的时候就遇到过类似的题目,什么旋转打印矩阵之类的,跟这道题类似。
2022-07-27 19:41:58
308
原创 LeetCode Algorithm 138. 复制带随机指针的链表
给你一个长度为n的链表,每个节点包含一个额外增加的随机指针random,该指针可以指向链表中的任何节点或空节点。
2022-07-19 23:15:00
243
原创 LeetCode Algorithm 147. 对链表进行插入排序
思路定义一个lastSorted指针指向最后一个排好序的节点,再定义一个cur指针指向当前正在进行判断的节点,如果最后一个排好序的节点值小于当前正在判断的节点值,那么lastSorted指针和cur指针后移即可,否则说明需要将当前节点往前插入,首先定义一个pre节点指向头节点,如果pre的下一个节点值大于cur的节点值,那么就要把cur插入到pre节点的后方即可。...
2022-07-18 19:45:00
388
原创 前端Vue+后端Django实现登录注册(包括第三方登录:QQ)
一直想做网站的微信登录,虽然自己做用户系统也可以,但是我感觉每次创建账号非常麻烦,而且还要记密码,虽然浏览器也能够帮忙记住密码,但是也感觉不安全。如果网站都统一用微信登录,就不用那么麻烦了,也不用注册账号,直接扫码即可。,网站接入微信登录需要域名备案的哦,所以必须在绑定域名的公网上测试,或者本地做内网穿透。.........
2022-07-16 22:28:29
2210
1
原创 前端Vue+后端Django项目创建以及自动部署流程
所有的环境都安装完了之后,接下来就要创建项目了,完整的项目开发流程是由开发的同学先写完代码,然后交付给运维的同学部署到测试和生产环境。DevOps可以让整个流程自动化,开发的同学只需要稍微会一些工具就可以完成部署的工作。...
2022-07-16 13:02:38
712
1
原创 LeetCode SQL 1669. 176. 第二高的薪水
思路 首先肯定还是要排序嘛,desc降序排序,然后limit1取第一个,offset偏移一位取到第二高的,之后select的时候还是要去重的嘛,最后判断一下是否为null即可。
2022-07-15 20:50:13
253
1
原创 TorchServe部署HuggingFace文本生成模型
模型训练完毕后,为了能够让前后端调用,都需要部署上线,提供一个可调用的Restful接口。最近正好在做一个中文文本生成的模型,效果还不错,打算上线,本来研究了半天的TensorFlow Serving,但是最后实在没搞定,太麻烦了,今天换了TorchServe,一天就搞定了,PyTorch yyds!!!本次演示用的模型为IDEA开源的 闻仲-GPT2-100M,这个是一个用于文本生成的模型,能够根据提供的句子进行续写。...
2022-07-11 15:24:38
887
2
原创 LeetCode Algorithm 382. 链表随机节点
题目链接:382. 链表随机节点水塘抽样算法证明:P(第i个节点的值成为最后被返回的值)=P(第i次随机选择的值=0)×P(第i+1次随机选择的值≠0)×⋯×P(第n次随机选择的值≠0)=1i×(1−1i+1)×⋯×(1−1n)=1i×ii+1×⋯×n−1n=1n\begin{array}{l} P( 第 i 个节点的值成为最后被返回的值) \\ =P( 第 i 次随机选择的值 =0) \times P( 第 i+1 次随机选择的值 \neq 0) \times \cdots
2022-07-11 14:36:08
292
1
转载 字节跳动开源序列推理引擎LightSeq
2017年Google提出了Transformer[1]模型,之后在它基础上诞生了许多优秀的预训练语言模型和机器翻译模型,如 BERT[2]、GPT系列[13]等,不断刷新着众多自然语言处理任务的能力水平。与此同时,这些模型的参数量也在呈现近乎指数增长(如下图所示)。例如最近引发热烈讨论的GPT-3[3],拥有1750亿参数,再次刷新了参数量的记录。如此巨大的参数量,也为模型推理部署带来了挑战。...
2022-07-07 15:07:01
617
翻译 [翻译] 图解Transformer
在上一篇文章中,我们了解了注意力机制——这是现代深度学习模型中普遍使用的方法,是一个有助于提高神经网络机器翻译性能的概念。在这篇文章中,我们将研究Transformer——一个使用注意力机制提高训练速度的模型。Transformer 在特定任务中的表现优于谷歌神经网络机器翻译模型,然而最大的好处在于 Transformer 是如何实现并行的。............
2022-07-07 14:23:20
217
1
面向对象&网络编程基础·第1章面向对象 开发一套选课系统
2022-03-19
函数编程作业 网站访问日志分析
2022-02-19
股票信息查询程序-Python作业
2022-02-12
sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz.zip
2020-06-08
apache-hive-2.1.1-bin.tar.gz.zip
2020-06-08
spark-2.4.0-bin-hadoop2.7.tgz.zip
2020-06-08
hbase-1.2.4-bin.tar.gz.zip
2020-06-07
hadoop-2.7.3.tar.gz.zip
2020-06-07
zookeeper-3.4.10.tar.gz.zip
2020-06-06
jdk-8u171-linux-x64.tar.gz.zip
2020-06-05
Redis-x64-3.0.504.zip
2020-04-10
HousePrices.zip
2020-02-10
mysql-8.0.11-winx64.msi
2020-02-07
mysql-8.0.19-winx64.zip
2020-02-07
Matrix Studio Second Assessment.zip
2019-10-29
机器人写诗测试数据集 poemsTest.txt
2019-07-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人