自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Joe的专栏

技术这个事,在于日积月累。

  • 博客(46)
  • 资源 (5)
  • 问答 (1)
  • 收藏
  • 关注

原创 ubuntu下用vscode,vim 进入anaconda的虚拟环境

ubuntu下安装Anaconda以及配置虚拟环境(例如tf)见上片文章:ubuntu16.04 安装Anaconda3,tensorflow,scikit-learn 并使用jupyter notebookubuntu下的vscode是免费的,可以直接在软件中心下载使用。在vscode中编写python代码怎么切换到上篇文章配置的虚拟环境呢?直接点击左下角1:在2的位置会出现python版本的选择,直接选取最后一个虚拟环境tf对应的python即可。...

2020-09-24 10:35:55 974

原创 ubuntu16.04 安装Anaconda3,tensorflow,scikit-learn 并使用jupyter notebook

1. 安装Anaconda3:下载地址:(https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.3.1-Linux-x86_64.sh)在终端中执行:bash Anaconda3-5.3.1-Linux-x86_64.sh,然后一路选yes。最后一个是否安装vscode,选no。2. 新开终端升级conda所有库:conda upgrade --all3. conda create -n tf(创建虚拟环境,.

2020-07-09 09:38:03 620

原创 算法评估

如何评估一个算法?分成训练集、交叉验证集和测试集;在训练集上得到多组模型后,在交叉验证集上计算交叉验证误差,选取代价函数值最小的模型,在测试集上计算推广误差:代价函数、误分率等。一般算法不理想,要么是偏差大(欠拟合),要么是方差大(过拟合)。如何判断是高方差还是高偏差?(画图)方差、偏差和多项式次数的关系:通常会选择正则化方法来防止过拟合。方差、偏差与正则化参数的关系:有哪些方法改进算法:类偏斜的误差度量:类偏斜情况表现为我们的训练集中有非常多的同一种实例,.

2020-05-15 11:08:51 1752

原创 SVM——仅作为个人复习笔记,为了快速整理,所以图片比较多

SVM(支持向量机)是一种二分类模型。点到线的距离公式:SVM就是想让这个几何间隔的最小值最大化,这样确定的分离超平面就是唯一的。

2020-05-14 17:40:05 205

原创 机器学习算法总结之决策树

一、先了解熵的概念: 根据以上定义,经验熵是在训练集上有若干分类。条件熵则是用特征A的取值将训练集分类。 熵表示的是数据中包含的信息量大小。熵越小,数据的纯度越高,也就是说数据越趋于一致,这是我们希望的划分之后每个子节点的样子。 信息增益越大,则意味着使用属性a来进行划分所获得的“纯度提升”越大。也就是说,用属性a来划...

2020-05-06 15:41:00 334

原创 机器学习算法总结之线性回归模型、逻辑回归模型

线性回归:回归,根据输入预测出一系列连续的值;线性回归,即根据训练数据训练出来的是线性模型,给输入,带入该线性模型得到输出。

2020-04-27 19:56:51 278

原创 python 中和机器学习相关的库:numpy   scipy   pandas  scikit-learn  tensorflow-gpu  matplotlib

python 中和机器学习相关的库有如下几个常用:numpy scipy pandas scikit-learn tensorflow-gpu matplotlibnumpy:python科学计算的基础包,随机数生成、快速高效的多维数组对象ndarray,用于对数组执行元素级计算,直接对数组执行数学运算的函数;用于读写硬盘上基于数组的数据集工具等。pandas:非常...

2020-04-24 18:30:12 382

原创 python 基础点总结

1.lambda匿名函数(1)f = lambda x: x * x(2)defbuild(x, y): return lambda: x * x + y * y关键字lambda表示匿名函数,冒号前面的x表示函数参数。匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。2.列表推导式>>> [x * ...

2020-04-24 16:55:13 142

原创 基于内容的推荐和基于协同过滤推荐

1.基于内容的推荐:根据物品或内容的元数据,发现物品或内容的相关性,然后基于用户以前的喜好记录推荐给用户相似的物品。如:对于用户 A,他喜欢看电影 A,那么系统就可以给他推荐类似的电影 C。2.基于协同过滤推荐(1)基于用户的协同过滤推荐(User-based Collaborative Filtering Recommendation)基于用户的协同过滤推荐算法先使用统计技...

2020-04-24 15:33:45 3668

原创 帧缓冲器、mipi总线、LCD屏

DSI(VideoMode)视频模式.这种工作模式,主机需要持续刷新显示器。由于不使用专用的数据信号传输同步信息,控制信号和RGB数据是以报文的形式通过MIPI总线传输的。因为主机需要定期刷新显示器,显示器就不需要帧缓冲器。带RAM的屏一般比不带RAM的屏要贵一些,对于一些控制成本的方案,选择屏供应商需要格外关注这个。 DCS(Command mode)命令模式MIPI总线控制器使用显示...

2019-01-10 14:35:41 607

原创 一些目标

2019-01-10 14:35:28 149

原创 probe和 match

草稿:platform_driver_register__platform_driver_registerdriver_registerbus_add_driverdriver_attachbus_for_each_dev  (有如下调用:fn(dev, data);指的就是__driver_attach)__driver_attachdriver_match_d...

2019-01-10 14:34:45 337

原创 framebuffer驱动框架

1. 翻译为:帧缓冲(抽象的显存)2. 是内核中的虚拟字符设备(类/sys/class/graphics)3.framebuffer的使用   1):打开framebuffer设备文件: /dev/fb0   2):获取framebuffer设备信息 #include <linux/fb.h>:通过ioctl获取fix info、var info等,根据屏幕参数可计算屏...

