从零开始学习用Python构建神经网络

人工智能和机器人研究院 2018-05-30 08:54 次阅读

这是一份用于理解深度学习内部运作方式的初学者指南。作者根据自己从零开始学习用 Python 构建神经网络的经验,编写了一份攻略。内容涵盖神经网络定义、损失函数、前向传播、反向传播、梯度下降算法,对于想要了解深度学习运作原理的各位来说,内容精彩不可错过。

动机:为了深入了解深度学习,我决定从零开始构建神经网络,并且不使用类似 Tensorflow 的深度学习库。我相信,对于任何有理想的数据科学家而言,理解神经网络内部的运作方式都非常重要。

本文涵盖了我学到的所有东西,希望你也能从中获益!

什么是神经网络?

许多有关神经网络的介绍资料会将神经网络与大脑进行类比。但我发现,将神经网络简单地描述为一个从输入映射到输出的数学函数理解起来更容易。

神经网络由以下部分组成:

一个输入层,x

任意数量的隐藏层

一个输出层,ŷ

每两层之间都有一组权重和偏置,W 和 b

每个隐藏层都要选择一个激活函数 σ。在本文中,我们选用 Sigmoid 激活函数。

下图展示了 2 层神经网络的结构(请注意,在计算神经网络层数的时候,通常不计入输入层)。

二层神经网络的结构

利用 Python 建立神经网络非常容易。

class NeuralNetwork:    def __init__(self, x, y):        self.input      = x        self.weights1   = np.random.rand(self.input.shape[1],4)        self.weights2   = np.random.rand(4,1)                        self.y          = y        self.output     = np.zeros(y.shape)

训练神经网络

一个简单 2 层神经网络的输出 ŷ 可以表示为:

你可能注意到,在上面的等式当中,权重 W 和偏置 b 是影响输出 ŷ 的唯一变量。

自然,权重和偏差的正确值决定了预测的强度。根据输入数据微调权重和偏置的过程称为神经网络训练。

训练过程的每一次迭代包含以下步骤:

计算预测的输出 ŷ,称为前向传播

更新权重和偏置,称为反向传播

以下流程图说明了这个过程:

前向传播

正如我们在上图中所看到的,前向传播只是一个简单的计算。对于一个基本的 2 层神经网络,神经网络的输出计算如下:

我们可以在 Python 代码中添加一个前向传播函数来做到这一点。简单起见,我们假设偏置为 0。

class NeuralNetwork:    def __init__(self, x, y):        self.input      = x        self.weights1   = np.random.rand(self.input.shape[1],4)        self.weights2   = np.random.rand(4,1)                        self.y          = y        self.output     = np.zeros(self.y.shape)    def feedforward(self):        self.layer1 = sigmoid(np.dot(self.input, self.weights1))        self.output = sigmoid(np.dot(self.layer1, self.weights2))

然而,我们仍然需要一种方法来评估我们的预测的「优秀程度」(即,我们的预测与真实值相差多少?)这就需要用到损失函数了。

损失函数

损失函数有很多种,而我们问题的性质会决定我们使用哪种损失函数。在本文中,我们将采用简单的误差平方和。

误差平方和,即每个预测值和真实值之间差值的平均值。这个差值是取了平方项的,所以我们测量的是差值的绝对值。

在训练过程中,我们的目标是找到一组最佳的权重和偏置,使损失函数最小化。

反向传播

现在,我们已经找到了预测误差的方法(损失函数),那么我们需要一种方法将错误「传播」回去,从而更新权重和偏置。

为了确定权重和偏置调整的适当值,我们需要知道损失函数对权重和偏置的偏导数。

从微积分的角度来看,函数的偏导数也就是函数的斜率。

梯度下降算法

如果我们知道了偏导数,我们可以通过简单增加或减少偏导数(如上图所示)的方式来更新权重和偏置。这就是所谓的梯度下降。

然而,由于损失函数的方程不包含权重和偏置,所以我们不能直接计算损失函数对权重和偏置的偏导数。因此,我们需要链式法则来帮助计算。

以上是用于计算损失函数对权重偏导数的链式法则。简单起见,我们只展示了一层神经网络的偏导数。

唷!这看起来不大好看,但这能让我们获得所需——损失函数对权重的偏导数(斜率),以便相应调整权重。

既然我们已经有了链式法则公式,接下来我们把反向传播函数添加到 Python 代码中。

