- 博客(18)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 AI项目落地之问题总结归纳
AI虐我千百遍,我待AI如初恋首先总结被虐的案例1.经过N次版本迭代与优化,最终定稿。支持切换型号、云端训练、人工调参等貌似高大上的功能。最后,才发现客户的要求是准确率100%。2.样机各种灯光闪来闪去,各种运动机构群魔乱舞。什么犄角旮旯都覆盖到,什么划痕、残缺、脏污都面面俱到。但是,一个产品的检测竟然要30s。到过一次生产现场才发现:人工目检只需要2s。3.光学、算法、界面都ok了。在热火朝天、干劲十足的准备推广成千上百套变现的时候,客户说:抱歉,只要一套。4.同上,最终客户说你们这个产品真的很
2021-03-25 16:51:05
491
原创 Ubuntu20.04(18.04通用)禁用nouveau,安装NVIDIA显卡驱动
卸载其它版本NVIDIA驱动sudo apt-get --purge remove nvidia*sudo apt autoremove禁掉nouveau打开文本形式sudo gedit /etc/modprobe.d/blacklist.conf或直接终端打开形式sudo vim /etc/modprobe.d/blacklist.confsudo vi /etc/modprobe.d/blacklist.conf 在打开的文件中最后一行添加该命令,然后保存退出blacklist
2022-05-06 11:51:43
6368
2
原创 Ubuntu系统清理dev/loop0-/dev/loop1...占用100%
Ubuntu20.04常见问题 /dev/loop0-/dev/loop13占用100%打开终端输入 df -h从上图可看见loo0-loop13都占用100%,我们需要一行命令清理下即可。终端输入sudo apt autoremove --purge snapd可见上图已经清理掉。
2022-04-28 09:59:09
8274
10
原创 深入浅出计算机组成原理--->指令与运算——二进制编码(7)
理解二进制的“逢二进一”二进制和咱们平时用的十进制,其实并没有什么本质区别,只是平时咱们是“逢十进一”,这里变成了“逢二进一”而已。每一位,相比于十进制下的 0~9 这十个数字,咱们只能用 0 和 1 这两个数字。任何一个十进制的整数,都能通过二进制表示出来。把一个二进制数,对应到十进制,非常简单,就是把从右到左的第 N 位,乘上一个 2 的 N 次方,然后加起来,就变成了一个十进制数。当然,既然二进制是一个面向程序员的“语言”,这个从右到左的位置,自然是从 0 开始的。比如 0011 这个二进制数,
2021-11-06 18:45:32
1240
原创 深入浅出计算机组成原理--->指令与运算——动态链接(6)
这里写自定义目录标题动态链接:程序内部的“共享单车”链接可以分动、静,共享运行省内存地址无关很重要,相对地址解烦恼PLT 和 GOT,动态链接的解决方案总结动态链接:程序内部的“共享单车”程序的链接,是把对应的不同文件内的代码段,合并到一起,成为最后的可执行文件。这个链接的方式,让我们在写代码的时候做到了“复用”。同样的功能代码只要写一次,然后提供给很多不同的程序进行链接就行了。这么说来,“链接”其实有点儿像我们日常生活中的标准化、模块化生产。我们有一个可以生产标准螺帽的生产线,就可以生产很多个不同的
2021-10-24 22:01:44
196
原创 深入浅出计算机组成原理--->指令与运算——程序装载(5)
程序装载程序装载面临的挑战咱们看到了如何通过链接器,把多个文件合并成一个最终可执行文件。在运行这些可执行文件的时候,咱们其实是通过一个装载器,解析 ELF 或者 PE 格式的可执行文件。装载器会把对应的指令和数据加载到内存里面来,让 CPU 去执行。说起来只是装载到内存里面这一句话的事儿,实际上装载器需要满足两个要求。第一,可执行程序加载后占用的内存空间应该是连续的。执行指令的时候,程序计数器是顺序地一条一条指令执行下去。这也就意味着,这一条条指令需要连续地存储在一起。第二,咱们需要同时加载很多个
2021-08-24 09:08:20
163
原创 深入浅出计算机组成原理--->指令与运算——ELF和静态链接(4)
ELF和静态链接过去的几篇,咱们一起通过一些简单的代码,看到了咱们写的程序,是怎么变成一条条计算机指令的;if…else 这样的条件跳转是怎么样执行的;for/while 这样的循环是怎么执行的;函数间的相互调用是怎么发生的。自己在了解这些知识之后,产生了一个非常大的疑问。那就是,既然我们的程序最终都被变成了一条条机器码去执行,那为什么同一个程序,在同一台计算机上,在 Linux 下可以运行,而在 Windows 下却不行呢?反过来,Windows 上的程序在 Linux 上也是一样不能执行的。可是咱们
2021-05-21 15:59:24
222
原创 深入浅出计算机原理组成--->指令与运算——函数调用(3)
函数调用:为什么会发生stack overflow?在开发软件的过程中我们经常会遇到错误,如果你用 Google 搜过出错信息,那你多少应该都访问过Stack Overflow这个网站。作为全球最大的程序员问答网站,Stack Overflow 的名字来自于一个常见的报错,就是栈溢出(stack overflow)。咱们就从程序的函数调用开始,讲讲函数间的相互调用,在计算机指令层面是怎么实现的,以及什么情况下会发生栈溢出这个错误。为什么我们需要程序栈?和前面几讲一样,咱们还是从一个非常简单的 C 程
2021-05-13 12:28:17
258
原创 深入浅出计算机原理组成--->指令与运算——指令跳转(2)
指令跳转:原来if…else就是goto上一篇,咱们讲解了一行代码是怎么变成计算机指令的。平时写的程序中,肯定不只有 int a = 1 这样最最简单的代码或者指令。我们总是要用到 if…else 这样的条件判断语句、while 和 for 这样的循环语句,还有函数或者过程调用。对应的,CPU 执行的也不只是一条指令,一般一个程序包含很多条指令。因为有 if…else、for 这样的条件和循环存在,这些指令也不会一路平铺直叙地执行下去。而这篇我们就在上一篇的基础上来看看,一个计算机程序是怎么被分解成一
2021-05-10 16:19:09
486
原创 深入浅出计算机组成原理--->指令与运算——计算机指令(1)
计算机指令—试试用纸带编程在学校时教 C 语言程序设计的老师说,他们当年学写程序的时候,不像现在这样,都是用一种古老的物理设备,叫作“打孔卡(Punched Card)”。用这种设备写程序,可没法像今天这样,掏出键盘就能打字,而是要先在脑海里或者在纸上写出程序,然后在纸带或者卡片上打洞。这样,要写的程序、要处理的数据,就变成一条条纸带或者一张张卡片,之后再交给当时的计算机去处理。你看这个穿孔纸带是不是有点儿像我们现在考试用的答题卡?那个时候,人们在特定的位置上打洞或者不打洞,来代表“0”或者“1”。
2021-05-06 10:00:53
596
原创 深入浅出计算机组成原理--->入门篇4
穿越功耗墙,该从哪些方面提升“性能”呢?在整理CPU的性能时,提到过这样的公式:程序的 CPU 执行时间 = 指令数×CPI×Clock Cycle Time这样来看,如果要提升计算机的性能,可以从指令数、CPI 以及 CPU 主频这三个地方入手。要搞定指令数或者 CPI,乍一看都不太容易。于是,研发 CPU 的硬件工程师们,从 80 年代开始,就挑上了 CPU 这个“软柿子”。在 CPU 上多放一点晶体管,不断提升 CPU 的时钟频率,这样就能让 CPU 变得更快,程序的执行时间就会缩短。于是,
2021-05-05 19:25:12
183
1
原创 深入浅出计算机组成原理--->入门篇3
通过CPU主频,来谈谈“性能”究竟是什么“性能”这个词,不管是在日常生活还是写程序的时候,都经常被提到。比方说,买新电脑的时候,我们会说“原来的电脑性能跟不上了”;写程序的时候,我们会说,“这个程序性能需要优化一下”。那么,你有没有想过,我们常常挂在嘴边的“性能”到底指的是什么呢?我们能不能给性能下一个明确的定义,然后来进行准确的比较呢?在计算机组成原理乃至体系结构中,“性能”都是最重要的一个主题。在前面说过,学习和研究计算机组成原理,就是在理解计算机是怎么运作的,以及为什么要这么运作。“为什么”所要解
2021-05-05 10:30:39
209
原创 深入浅出计算机组成原理--->入门篇2
从这张图可以看出来,整个计算机组成原理,就是围绕着计算机是如何组织运作展开的。计算机组成原理知识地图计算机组成原理的英文叫 Computer Organization。这里的 Organization 是“组织机构”的意思。计算机由很多个不同的部件放在一起,变成了一个“组织机构”。这个组织机构最终能够进行各种计算、控制、读取输入,进行输出,达成各种强大的功能。在这张图里面,我们把整个计算机组成原理的知识点拆分成了四大部分,分别是计算机的基本组成、计算机的指令和计算、处理器设计,以及存储器和 I/O .
2021-04-30 17:50:59
192
原创 深入浅出计算机组成原理--->入门篇1
冯·诺依曼体系结构:计算机组成的金字塔文章目录冯·诺依曼体系结构:计算机组成的金字塔计算机的基本硬件组成冯·诺依曼体系结构总结:推荐阅读计算机的基本硬件组成早年,要自己组装一台计算机,要先有三大件,CPU、内存和主板。在这三大件中,我们首先要说的是 CPU,它是计算机最重要的核心配件,全名你肯定知道,叫中央处理器(Central Processing Unit)。为什么说 CPU 是“最重要”的呢?因为计算机的所有“计算”都是由 CPU 来进行的。自然,CPU 也是整台计算机中造价最昂贵的部分之
2021-04-29 12:28:32
354
原创 机器学习(二)--->朴素贝叶斯(Naive Bayes)
一、实验室介绍1.XGBoost的介绍2.XGBoost的应用二、实验室手册二、使用步骤1.引入库2.读入数据总结一、实验室介绍1.XGBoost的介绍XGBoost是2016年由华盛顿大学陈天奇老师带领开发的一个可扩展机器学习系统。严格意义上讲XGBoost并不是一种模型,而是一个可供用户轻松解决分类、回归或排序问题的软件包。它内部实现了梯度提升树(GBDT)模型,并对模型中的算法进行了诸多优化,在取得高精度的同时又保持了极快的速度,在一段时间内成为了国内外数据挖掘、机器学习领域中的大规模杀伤性武.
2021-04-14 20:39:51
2204
原创 机器学习(一)--->基于逻辑回归的分类预测
一、逻辑回归的介绍和应用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、逻辑回归的介绍和应用1.逻辑回归的介绍2.逻辑回归的应用二、算法实战1.Demo实践2.基于鸢尾花(iris)数据集的逻辑回归分类实践1.逻辑回归的介绍逻辑回归(Logistic regression,简称LR)虽然其中带有"回归"两个字,但逻辑回归其实是一个分类模型,并且广泛应用于各个领域之中。虽然现在深度学习相对于这些传统方法更为火热,但实则这些传统方法由于其独特的优势依然广泛应用于各个领域中。
2021-04-07 15:02:32
327
原创 强化学习(一)-->隐马尔科夫模型HMM-->HMM模型基础
隐马尔科夫模型HMM隐马尔科夫模型算是比较经典的机器学习模型了,在自然语言处理、语言识别、模型识别等这些领域也得到了广泛的应用。在深度学习的崛起,尤其是RNN、LSTM等神经网络序列模型的火热,HMM的地位有些下降。但是作为一个经典的模型,学习HMM的模型和对应算法,对咱们解决问题建模的能力提高以及算法思路的扩招还是很好的。一. 一般常见的什么样的问题需要HMM模型呢首先咱们来看看什么样的问题可以用HMM模型解决,咱们使用HMM模型时的问题一般有两个特征。1.咱们的问题是基于序列的,比如世界序列,或
2021-03-30 21:19:46
1033
原创 SVM总结
这里写自定义目录标题SVM(支持向量机)1.支持向量2.对偶问题3. SVM优化4. 软间隔5. 核函数6. 优缺点SVM(支持向量机)1.支持向量1.1 线性可分首先咱们先来了解下什么是线性可分在二维空间上,两类点被一条直线完全分开叫做线性可分。严格的数学定义是:D0与D1是 n 维欧氏空间中的两个点集。如果存在 n 维向量 w 和实数 b,使得所有属于D0的点x都有wx + b >0,而对于所有属于 D1的点x则有wx+b<0,则咱们称为D0与D1线性可分。1.2 最大间
2021-02-01 15:14:29
443
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人