2019-01-10 14:34:24 687

原创 likely与unlikely

likely与unlikely互换或不用都不会影响程序的正确性,只是可能会影响程序的效率。if(likely(x))  //认为x通常为1if(unlikely(x)) //认为x通常为0   

2019-01-10 14:34:08 4627

原创 上下文理解

定时器到了,执行定时器的handler function,这算处于中断上下文。内核调度,调度的线程、进程,这算处于进程上下文。。。 内核中有一个中断线程化的概念,属于中断下半部的范畴,中断线程是可以被调度的,处于进程上下文。 在中断线程化机制合入Linux内核之前,中断下半部的三种旧实现机制(SoftIRQ、tasklet、workqueue)中的workqueue,就有了一些...

2019-01-10 14:33:59 417

原创 ARM64内存布局总结

综述:    kernel image在被bootloader或者UEFI加载后,最终会跳到kernel的入口代码处,顺便将一些参数传给内核。kernel的启动包括两个阶段,分别由两个head.S描述。第一个阶段是内核的解压缩和重定位,第二阶段从stext开始,主要完成的工作有:参数检查,创建初始化页表,设置C代码运行环境,为跳转到内核第一个真正的C函数start_kernel做准备。所以,第...

2019-01-10 14:33:47 3300 1

原创 伙伴系统与slab/slub分配器

    内存管理有两个算法:伙伴算法和slab/slub算法。伙伴算法是以页为单位管理内存,slab算法是以字节为单位管理内存,是内核的小内存管理算法。slab分配器并没有脱离伙伴系统,而是基于伙伴系统分配的大内存进一步细分成小内存。先讲伙伴系统,再讲slab分配器。     伙伴系统是基于bootmem机制来分配一些数据结构的。bootmem初始化的时候会调用free_area_init_n...

2019-01-10 14:33:32 1197

原创 内核支持抢占和非抢占的含义

Linux2.4不支持内核抢占,即是说进程通过系统调用陷入到内核态的时候,不可以被其他的进程抢占。如果有更高优先级的进程,只有在系统调用返回用户空间的时候,才可被调度程序调度,由高优先级的进程占用cpu。这里的“不可以被其他进程抢占”当然不包括中断上下文,无论内核态还是用户态,中断上下文都可以抢占进程上下文,中断上下文是拥有最高的权限,它甚至可以抢占其他的中断上下文。Linux2.6有一个CO...

2019-01-10 14:33:19 732

原创 内核的几个面试题

下半部的三种实现机制区别:下半部的三种实现机制 所处上下文 区别 软中断 中断上下文 不可抢占和阻塞,不可睡眠,同类型可以在不同cpu上同时执行 tasklet 中断上下文 不可抢占和阻塞,不可睡眠,同类型不能同时执行在不同cpu上 工作队列 进程上下文 可能被调度、抢占、阻塞,可睡眠  工作队列与哪些接口:  struc...

2019-01-10 14:33:07 580

原创 Linux进程调度和内核同步

一、什么叫进程调度?决定哪个进程投入运行,什么时候运行,运行多久,就叫进程调度。实现这样功能的程序,叫进程调度程序。二、目的:在进程快速响应和系统最大利用率之间寻找平衡。例如I/O消耗型进程需要在键盘等I/O设备产生硬件中断时快速响应,其他时间不消耗处理器,大部分在等待。而处理器消耗型进程,要占着CPU,例如视频播放器。三、时间片的概念:在进程被抢占之前,所能持续运行的...

2019-01-10 14:32:52 314 1

