Category学习笔记

Tensorflow&机器学习速成笔记

本笔记依托于谷歌机器学习速成课程 会与前面机器学习笔记存在重复部分 部分文字与图片节选自Google机器学习速成课程讲义和Tensorflow官方API及对应社区或其他文档 文章会持续更新 课程地址:  机器学习术语 监督式学习是机器学习系统通过学习如何组合输入信息来对从未见过的数据做出有用的预测。 标签 在简单线性回归中,标签是我们要预测的事物,即 y 变量。标签可以是小麦未来的价格、图片中显示的动物品种、音频剪辑的含义或任何事物。 特征 在简单线性回归中,特征是输入变量,即 x 变量。简单的机器学习项目可能会使用单个特征,而比较复杂的机器学习项目可能会使用数百万个特征,写成如下形式: 样本 样本是指数据的特定实例:x。(我们采用粗体 x 表示它是一个矢量。)我们将样本分为以下两类:有标签样本和无标签样本 有标签样本同时包含特征以及标签 Python labeled examples:...

OpenCV-Python学习手册(一)安装配置与初步使用

这又是一个新坑系列,主要的笔记主要是关于大名鼎鼎的OpenCV的Python接口的学习,主要的文档支持就是OpenCV-Python手册,顺序也基本会按照这个文档来 安装OpenCV以及开启其Python支持 这里主要是针对Linux发行版的安装方法,我本人也是使用的Ubuntu Gnome 16.04LTS 依赖环境 GCC 4.4.x or later CMake 2.6 or higher Git GTK+2.x or higher, including headers (libgtk2.0-dev) # 控制opencv GUI pkg-config Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy) ffmpeg or libav...

从0开始用Python实现图像边缘检测

自上次使用感知哈希进行图像检测以后,我又开始造轮子了。这次是从0开始的使用Python的图像边缘检测 本次针对图像的边缘检测一口气使用了5个算子,包括Prewitt算子,Sobel算子,laplace算子,拓展laplace算子,canny算子。一个一个慢慢说 首先 既然我们要做图像边缘检测,那就要首先弄清楚什么是图像的边缘,边缘有什么特征,这样才能对特征加以识别 现在一幅常规的图像都是彩色的,但是色彩的存在会增加我们判断的难度,所以我们既要消除色彩对我们的影响。所以我们要对图像进行灰度化处理 得到灰度图像以后那么边缘两侧的图像灰度值肯定相差很大,但是图像的像素之间都会有多多少少的灰度差异,因此我们需要做的不仅是找到灰度差异大的部分,而是需要找到灰度差异最大的部分,这样这个地方是边缘的可能性就越强。 那么接下来的问题就转化成如何知道那里的灰度变化值最大。...

[转载]关于 Python 的 GIL

原文链接: GIL 是什么? GIL 的全程是 Global Interpreter Lock ,即全局解释器锁。它是一个全局的互斥锁,保证了在同一个 Python 解释器进程中,同一时刻只有一个线程在运行。Python 的线程实现中根据不同的操作系统采用了相应的系统原生线程来实现,GIL 使得 Python 的对象和 API 在面对竞争条件时不会出现不可预料的错误。 上面说的都是口水话,没什么用。如果你看不懂的话,建议先去了解一下操作系统这门课程,然后再去看看什么是多线程和多进程的编程以及它们的模型,再来读这篇文章。 为什么有 GIL ? TL; DR: Python 是一个程序设计语言,它本身没有 GIL 这个东西,Python 官方的解释器 CPython 有 GIL ; CPython 在解释器的实现上是非线程安全的,在权衡了解释器的实现复杂度与解释器的性能之后,他们决定引入...

基于Python的进程调度算法实验