class NeuralNetwork:    def __init__(self, x, y):        self.input      = x        self.weights1   = np.random.rand(self.input.shape[1],4)        self.weights2   = np.random.rand(4,1)                        self.y          = y        self.output     = np.zeros(self.y.shape)    def feedforward(self):        self.layer1 = sigmoid(np.dot(self.input, self.weights1))        self.output = sigmoid(np.dot(self.layer1, self.weights2))    def backprop(self):        # application of the chain rule to find derivative of the loss function with respect to weights2 and weights1        d_weights2 = np.dot(self.layer1.T, (2*(self.y - self.output) * sigmoid_derivative(self.output)))        d_weights1 = np.dot(self.input.T,  (np.dot(2*(self.y - self.output) * sigmoid_derivative(self.output), self.weights2.T) * sigmoid_derivative(self.layer1)))        # update the weights with the derivative (slope) of the loss function        self.weights1 += d_weights1        self.weights2 += d_weights2

整合

既然我们已经有了做前向传播和反向传播的完整 Python 代码,我们可以将神经网络应用到一个示例中,看看它的效果。

我们的神经网络应该能够习得理想的权重集合以表示这个函数。请注意,对于我们来说,仅通过检查来计算权重并非一件小事。

如果我们将神经网络进行 1500 次迭代,看看会发生什么。下图展示了每次迭代的损失函数值,我们可以清晰地发现损失函数单调下降到最小值。这与我们前面讨论的梯度下降算法是一致的。

让我们看看神经网络在进行 1500 次迭代后的最终预测(输出):

进行 1500 次迭代后的预测值

我们成功了!我们的前向传播和反向传播算法成功训练了神经网络,且预测值收敛到了真实值。

请注意,预测值和真实值之间还是有一些轻微差异的。这是可取的,因为它防止了过度拟合,并且使得神经网络具有更强的泛化能力。

下一步

幸运的是,我们的探索还没有结束。关于神经网络和深度学习还有很多需要学习的地方。例如:

除了 Sigmoid 函数之外,我们还可以使用哪些激活函数?

在训练神经网络时使用学习率

使用卷积进行图像分类任务

最后一点想法

在撰写此文的过程中,我已经学到了很多,希望本文也能对你有所帮助。

在没有完全了解神经网络内部工作原理的情况下,虽然使用诸如 TensorFlow 和 Keras 之类的深度学习库可以让我们很容易地建立深度网络,但我认为对于有抱负的数据科学家而言,深入理解神经网络还是大有裨益的。

原文标题:无需深度学习框架,如何从零开始用Python构建神经网络

文章出处:【微信号:gh_ecbcc3b6eabf,微信公众号:人工智能和机器人研究院】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

程序员必须要掌握哪些语言

随着科技的进步以及新技术的推进,编程语言的种类也是越来越多,随之带来的变化就是程序员需要跟进学习的语....

的头像 工程师人生 发表于 12-10 14:15 22次 阅读
程序员必须要掌握哪些语言

TIOBE公布了12月编程语言排行榜

按照微软官方公布的数据,C# 的使用者量是数百万级的,而 Visual Basic.NET 只有数十....

的头像 电子发烧友网工程师 发表于 12-10 10:26 94次 阅读
TIOBE公布了12月编程语言排行榜

PyTorch 1.0 稳定版终于正式发布了!

PyTorch 1.0 提供了两种方法使现有代码与 JIT 兼容的方法,torch.jit.trac....

的头像 新智元 发表于 12-10 09:44 74次 阅读
PyTorch 1.0 稳定版终于正式发布了!

2018年深度学习预测的回顾,目的是量化深度学习的快速发展