原创 android 用adb命令唤醒和熄灭屏幕

//发一次熄灭屏幕,再发一次点亮屏幕。可以在板级没有接出power键时使用。adb shell input keyevent 26 // power事件。

2019-01-10 14:32:25 36176 9

原创 在ubuntu上搭建Samba

目的:在ubuntu上搭建samba,以便在windows下访问ubuntu上的共享文件。例如,我们移动开发的人员,在ubuntu上编译了代码,需要在windows上用QPST烧机,这时,用U盘拷贝镜像到windows系统多麻烦!!搭建好samba服务后,就可以共享代码路径给windows了,windows直接在QPST上加载共享路径的contents.xml,随时都可以烧机了,再也不用拷贝来拷贝...

2019-01-10 14:32:12 323

原创 第三章 矩阵的初等变换与线性方程组

初等变换分为初等行变换和初等列变换,初等行变换有三种(初等列变换同理):(i) 对换两行(对换 i,j 两行,记作 r i ↔ r j );(ii) 以数 k≠0 乘某一行中的所有元(第 i行乘 k,记作 r i × k) ;( iii) 把某一行所有元的 k 倍加到另一行对应的元上去(第j 行的 k 倍加到第 i行上,记作 r i +kr j ) .经过有限次初等变换的矩阵称为等价矩...

2018-08-29 10:17:54 1253 1

原创 线性代数复习笔记——第二章 矩阵及其运算(1)

目录:1 线性方程组和矩阵 2 矩阵的运算 3 逆矩阵 4 克拉默法则 5 矩阵分块法 1.线性方程和矩阵从左上角到右下角的直线(叫做对角线)以外的元素都是 0的方阵称为对角矩阵,简称对角阵.对角阵也记作A = diag( λ1 , λ 2 , ..., λ n );对角线元素都为1,其他元素都为0的方阵,叫做 n 阶单位矩阵,简称单位...

2018-08-21 10:18:32 5845

原创 线性代数复习笔记——第一章

第一章  行列式(1)由二元线性方程组引出二阶行列式。行列式是一个值,不是一个矩阵。(2)二阶和三阶行列式的值可以通过对角线法则计算,更高阶的不符合对角线法则。(3)根据全排列和逆序数的定义,给出n阶行列式的计算方法。(4)上下三角形行列式、对角行列式的值等于主对角线的元素相乘之积。(5)行列式与它的转置行列式相等.(6)对换行列式的两行(列),行列式变号.      ...

2018-08-20 18:01:26 12325 2

原创 卡尔曼滤波总结

Kalman滤波包含两个步骤:(1)用k-1时刻的最优估计预测k时刻的状态变量:   由上式可知,新的最优估计是根据上一最优估计预测得到的,并加上已知外部控制量的修正。  而新的不确定性由上一不确定性预测得到,并加上外部环境的干扰。(2)对k时刻的状态进行观测,观测的状态量是Zk,协方差是Rk。用观测量对预测量进行修正,从而得到k时刻的最优状态估计。其中,矩阵K叫做卡...

2018-08-15 15:07:54 10562

原创 request_threaded_irq

函数原型:int request_threaded_irq(unsigned int irq, irq_handler_t handler,   irq_handler_t thread_fn, unsigned long irqflags, const char *devname, void *dev_id)输入参数 描述 irq 中断号 handler 中断处...

2018-07-26 15:43:52 1030

原创 QT 的 lineEdit的textChanged(const QString &)信号被触发两次的原因

写了一个信号-槽的连接语句:connect(ui.lineEdit, SIGNAL(textChanged(const QString &)), this,SLOT(on_lineEdit_textChanged(const QString &)));随后定义了槽函数:on_lineEdit_textChanged(const QString &);但运行时发现,该槽函数竟然运行了两次。

2016-06-16 11:11:11 14611

转载 C++中的虚函数,多态,覆盖隐藏重载

今天上网看C++的一些资料,突然看到虚函数,突然让我回想起继承,覆盖什么的,决定总结一些资料,加上自己的体会写一篇 C++中的虚函数(virtual function)  虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次: class A{public:virtual void foo()

2014-06-26 16:01:02 863

原创 c++中的protected 说明

在没有继承的情况下,protected跟private相同。在派生类的时候才出现分化。上面那段英文前两条都很好理解,基类对象不能访问基类的protected成员,派生类中可以访问基类的protected成员。也就是说private成员是不能被继承的,只有public,protected的成员才可以被继承。就是最后一条有些迷惑人,派生类对象如果要访问基类protected成员只有通过派生类对

2014-06-26 14:50:12 4658 1

转载 typedef

不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我自己写的内容)。用途一:定义一种类型的别名,而不