最近操作系统的实验课老师要求我们来实现进程调度算法,加之最近又在学习Python。于是就用Python实现进程调度的几个经典算法:先来先服务、短进程优先、时间片轮转。 算法解析 先简单的介绍一下三种进程调度算法 FCFS先来先服务 讲道理这个算法是最简单的调度算法,就是判断谁先来,先来的就先服务。没啥道理可讲 SJF短进程优先 这个只是FCFS的改进版,防止长进程过长时间占用CPU,因此将CPU设置为优先服务短进程 时间片轮转法 为了应对上述两种方法在,进程并发上的缺陷,将CPU的服务量化为时间片,将CPU的计算资源分配改为按时间片分配。每个进程拥有一定的时间片,从而让每个进程都可以得到相应。当然对于时间片轮转算法可以有很多改进,例如给每个进程加上优先级,优先服务优先级高的程序 算法实现 依据上面说的算法原理,采用OOP的思想(虽然超级不严谨)来进行实现 PCB...

从0开始用Python实现图片相似度检测

最近突发奇想,想利用Python做一个轮子工程,就是使用Python来做两个图片相似度的比较,不引用市面上成熟的API,是完完全全的轮子工程(后期估计会有一大堆优化,如果我不懒的话) 主要应用的算法就是感知哈希算法。感知哈希算法的核心就是将图像抽象成一个字符串指纹,然后比较两个字符串指纹之间的汉明距离(Hamming Distance)。但是两张图片的大小都不尽相同,直接拿来比较的可比性也比较低,因此首先需要对图像进行一些预处理 图像预处理 首先要做的第一步就是消除图像中颜色的差异,对于颜色的处理无外乎就是二值化,灰度化那么几种。而这里选择二值化显然保留的数据太少了。所以我们选择灰度化,来去除掉图像的颜色。 何为灰度化?简单的来讲图像分为RGB三原色,每一原色都用256位来表示(0...

Python3那些与Python2不同的地方(持续更新)

又是一年踩坑时啊,最近写Python为了保证在Python2和Python3中同时运行踩了不少关于两者的坑,本来是没打算总结的,可是越踩越多,越踩越多,脑子实在记不住了,就提笔写了这一篇博客 print 这是一个很普遍的坑,也是一个很容易遇到的坑 在Python27中,print可以这么写 Python print "hello world" 1 print "hello world" 也可以这么写 Python print("hello world") 1 print("hello world")...

使用Python爬虫获取拉钩职位信息的作死过程

Today i….. 最近本宝宝在做大数据的有关作业,需要获取一下拉勾的职位信息,于是,我就开始了我的爬虫之路 所谓爬虫就是 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫 1 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫 大概就是这样,接下来大概就是分享一下我做这个爬虫的是时候的一些整体思路 首先,我洗了个澡,吃了点水果,咳咳。说正经的了。...

JAVA从入门到放弃(6)多态

上一篇笔记中介绍了复用类,而这一篇笔记中想介绍一下多态。 在讨论多态之前,我们需要重新讨论一下向上转型这个问题。在之前的向上转型当中存在一个问题就是:我们为什么要故意忘记变量的类型。JAVA明明是一种强类型语言,但是在向上转型的过程中我们却故意忘记变量的类型。首先先来看一段代码 Java enum Note{ MIDDLE_C,C_SHARP,B_FLAT; } public class Text { public static void tune(InstrumentC i){ i.play(Note.MIDDLE_C); } public static void main(String[] Args){ WindC flute = new WindC(); tune(flute); } } class InstrumentC{ public void play(Note n){...

JAVA从入门到放弃(5)复用类

这篇笔记中我想简述一下JAVA的众多引人注目的功能之一:复用。真正的复用不仅要做到能够复制代码并对之加以改变,还应该做到更多。 复用的方法包括:组合、继承、代理。下面我们首先简述一下组合 所谓的组合就是在新的类中产生现有类的对象。因为新产生的类是由现有类和对象组成的,所以这种方法称为组合。下面的例子给出了组合的用法 class WaterSource{ private String s; WaterSource(){ System.out.println("WaterSource()"); s = "Constructed"; } public String toString(){return s;} } public class SprinklerSystem { private String value1,value2,value3,value4; private...

Your sidebar area is currently empty. Hurry up and add some widgets.