我现在开始认为,无监督学习和元学习实际上是同一个问题。进化解决这个问题的方法是通过踏脚石(stepp....

的头像 新智元 发表于 12-10 09:31 87次 阅读
2018年深度学习预测的回顾,目的是量化深度学习的快速发展

如何让Python输出更漂亮:PrettyPrinter美化打印包使用手册

PrettyPrinter是Python 3.6 及以上版本中的一个功能强大、支持语法高亮、描述性的....

的头像 马哥Linux运维 发表于 12-08 10:45 298次 阅读
如何让Python输出更漂亮:PrettyPrinter美化打印包使用手册

人工智能明年的五个重要发展方向的预测概述

今年,人工智能这个话题依旧火热,尤其是机器学习和深度学习,并且在接下来的一年我们相信这种关注度依旧不....

的头像 高工智能未来 发表于 12-08 10:34 455次 阅读
人工智能明年的五个重要发展方向的预测概述

人工智能技术在电力系统中的应用现状和发展方向

随着人工智能技术的兴起,人工智能技术应用在电力系统的运行、控制、管理等领域。人工智能技术在电力系统中....

的头像 集成电路应用杂志 发表于 12-08 10:29 533次 阅读
人工智能技术在电力系统中的应用现状和发展方向

Micropython教程之TPYBoard开发板驱动舵机教程

    大家应该都看到过机器人的手臂啊腿脚啊什么的一抽一抽的在动弹吧...是不是和机械舞一样的有节奏,现在很多机器人模...

发表于 12-08 09:49 9次 阅读
Micropython教程之TPYBoard开发板驱动舵机教程

12月编程语言排行榜,前三名变为:Java、C、Python

根据国务院《新一代人工智能发展规划的通知》,可以想见人工智能教育往低幼渗透的例子只会越来越多。小学生....

的头像 电子发烧友网工程师 发表于 12-08 09:40 363次 阅读
12月编程语言排行榜,前三名变为:Java、C、Python

python爬虫框架Scrapy实战案例!

tart_urls:爬取的URL列表。爬虫从这里开始抓取数据,所以,第一次下载的数据将会从这些url....

的头像 马哥Linux运维 发表于 12-07 16:12 137次 阅读
python爬虫框架Scrapy实战案例!

Agilent IO库的用途是什么

嗨,我想在Python中使用USB端口控制DSOX2024A示波器。 我之前使用串行端口的频谱分析仪完成了这项工作。 这需要Pyse...

发表于 12-07 15:53 71次 阅读
Agilent IO库的用途是什么

NVIDIA迁移学习工具包 :用于特定领域深度学习模型快速训练的高级SDK

对于设计和集成智能视频分析(IVA)端应用程序(如停车管理、安全基础设施、零售分析、物流管理和访问控....

的头像 中国人工智能学会 发表于 12-07 14:45 234次 阅读
NVIDIA迁移学习工具包 :用于特定领域深度学习模型快速训练的高级SDK

TensorFlow Extended如何帮助开发者快速落地项目

TensorFlow Extended 可以分为四个部分。我们知道在机器学习中,有人工智能、机器学习....

的头像 TensorFlow 发表于 12-07 11:05 297次 阅读
TensorFlow Extended如何帮助开发者快速落地项目

一种基于点云的Voxel(三维体素)特征的深度学习方法

特征学习网络的结构如下图所示,包括体素分块(Voxel Partition),点云分组(Groupi....

的头像 电子发烧友网工程师 发表于 12-07 09:32 231次 阅读
一种基于点云的Voxel(三维体素)特征的深度学习方法

深度学习遭批判 AI未来如何发展

在刚刚结束的CCF-GAIR大会上,来自清华、加州大学伯克利、斯坦福、哈工大等多所国内外顶级理工科院....

的头像 悟空智能科技 发表于 12-07 09:09 382次 阅读
深度学习遭批判 AI未来如何发展

卷积神经网络的权值反向传播机制和MATLAB的实现方法

深度学习是多层神经网络运用各种学习算法解决图像、文本等相关问题的算法合集。卷积神经网络作为深度学习的....

发表于 12-06 15:29 34次 阅读
卷积神经网络的权值反向传播机制和MATLAB的实现方法

利用深度学习的方法得到了一种能够最大化非线性计算成像系统的实验设计

同时可将显微镜的照相光源替换为可编程的LED阵列,在不同LED照明模式下的成像将会把样本的相位信息(....

的头像 将门创投 发表于 12-06 10:27 229次 阅读
利用深度学习的方法得到了一种能够最大化非线性计算成像系统的实验设计

NeurIPS 2018最佳论文公布,4篇最佳论文中有一篇一作是陈天琦

根据大会主席在Opening Remarks透露,本届会议参会(注册)人数直逼9000人大关,投稿超....

的头像 新智元 发表于 12-06 09:46 533次 阅读
NeurIPS 2018最佳论文公布,4篇最佳论文中有一篇一作是陈天琦

DeepMind推出的AI工具AlphaFold以优异成绩碾压了人类专家

预测“蛋白质折叠”的结构,对科学家来说是很有用的,可以通过这种方式了解蛋白质在人体内的作用,对阿尔茨....

的头像 新智元 发表于 12-06 09:36 305次 阅读
DeepMind推出的AI工具AlphaFold以优异成绩碾压了人类专家

智擎信息:利用深度学习预警工业设备故障,将隐患遏止于萌芽

如今,智策平台已经在多个类型的制造业企业落地应用。以风电行业为例,通过大数据技术,基于风机的海量历史....

的头像 英伟达NVIDIA企业解决方案 发表于 12-05 16:30 1069次 阅读
智擎信息:利用深度学习预警工业设备故障,将隐患遏止于萌芽

1360亿美元!亚太地区AI市场规模于2025年或将实现全球领先

Tractica的分析表明,亚太地区的人工智能市场,包括软件、硬件和服务,将从2017年的60亿美元....

的头像 e星球 发表于 12-05 16:17 1277次 阅读
1360亿美元!亚太地区AI市场规模于2025年或将实现全球领先

视频分析以及数据处理能力技术的提升正在重塑这一市场

测速设备现在能提供比以往更多的功能,诸如车辆人员安全带检测、摩托车驾驶人员头盔检测等,它们通过机器学....

的头像 安全自动化 发表于 12-05 15:30 439次 阅读
视频分析以及数据处理能力技术的提升正在重塑这一市场

如何为实时音视频设计小且优的深度学习模型?

超分是我们后处理的一步,作为跟前面的处理不相关的一个处理,这一步放在最后。视频源经过编码在网络上传输....

的头像 声网Agora 发表于 12-05 15:16 641次 阅读
如何为实时音视频设计小且优的深度学习模型?

借助摄影测量方法以及GPU赋力的深度学习

如果不去除陵墓中的现代人工痕迹,就不可能参观到“真正”的古墓。为了实现这一目标,realityvir....

的头像 英伟达NVIDIA企业解决方案 发表于 12-05 13:35 264次 阅读
借助摄影测量方法以及GPU赋力的深度学习

Micropython教程之TPYBoard DIY超声波测距仪实例演示

    1.实验目的     1. 学习在PC机系统中扩展简单I/O?接口的方法。     2. 进一步学习...

发表于 12-05 08:11 103次 阅读
Micropython教程之TPYBoard DIY超声波测距仪实例演示

Python异步IO的核心知识,你掌握了吗?

run_until_complete 的参数是一个 future,但是我们这里传给它的却是协程对象,....

的头像 马哥Linux运维 发表于 12-04 17:09 365次 阅读
Python异步IO的核心知识,你掌握了吗?

通过VXI-11与86412B进行通信无法读取分析仪上内容

我需要通过以太网(VXI-11)连接到86412B OSA。 我有一个基于Python的VXI-11库(),可与其他Agilent / HP设备(...

发表于 12-04 16:05 36次 阅读
通过VXI-11与86412B进行通信无法读取分析仪上内容

深度学习给人工智能以璀璨的未来

深度学习是机器学习的一种形式,所采用的神经网络在输入节点和输出节点之间具有许多“深度”层。

的头像 传感器技术 发表于 12-04 15:46 315次 阅读
深度学习给人工智能以璀璨的未来

探讨多个不同的Python包,并学习如何从PDF中提取某些图片

当你直接使用PDFMiner包时,往往会有点繁琐。这里,我们从PDFMiner的不同模块中引入多个不....

的头像 电子发烧友网工程师 发表于 12-04 10:50 373次 阅读
探讨多个不同的Python包,并学习如何从PDF中提取某些图片

Phiar获得300万美元种子轮融资,推出AR+AI导航解决方案

据悉,Phiar于2017年6月在美国加利福尼亚州的帕洛阿尔托成立,在今年初加入Y Combinat....

的头像 VR陀螺 发表于 12-04 09:57 446次 阅读
Phiar获得300万美元种子轮融资,推出AR+AI导航解决方案

NIPS 2018 AutoML挑战赛公布了最终结果,清华大学计算机系朱文武团队斩获第二,高校排名雄踞第一!

首先是宏观方法论层面的平衡。AutoML比赛和传统的数据挖掘比赛有很多相似之处,但也有本质的不同。相....

的头像 新智元 发表于 12-04 09:21 510次 阅读
NIPS 2018 AutoML挑战赛公布了最终结果,清华大学计算机系朱文武团队斩获第二,高校排名雄踞第一!

23位顶尖AI专家预测:通用人工智能可能在2099年实现

从调查结果看,对这个问题的态度和年龄之间可能存在一些相关性。福特指出,有些接受采访的研究人员已经70....

的头像 新智元 发表于 12-04 09:04 709次 阅读
23位顶尖AI专家预测:通用人工智能可能在2099年实现

谁想成为Python程序员?2018年学习Python的10大理由

对于有经验的程序员,或者已经在一定程度上掌握Ruby,Java或JavaScript的人来说,学习P....

的头像 新智元 发表于 12-04 09:02 278次 阅读
谁想成为Python程序员?2018年学习Python的10大理由

TensorFlow的30个主要功能总结

TensorFlow 是目前最流行的深度学习库,它是 Google 开源的一款人工智能学习系统。

的头像 人工智能 发表于 12-03 16:41 483次 阅读
TensorFlow的30个主要功能总结

用Python爬去百度贴吧图片并保存到本地

通过一个for循环对获取的图片连接进行遍历,为了使图片的文件名看上去更规范,对其进行重命名,命名规则....

的头像 马哥Linux运维 发表于 12-03 14:55 196次 阅读
用Python爬去百度贴吧图片并保存到本地

半定制化的FPGA芯片和全定制化的ASIC芯片

目前以深度学习为代表的人工智能计算需求,主要采用 GPU、FPGA 等已有的适合并行计算的通用芯片来....

的头像 智车科技 发表于 12-03 11:14 370次 阅读
半定制化的FPGA芯片和全定制化的ASIC芯片

华为云刷新深度学习加速纪录

华为云ModelArts在国际权威的深度学习模型基准测试平台斯坦福DAWNBenchmark上取得了....

的头像 人工智能 发表于 12-03 10:29 492次 阅读
华为云刷新深度学习加速纪录

AGI(通用人工智能)和深度学习之间的关系

Gary Marcus 在纽约大学教授心理学和神经科学,这使他成为人工智能方面的专家。他写过一篇严厉....

的头像 新智元 发表于 12-03 09:30 362次 阅读
AGI(通用人工智能)和深度学习之间的关系

AI起航 协助多项领域落地

人工智能热潮由深度学习技术推动,如今智能客服、语音识别等领域已经与商业场景应用相结合,赋能各个行业,....

的头像 人间烟火123 发表于 12-02 10:29 994次 阅读
AI起航 协助多项领域落地

深度学习陷困境_人工智能遇瓶颈

现在,深度学习面临着无法进行推理的困境,这也就意味着,它无法让机器具备像人一样的智能。但是真正的推理....

的头像 悟空智能科技 发表于 12-01 09:41 402次 阅读
深度学习陷困境_人工智能遇瓶颈

深度学习在图像识别领域的四大方向

图像识别技术的高价值应用就发生在你我身边,例如视频监控、自动驾驶和智能医疗等,而这些图像识别最新进展....

的头像 智车科技 发表于 12-01 08:54 2236次 阅读
深度学习在图像识别领域的四大方向

深度学习面临着无法进行推理的困境

那时,深度学习背后的策略和现在是一样的。比方说,你想要一台机器来自己学习识别雏菊。首先,你需要编写一....

的头像 机器人大讲堂 发表于 11-30 15:19 364次 阅读
深度学习面临着无法进行推理的困境

基于深度学习的CTR模型包DeepCTR

对于刚接触这方面的同学来说,可能对这些方法的细节还不太了解,虽然网上有很多介绍,但是代码却没有统一的....

的头像 人工智能头条 发表于 11-30 14:47 237次 阅读
基于深度学习的CTR模型包DeepCTR

一份CS230课程知识点的归纳总结,在Reddit上引发热议

Anchor boxing是一种用于预测重叠边界框的技术。在实际应用中,网络可以同时预测多个box,....

的头像 新智元 发表于 11-30 08:49 356次 阅读
一份CS230课程知识点的归纳总结,在Reddit上引发热议

扇贝是如何实现深度追踪模型并运用到英语学习者词汇水平评估中去

基于先前大量线上词汇量测试记录,我们的总序列数量已经累积到千万级别,这为使用深度学习模型提供了坚实的....

的头像 TensorFlow 发表于 11-29 17:36 651次 阅读
扇贝是如何实现深度追踪模型并运用到英语学习者词汇水平评估中去

清华刘洋与邓力合著一书系统介绍深度学习在NLP常见问题中的应用

本书提供了深度学习在自然语言处理中的一个全面介绍。它由一群经验丰富的深度学习和自然语言处理专家写成,....

的头像 悟空智能科技 发表于 11-29 16:57 299次 阅读
清华刘洋与邓力合著一书系统介绍深度学习在NLP常见问题中的应用

将深度学习用于这些影像进行识别和区分,以便快速的筛查出病症的细微信息

为了研究提取帧的特征空间,研究人员用重建损失训练了一个无监督卷积自动编码器。自动编码器由编码器和解码....

的头像 将门创投 发表于 11-29 10:30 529次 阅读
将深度学习用于这些影像进行识别和区分,以便快速的筛查出病症的细微信息

如何快速学习Python?学习Python有哪些坑?

此外,作为人工智能的主要编程语言,未来的几年,Python势必继续高歌。而近期,数据科学网站KDnu....

的头像 电子发烧友网工程师 发表于 11-29 10:11 487次 阅读
如何快速学习Python?学习Python有哪些坑?

阿里巴巴首次公开深度学习框架——X-Deep Learning

阿里巴巴首次公开深度学习框架——X-Deep Learning,可提升广告、推荐、搜索场景效率XDL....

的头像 电子发烧友网工程师 发表于 11-29 10:02 508次 阅读
阿里巴巴首次公开深度学习框架——X-Deep Learning

从四个方面详细解析自动驾驶感知环节

自动驾驶感知的实现需要软硬件结合,本文从传感器和算法的角度带大家来了解一下自动驾驶的感知。

的头像 智车科技 发表于 11-29 09:41 677次 阅读
从四个方面详细解析自动驾驶感知环节

阿里巴巴最具商业价值的深度学习框架X-Deep Learning要开源了

对于难以与BAT研发能力比肩的众多互联网公司而言,工业级深度学习框架XDL及内置算法方案的开源,将助....

的头像 新智元 发表于 11-29 09:29 407次 阅读
阿里巴巴最具商业价值的深度学习框架X-Deep Learning要开源了

想做好数据分析,不用Python怎么行?

Python因为其易读、易学和高效有了今天的人气,而人气高的语言意味着更多的大牛会开发Python相....

的头像 算法与数据结构 发表于 11-28 18:01 443次 阅读
想做好数据分析,不用Python怎么行?

专访Keras之父:从何开始对深度学习感兴趣、Keras的创建背后的动机

我研究人工智能已经有很长一段时间了,但在我还是学生时,我对学习视觉感知的层叠、模块化、层次化表示的这....

的头像 人工智能 发表于 11-28 17:30 714次 阅读
专访Keras之父:从何开始对深度学习感兴趣、Keras的创建背后的动机

如何在python 3中安装pyntcloud?

我想在python 3中安装pyntcloud windows10英特尔®实感 以上来自于谷歌翻译 以下为原文 i want to install pyntcloud ...

发表于 11-28 14:53 42次 阅读
如何在python 3中安装pyntcloud?

波多黎各一项研究有望通过深度学习大大地降低蚊子给人类带来的致命威胁

自从去年飓风“玛利亚”重创波多黎各之后,Wovenware 的这一项目的重要性显得尤其突出。飓风之后....

的头像 英伟达NVIDIA企业解决方案 发表于 11-28 11:50 556次 阅读
波多黎各一项研究有望通过深度学习大大地降低蚊子给人类带来的致命威胁

找不到python代码管理激光功率

第1项)我找不到python代码来主动管理激光功率或切换发射器。 我翻译C ++代码的尝试(正如预期的那样)没有好处。 项目2)内在...

发表于 11-26 14:12 71次 阅读
找不到python代码管理激光功率

目前常用的自然语言处理开源项目/开发包大汇总

中文主要有:NLTK,FoolNLTK,HanLP(java版本),pyhanlp(python版本),Ansj,THULAC,结巴分词,FNLP...

发表于 11-26 10:31 216次 阅读
目前常用的自然语言处理开源项目/开发包大汇总

Python图像处理:图像腐蚀与图像膨胀

图像的膨胀(Dilation)和腐蚀(Erosion)是两种基本的形态学运算,主要用来寻找图像中的极大区域和极小区域。其中膨胀类似于“...

发表于 11-23 16:39 367次 阅读
Python图像处理:图像腐蚀与图像膨胀

如何在yocto上获得pip3?

你好, 我试图在我的aero上写一些python 3代码,但我似乎无法通过dnf得到pip3。 在aero(股票yocto)上有python 3,默认(也是...

发表于 11-23 11:45 51次 阅读
如何在yocto上获得pip3?

Python多线程编程原理

Python多线程类似于同时执行多个不同程序,但其执行过程中和进程还是有区别的,每个独立的线程有一个程序运行的入口、顺序执行序...

发表于 11-22 14:01 180次 阅读
Python多线程编程原理