2014-05-21 16:57:24 415

转载 C++ static char THIS_FILE[] = __FILE__

C++ static char THIS_FILE[] = __FILE__;__FILE__为预编译器常量,返回当前编译的文件名,还有比较常用的几个预编译器常量,__LINE__编译器在编译的文件的第几行;__DATE__返回当前的日期Jul-20-2004;__TIME__返回当前的时间hh:mm:ss;  __TIMESTAMP__的预定义的编译器宏始终返回时间戳信息

2014-05-15 09:46:11 2108

转载 C++中属于整个类的的常量

转载自http://www.cnblogs.com/this-543273659/archive/2011/08/02/2125020.html#commentform由于#define 定义的宏常量是全局的,不能达到目的,于是想当然地觉得应该用 const 修饰数据成员来实现。const 数据成员的确是存在的,但其含义却不是我们所期望的。const 数据成员只在某个对象生存期内是常量

2014-04-27 11:47:45 557

转载 static 函数和变量

转载自static 声明的变量在C语言中有两方面的特征:  1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。  2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。Tips:  A.若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降

2014-04-24 15:31:18 442

转载 宏的二次展开

原文:点击打开链接macro body 展开过程       先进行# stringified操作,再对参数进行替换, 最后执行## pasted 操作。 Simple scan 和 Twice scanobject-like宏 和 function-like但没有参数的宏,或macro body 有 #(stringified ) or ##(pasted) 的macro

2014-04-24 10:47:53 1297

原创 局部变量的指针和局部指针变量是两个不同概念

1.局部变量的指针和局部指针变量是两个不同概念2.局部变量在函数体结束后生命期也结束,它的指针(即它的地址)是无效变量的地址,所以函数不能返回这种地址值3,局部指针变量在函数结束后生命期也结束,但它指向的变量或函数或任何存储实体的生命期没有结束,函数返回的指针(地址)就是有效的例1:int *func(){   int x;   ...   return &x;/*

2014-04-23 16:38:03 4094

原创 c语言中的函数可变参数列表相关的三个宏

在stdarg.h头文件中

2014-04-23 10:37:12 540

原创 智能指针类HasPtr

智能指针是存储指向动态分配对象指针的类,用于控制对象的生存期,能够确保自动正确的销毁动态分配的对象,防止内存泄露。    HasPtr 在其他方面的行为与普通指针一样。具体而言,复制对象时,副本和原对象将指向同一基础对象,如果通过一个副本改变基础对象,则通过另一对象访问的值也会改变。    HasPtr 类需要一个析构函数来删除指针,但是,析构函数不能无条件地删除指针。如果两个 HasPt

2014-03-26 16:01:28 586

转载 关于Vector中存放指针的问题

关于Vector中存放指针的问题,在进行清空的时候比较安全的一种做法是:    std::vector ClassNameVec;    ...push_back(new ClassName());    std::vector::iterator ClassNameIt = ClassNameVec.begin();    for(;ClassNameIt != ClassNam

2014-03-26 12:38:51 2548

转载 关系模型 超键 候选键 主键

一、关系(二维表)现阶段主要的商用数据库系统,如ORACLE,Sybase, DB2等,都是基于关系模型的数据库系统。关系模型应用广泛的原因之一就是它具有简单、明快的数据建模概念:以称为关系的二维表的形式结构数据。使数据库的结构和相关操作也都变得简洁和易于理解。以教学管理系统为例,若定义三个实体集:学生(student)、课程(course)、学习(sc),则在关系数据库系统中可以使用图1

2014-02-25 14:05:34 7689 2

VNote-ubuntu上记笔记的一款友好工具

免安装,赋权限后双击打开即可.支持pdf格式h和markdown格式等多种文件格式,且能以pdf,markdown,html等格式导出.侧边栏有文件树,目录,关键字搜索等.

2020-07-01

统计学习方法 李航著 清华大学出版社 高清版 带目录

高清版,带目录。学习机器学习必看的书籍,书中讲解简洁精准,一语中的,精华之作!

2019-04-18

soapcpp2.exe wsdl2h.exe

将 wsdl 转化为.h文件,并生成对应的C++代理类,方法: wsdl2h.exe -o ****.h http://www.********.wsdl soapcpp2.exe -C -L -i ****.h

2016-02-26

数据结构与算法分析C++描述 第3版.pdf

算法方面适合入门的一本书,不是那么厚,适合初学者。

2014-04-20

proe二次开发同步异步两种模式的区别

proe的二次开发中同步模式和异步模式的介绍

2013-08-19

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

TA关注的人

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