用户您好!请先登录!

深度学习中的各种卷积

如果你听说过深度学习中不同种类的卷积(比如 2D / 3D / 1×1 /转置/扩张(Atrous)/空间可分/深度可分/平展/分组/混洗分组卷积),并且搞不清楚它们究竟是什么意思,那么这篇文章就是为你写的,能帮你理解它们实际的工作方式。

在这篇文章中,我会归纳总结深度学习中常用的几种卷积,并会试图用一种每个人都能理解的方式解释它们。

1. 卷积与互相关

在信号处理、图像处理和其它工程/科学领域,卷积都是一种使用广泛的技术。在深度学习领域,CNN这种模型架构就得名于这种技术。但是,深度学习领域的卷积本质上是信号/图像处理领域内的互相关(cross-correlation)。这两种操作之间存在细微的差别。

无需太过深入细节,我们就能看到这个差别。在信号/图像处理领域,卷积的定义是:

一文读懂深度学习中的各种卷积

阅读更多

帆软观点:小数据、大智能

众所周知,在数据量非常小的时候,深度学习的复杂网络无法取得很好的效果,辩证的讲,数据不是一种无限的资源,而人工智能所需的数据相当昂贵和耗时,一方面深度学习需要准确的标记图像或文本训练数据,而标记需要大量的人力;另一方面,许多数据存在着隐私和安全风险,比如说医疗等等,数据的开放不是短期内能解决的。

现在数据孤岛、数据隐私、小数据和标注等问题日益突出,当前人工智能要能进一步发展,必须解决数据的挑战,找到在当前的数据状态下可持续发展的方法。

这就是人工智能专家吴恩达提出的问题:“数据当然是越多越好,我也并没有说许多数据是无用数据。但是,在农业、制造、医疗等领域的部分应用场景中,如果你手头只有100张照片,比如肿瘤照片过少,怎么办呢?” 笔者也碰到很多这种情况,比如反欺诈样本过少的问题。

阅读更多

计算机系统的运维演进之路

数字化转型大潮中,常常说到DevOps,但是其并不是数字化转型所特有的。从一个高度及敏捷的研发团队的角度,其是必要的技术组成部分,甚至不在于是否用不用敏捷。并随着大数据的特有应用,衍生出DataOps;同时由于互联网相关应用等的大规模分布式的使用,及虚拟化、容器化等等的海量集群的应用,AIOps也被冠名了。

小运维与大运维

  • 统一及集中的部门和团队的成立,就是为了提供集中/一致/协同的管理支持,提高专业化水平。
  • 但是其不能永远站在后面,被动的接受服务请求。
  • 其专业性和资源集中性要渗透到立项,开发,运维等的全生命周期中,协同应用及系统建设和后续工作。
  • 不管是自己内部资源,还是外部资源,第三方服务及产品,团队应是组织与基础设施及平台服务的唯一对接中心。
航司的DevOps & DataOps & AIOps

阅读更多

艾瑞咨询2019AI 基础数据服务行业报告

在经历了一段时期的野蛮生长之后,人工智能基础数据服务行业进入成长期,行业格局逐渐清晰。人工智能基础数据服务方的上游是数据生产和外包提供者,下游是AI算法研发单位,人工智能基础数据服务方通过数据处理能力和项目管理能力为其提供整体的数据资源服务,不过AI算法研发单位和AI中台也可提供一些数据处理工具,产业上下游普遍存在交叉。

2018年中国人工智能基础数据服务市场规模为25.86亿元,其中数据资源定制服务占比86%,预计2025年市场规模将突破113亿元。市场供给方主要由人工智能基础数据服务供应商和算法研发单位自建或直接获取外包标注团队的形式组成,其中供应商是行业主要支撑力量。

数据安全、采标能力、数据质量、管理能力、服务能力等仍是需求方的痛点,需要人工智能基础服务商有明确具体的安全管理流程、能够深入理解算法标注需求、可提供精力集中且高质量的服务、能够积极配合、快速响应需求方的要求。

阅读更多

CNN(基本原理+独特价值+实际应用)

【这篇发表在easyAI上的文章终于可以通俗地讲明白CNN是怎么回事了。】

CNN 解决了什么问题?

在 CNN 出现之前,图像对于人工智能来说是一个难题,有2个原因:

图像需要处理的数据量太大,导致成本很高,效率很低

图像在数字化的过程中很难保留原有的特征,导致图像处理的准确率不高

下面就详细说明一下这2个问题:

需要处理的数据量太大

图像是由像素构成的,每个像素又是由颜色构成的。

一文看懂卷积神经网络-CNN(基本原理+独特价值+实际应用)

现在随随便便一张图片都是 1000×1000 像素以上的, 每个像素都有RGB 3个参数来表示颜色信息。

假如我们处理一张 1000×1000 像素的图片,我们就需要处理3百万个参数!

1000×1000×3=3,000,000

这么大量的数据处理起来是非常消耗资源的,而且这只是一张不算太大的图片!

阅读更多

卷积神经网络CNN那点事

在讨论卷积神经网络(CNN)之前,我们来回顾一下什么是神经网络。我们可以搭建全联接类型的神经网络(full connection neural network),然后使用反向传播(Back Propagation – BP)和梯度下降训练神经网络。这种BP网络可以很好的处理较小的图片。

一文搞懂卷积神经网络(Convolutional Neural Networks-CNN)

但是BP网络在处理较大的图片时会遇到下列棘手的问题:

•图片需要预处理(旋转、去燥、灰度化等),有时还要手工抽取特征

•网络权值太多,训练需要很多样本,计算困难

•网络泛化能力较弱

阅读更多

卷积神经网络入门:CNN通俗解析

摘要: CNN基础知识介绍及TensorFlow具体实现,对于初学者或者求职者而言是一份不可多得的资料。

定义:

简而言之,卷积神经网络(Convolutional Neural Networks)是一种深度学习模型或类似于人工神经网络的多层感知器,常用来分析视觉图像。卷积神经网络的创始人是着名的计算机科学家Yann LeCun,目前在Facebook工作,他是第一个通过卷积神经网络在MNIST数据集上解决手写数字问题的人。

卷积神经网络的出现是受到了生物处理过程的启发,因为神经元之间的连接模式类似于动物的视觉皮层组织。

一文入门卷积神经网络:CNN通俗解析

人脑的视觉结构

个体皮层神经元仅在被称为感受野的视野受限区域中对刺激作出反应,不同神经元的感受野部分重叠,使得它们能够覆盖整个视野。

阅读更多

推荐一下《图解深度学习》

前几周开始起,逐渐有了些时间,纯粹基于兴趣买了两本书,恰巧是被推荐的两本深度学习必读。感觉对于久离数学基本的爱好者比较适用。

《图解深度学习》是从深度学习的发展历程讲起的,从理论和实践两个方面介绍了深度学习的各种方法,以及深度学习在图像识别等领域的应用案例。内容图文并茂,涉及神经网络、卷积神经网络、受限玻尔兹曼机、自编码器、泛化能力的提高, 并介绍了包括Theano、Pylearn2、Caffe、DIGITS、Chainer 和TensorFlow等深度学习工具的安装和使用方法。书如其名,《图解深度学习》图例非常丰富,清晰直观,适合所有对深度学习感兴趣的读者阅读。

阅读更多

机器学习模型的选择与取舍

通过学习机器学习课程或阅读相关文章,你不一定就能知道应该如何选择机器学习模型。它们只是让你对这些模型的工作原理有一个直观的了解,但可能会让你在为自己的问题选择合适模型时感到无所适从。

一文读懂机器学习模型的选择与取舍

机器学习模型概要

开始使用机器学习来解决问题时,可以尝试许多机器学习模型,并从中选择最有效的一个。这些经验是从经历、直觉和同事中学到的,它们会让事情变得更容易。以下是一些有意思的内容。

让我们来根据问题的本质来决定使用哪种机器学习模型。

阅读更多

转载:一文看懂深度学习

一文看懂深度学习(白话解释+8个优缺点+4个典型算法)

深度学习有很好的表现,引领了第三次人工智能的浪潮。目前大部分表现优异的应用都用到了深度学习,大红大紫的 AlphaGo 就使用到了深度学习。

本文将详细的给大家介绍深度学习的基本概念、优缺点和主流的几种算法。

深度学习、神经网络、机器学习、人工智能的关系

深度学习、机器学习、人工智能

简单来说:

  1. 深度学习是机器学习的一个分支(最重要的分支)
  2. 机器学习是人工智能的一个分支
一文看懂深度学习(白话解释+8个优缺点+4个典型算法)

目前表现最好的一些应用大部分都是深度学习,正是因为深度学习的突出表现,引发了人工智能的第三次浪潮。详情可以看《人工智能的发展史——3次 AI 浪潮》

深度学习、神经网络

深度学习的概念源于人工神经网络的研究,但是并不完全等于传统神经网络。

不过在叫法上,很多深度学习算法中都会包含”神经网络”这个词,比如:卷积神经网络、循环神经网络。

所以,深度学习可以说是在传统神经网络基础上的升级,约等于神经网络。

一文看懂深度学习(白话解释+8个优缺点+4个典型算法)

大白话解释深度学习

看了很多版本的解释,发现李开复在《人工智能》一书中讲的是最容易理解的,所以下面直接引用他的解释:

我们以识别图片中的汉字为例。

假设深度学习要处理的信息是“水流”,而处理数据的深度学习网络是一个由管道和阀门组成的巨大水管网络。网络的入口是若干管道开口,网络的出口也是若干管道开口。这个水管网络有许多层,每一层由许多个可以控制水流流向与流量的调节阀。根据不同任务的需要,水管网络的层数、每层的调节阀数量可以有不同的变化组合。对复杂任务来说,调节阀的总数可以成千上万甚至更多。水管网络中,每一层的每个调节阀都通过水管与下一层的所有调节阀连接起来,组成一个从前到后,逐层完全连通的水流系统。

一文看懂深度学习(白话解释+8个优缺点+4个典型算法)

那么,计算机该如何使用这个庞大的水管网络来学习识字呢?

比如,当计算机看到一张写有“田”字的图片,就简单将组成这张图片的所有数字(在计算机里,图片的每个颜色点都是用“0”和“1”组成的数字来表示的)全都变成信息的水流,从入口灌进水管网络。

一文看懂深度学习(白话解释+8个优缺点+4个典型算法)

我们预先在水管网络的每个出口都插一块字牌,对应于每一个我们想让计算机认识的汉字。这时,因为输入的是“田”这个汉字,等水流流过整个水管网络,计算机就会跑到管道出口位置去看一看,是不是标记由“田”字的管道出口流出来的水流最多。如果是这样,就说明这个管道网络符合要求。如果不是这样,就调节水管网络里的每一个流量调节阀,让“田”字出口“流出”的水最多。

这下,计算机要忙一阵了,要调节那么多阀门!好在计算机的速度快,暴力的计算加上算法的优化,总是可以很快给出一个解决方案,调好所有阀门,让出口处的流量符合要求。

一文看懂深度学习(白话解释+8个优缺点+4个典型算法)

下一步,学习“申”字时,我们就用类似的方法,把每一张写有“申”字的图片变成一大堆数字组成的水流,灌进水管网络,看一看,是不是写有“申”字的那个管道出口流水最多,如果不是,我们还得再调整所有的阀门。这一次,要既保证刚才学过的“田”字不受影响,也要保证新的“申”字可以被正确处理。

一文看懂深度学习(白话解释+8个优缺点+4个典型算法)

如此反复进行,知道所有汉字对应的水流都可以按照期望的方式流过整个水管网络。这时,我们就说,这个水管网络是一个训练好的深度学习模型了。当大量汉字被这个管道网络处理,所有阀门都调节到位后,整套水管网络就可以用来识别汉字了。这时,我们可以把调节好的所有阀门都“焊死”,静候新的水流到来。

一文看懂深度学习(白话解释+8个优缺点+4个典型算法)

与训练时做的事情类似,未知的图片会被计算机转变成数据的水流,灌入训练好的水管网络。这时,计算机只要观察一下,哪个出水口流出来的水流最多,这张图片写的就是哪个字。

深度学习大致就是这么一个用人类的数学知识与计算机算法构建起来的整体架构,再结合尽可能多的训练数据以及计算机的大规模运算能力去调节内部参数,尽可能逼近问题目标的半理论、半经验的建模方式。

传统机器学习 VS 深度学习

传统机器学习和深度学习的相似点

一文看懂深度学习(白话解释+8个优缺点+4个典型算法)

在数据准备和预处理方面,两者是很相似的。

他们都可能对数据进行一些操作:

  • 数据清洗
  • 数据标签
  • 归一化
  • 去噪
  • 降维

对于数据预处理感兴趣的可以看看《AI 数据集最常见的6大问题(附解决方案)》

传统机器学习和深度学习的核心区别

一文看懂深度学习(白话解释+8个优缺点+4个典型算法)

传统机器学习的特征提取主要依赖人工,针对特定简单任务的时候人工提取特征会简单有效,但是并不能通用。

深度学习的特征提取并不依靠人工,而是机器自动提取的。这也是为什么大家都说深度学习的可解释性很差,因为有时候深度学习虽然能有好的表现,但是我们并不知道他的原理是什么。

深度学习的优缺点

一文看懂深度学习(白话解释+8个优缺点+4个典型算法)

优点1:学习能力强

从结果来看,深度学习的表现非常好,他的学习能力非常强。

优点2:覆盖范围广,适应性好

深度学习的神经网络层数很多,宽度很广,理论上可以映射到任意函数,所以能解决很复杂的问题。

优点3:数据驱动,上限高

深度学习高度依赖数据,数据量越大,他的表现就越好。在图像识别、面部识别、NLP 等部分任务甚至已经超过了人类的表现。同时还可以通过调参进一步提高他的上限。

优点4:可移植性好

由于深度学习的优异表现,有很多框架可以使用,例如 TensorFlow、Pytorch。这些框架可以兼容很多平台。

缺点1:计算量大,便携性差

深度学习需要大量的数据很大量的算力,所以成本很高。并且现在很多应用还不适合在移动设备上使用。目前已经有很多公司和团队在研发针对便携设备的芯片。这个问题未来会得到解决。

缺点2:硬件需求高

深度学习对算力要求很高,普通的 CPU 已经无法满足深度学习的要求。主流的算力都是使用 GPU 和 TPU,所以对于硬件的要求很高,成本也很高。

缺点3:模型设计复杂

深度学习的模型设计非常复杂,需要投入大量的人力物力和时间来开发新的算法和模型。大部分人只能使用现成的模型。

缺点4:没有”人性”,容易存在偏见

由于深度学习依赖数据,并且可解释性不高。在训练数据不平衡的情况下会出现性别歧视、种族歧视等问题。

4种典型的深度学习算法

一文看懂深度学习(白话解释+8个优缺点+4个典型算法)

卷积神经网络 – CNN

CNN 的价值:

  1. 能够将大数据量的图片有效的降维成小数据量(并不影响结果)
  2. 能够保留图片的特征,类似人类的视觉原理

CNN 的基本原理:

  1. 卷积层 – 主要作用是保留图片的特征
  2. 池化层 – 主要作用是把数据降维,可以有效的避免过拟合
  3. 全连接层 – 根据不同任务输出我们想要的结果

CNN 的实际应用:

  1. 图片分类、检索
  2. 目标定位检测
  3. 目标分割
  4. 人脸识别
  5. 骨骼识别

了解更多《一文看懂卷积神经网络-CNN(基本原理+独特价值+实际应用)》

循环神经网络 – RNN

RNN 是一种能有效的处理序列数据的算法。比如:文章内容、语音音频、股票价格走势…

之所以他能处理序列数据,是因为在序列中前面的输入也会影响到后面的输出,相当于有了“记忆功能”。但是 RNN 存在严重的短期记忆问题,长期的数据影响很小(哪怕他是重要的信息)。

于是基于 RNN 出现了 LSTM 和 GRU 等变种算法。这些变种算法主要有几个特点:

  1. 长期信息可以有效的保留
  2. 挑选重要信息保留,不重要的信息会选择“遗忘”

RNN 几个典型的应用如下:

  1. 文本生成
  2. 语音识别
  3. 机器翻译
  4. 生成图像描述
  5. 视频标记

了解更多《一文看懂循环神经网络-RNN(独特价值+优化算法+实际应用)》

生成对抗网络 – GANs

假设一个城市治安混乱,很快,这个城市里就会出现无数的小偷。在这些小偷中,有的可能是盗窃高手,有的可能毫无技术可言。假如这个城市开始整饬其治安,突然开展一场打击犯罪的「运动」,警察们开始恢复城市中的巡逻,很快,一批「学艺不精」的小偷就被捉住了。之所以捉住的是那些没有技术含量的小偷,是因为警察们的技术也不行了,在捉住一批低端小偷后,城市的治安水平变得怎样倒还不好说,但很明显,城市里小偷们的平均水平已经大大提高了。

警察们开始继续训练自己的破案技术,开始抓住那些越来越狡猾的小偷。随着这些职业惯犯们的落网,警察们也练就了特别的本事,他们能很快能从一群人中发现可疑人员,于是上前盘查,并最终逮捕嫌犯;小偷们的日子也不好过了,因为警察们的水平大大提高,如果还想以前那样表现得鬼鬼祟祟,那么很快就会被警察捉住。为了避免被捕,小偷们努力表现得不那么「可疑」,而魔高一尺、道高一丈,警察也在不断提高自己的水平,争取将小偷和无辜的普通群众区分开。随着警察和小偷之间的这种「交流」与「切磋」,小偷们都变得非常谨慎,他们有着极高的偷窃技巧,表现得跟普通群众一模一样,而警察们都练就了「火眼金睛」,一旦发现可疑人员,就能马上发现并及时控制——最终,我们同时得到了最强的小偷和最强的警察。

一文看懂深度学习(白话解释+8个优缺点+4个典型算法)

了解更多《什么是生成对抗网络 – GAN?(基本概念+工作原理)》

深度强化学习 – RL

强化学习算法的思路非常简单,以游戏为例,如果在游戏中采取某种策略可以取得较高的得分,那么就进一步「强化」这种策略,以期继续取得较好的结果。这种策略与日常生活中的各种「绩效奖励」非常类似。我们平时也常常用这样的策略来提高自己的游戏水平。

在 Flappy bird 这个游戏中,我们需要简单的点击操作来控制小鸟,躲过各种水管,飞的越远越好,因为飞的越远就能获得更高的积分奖励。

这就是一个典型的强化学习场景:

  • 机器有一个明确的小鸟角色——代理
  • 需要控制小鸟飞的更远——目标
  • 整个游戏过程中需要躲避各种水管——环境
  • 躲避水管的方法是让小鸟用力飞一下——行动
  • 飞的越远,就会获得越多的积分——奖励
一文看懂深度学习(白话解释+8个优缺点+4个典型算法)

你会发现,强化学习和监督学习、无监督学习 最大的不同就是不需要大量的“数据喂养”。而是通过自己不停的尝试来学会某些技能。

了解更多:《一文看懂什么是强化学习?(基本概念+应用场景+主流算法)》

总结

深度学习属于机器学习的范畴,深度学习可以说是在传统神经网络基础上的升级,约等于神经网络。

深度学习和传统机器学习在数据预处理上都是类似的。核心差别在特征提取环节,深度学习由机器自己完成特征提取,不需要人工提取。

深度学习的优点:

  1. 学习能力强
  2. 覆盖范围广,适应性好
  3. 数据驱动,上限高
  4. 可移植性好

深度学习的缺点:

  1. 计算量大,便携性差
  2. 硬件需求高
  3. 模型设计复杂
  4. 没有”人性”,容易存在偏见

深度学习的4种典型算法:

  1. 卷积神经网络 – CNN
  2. 循环神经网络 – RNN
  3. 生成对抗网络 – GANs
  4. 深度强化学习 – RL

当人工智能遇上5G

作为一个曾经的通信人,更好奇在中国5G与人工智能结合时会发生什么?

今年6月,国家工信部发放了4家5G牌照,中国成为继韩国、美国、瑞士、英国之后,第五个宣布5G商用的国家,跻身5G第一梯队!

这波操作超出了很多人的预期,连高通CEO史蒂夫·莫伦科普夫都感叹:“中国的5G部署非常惊人,以往的新科技浪潮,都是由美日韩这些国家引领,中国会晚个5年甚至10年……但5G时代,中国第一年就跟上了步伐推出。”

根据华为发布的消息,5G产业十大应用场景包含了:云VR/AR、智慧城市、智慧能源、无线家庭娱乐、无线医疗、联网无人机、智能制造、社交网络、车联网、个人AI辅助。

华为发布的5G产业十大应用场景

明知故问 | 当人工智能遇到5G,哪些行业会迎来新变化?

阅读更多

人脸识别用到的关键技术

当人脸识别技术走进我们的生活,我们对人脸识别的关键技术似乎却并不了解。基于上人脸识别的主要技术包括但不限于(不同的技术都有各大自领域开源及专业的论文支撑):

人脸检测(Face Detection)

“人脸检测(Face Detection)”的作用就是出图像中人脸所在的位置。

人脸检测算法的原理简单来说是一个“扫描”加“识别”的过程。以一张照片为例,它会首先扫描一下整个照片,再识别这张照片一个个区域里面有没有人脸。因此人脸检测算法的计算速度会跟图像尺寸大小以及图像内容相关。在实际计算时,可以通过设置“输入图像尺寸”、或“最小脸尺寸限制”、“人脸数量上限”的方式来加速算法。

人脸配准(Face Alignment)

“人脸配准(Face Alignment)”所实现的目的是定位出人脸上五官关键点坐标。也就是找到眉毛、眼睛、鼻子、耳朵、嘴巴的位置。

再基于人脸检测的坐标框,按某种事先设定规则将人脸区域抠取出来,缩放到固定尺寸,然后进行关键点位置的计算。另外,相对于人脸检测,或者是后面将提到的人脸特征提取的过程,人脸配准算法的计算耗时都要少很多。

人脸识别的关键技术你get了吗?

人脸属性识别(Face Attribute)

“人脸属性识别(Face Attribute)”是识别出人脸的性别、年龄、姿态、表情等属性值的一项技术。这在有些相机APP中有所应用,可以自动识别摄像头视野中人物的性别、年龄等特征并标注出来。

阅读更多

人工智能行业及应用的趋势

在2018年,我们都经历了基于人工智能和机器学习的工具,平台和应用程序的迅速兴起。这些技术工具不仅改变了互联网和软件行业,而且还对包括制造业,健康,农业和汽车在内的各种垂直行业产生了巨大影响。

AI时代

AI相关和ML技术将在2019年和未来几年继续增长。 IBM,Facebook和Google等组织正在投入大量资金和时间来开发和研究人工智能技术,以便为用户带来好处。

我们大多数人都想知道人工智能将在2019年带来哪些转变。从Gmail电子邮件响应提示到转录语音邮件,自动预约电话,Alexa用于智能家居和自驾车在路上,我们在2018年目睹了很多。但是问题是我们将在2019年和2020年经历哪些变化..

我们将讨论一些值得关注的人工智能趋势。以下是2019年值得关注的人工智能趋势:

阅读更多

给新手推荐的十篇最佳数据科学文章

作为数据科学的初学者,一些好的文章能够快速带我们入门这一充满了未知和挑战的领域。近日,google 决策智库的主管 Cassie Kozyrkov 整理了十篇给学生们推荐的最好的文章。下面这些文章几乎都来自于相同的博客。让我们来看看是哪些文章吧~

Google 科学家最新整理,给新手推荐的十篇最佳数据科学文章

#1 理解数据

文章地址:https://towardsdatascience.com/what-is-data-8f94ae3a56b4

如果你从网上购买数据集开始你的学习旅程,你就有可能忘记它们从何而来。

Google 科学家最新整理,给新手推荐的十篇最佳数据科学文章

上面这张照片就是数据,它被存储为信息,你的设备用这些数据来显示漂亮的颜色。

我们有无限的选择去关注和记住什么。这是我看食物时看到的东西:

阅读更多

几点人脸识别、智能聊天和视频下载的Python库

这里介绍几个非常有趣的Python模块,涉及人脸识别、智能聊天和视频下载,感兴趣的朋友可以尝试一下,非常简单:

人脸识别

这里主要用到dlib,face recognition model,face recognition这3个模块,自带有训练好的人脸识别模型,可以快速识别人脸并标注,下面我简单介绍一下实现过程:

1.首先,安装dlib,face recognition model,face recognition这3个模块,这个直接在cmd窗口输入安装命令“pip install dlib face_recognition_models face_recognition”就行,如下,我的环境已经安装:

2.安装完成后,我们就可以直接编码来实现人脸识别了,测试代码如下,基本思路先读取人脸图片,然后加载模型定位人脸,最后再标注出来,这里用到opencv模块进行图片显示,如果没安装的话,输入命令“pip install opencv-python”就行:

点击运行程序,截图如下,已经成功标注出人脸,识别准确率还是非常高的,唯一的缺点就是图片颜色有些失真:

智能聊天

这里主要用到itchat这个模块,可以自动获取和发送微信消息,借助于免费的图灵机器人,可以很轻松的实现智能聊天的功能,下面我简单介绍一下实现过程:

1.首先,安装itchat模块,这个也直接输入安装命令“pip install itchat”就行,如下,我的环境已经正确安装:

2.接着需要注册图灵机器人,获取API接口,实现自动匹配消息的功能,这个直接在官网注册就行,地址http://www.tuling123.com/,成功登陆后,在主界面点击“创建机器人”按钮,勾选如下信息:

机器人创建成功后,就会在管理页面看到刚才创建的机器人,点击进去,这里我们需要记住这个apikey值,后面程序就是借助这个key值接入机器人:

3.最后就是编程实现智能聊天程序,测试代码如下,基本思想先获取好友的发来的微信消息,然后传递给图灵机器人,匹配到回复消息,最后再发送给好友:

运行程序,扫码登录,任意向一个微信好友发送消息,只要好友回复消息,机器人便会自动聊天,非常智能,如下,这里你也可以注册语音消息和图片消息,更有趣:

下载视频

这里主要用到youtube-dl这个模块,可以免费下载B站、优酷等网站视频,下面我简单介绍一下这个模块的安装和使用:

1.首先,安装youtube-dl模块,这个也直接在cmd窗口输入命令“pip install youtube-dl”就行,如下:

2.安装完成后,这里会自动将youtube-dl命令添加到环境变量中,接着我们就可以使用youtube-dl命令下载视频了,基本使用方式“youtube-dl 视频地址”,如下,这里可以直接下载B站视频:

3.当然,也支持批量下载的功能,将所有视频地址存放到一个txt文件中,然后用youtube-dl命令读取这个文件,实现批量下载,效果如下:

至此,我们就介绍完了这几个非常有趣的Python模块。总的来说,整个过程不难,只要你有一定的Python基础,熟悉一下上面的代码,很快就能掌握的,当然,还有许多其他有趣的模块,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

3行Python代码5秒抠图

曾几何时,「抠图」是一个难度系数想当高的活儿,但今天要介绍的这款神工具,只要 3 行代码 5 秒钟就可以完成高精度抠图,甚至都不用会代码,点两下鼠标就完成了。

感受下这款抠图工具抠地有多精细:

3 行 Python 代码 5 秒抠图的 AI 神器,根本无需 PS
3 行 Python 代码 5 秒抠图的 AI 神器,根本无需 PS
3 行 Python 代码 5 秒抠图的 AI 神器,根本无需 PS
3 行 Python 代码 5 秒抠图的 AI 神器,根本无需 PS
3 行 Python 代码 5 秒抠图的 AI 神器,根本无需 PS

是不是很赞?什么 PS 、PPT 修图都 low 爆了,你软件还没打开,我这边都修完了。

这款工具叫:Remove.bg 。基于 Python、Ruby 和深度学习技术开发,通过强大的 AI 人工智能算法实现自动识别出前景主体与背景图,分分钟秒秒钟完成抠图。这样下去PS 设计师都快要下岗了。

怎么使用这款抠图工具呢?有多种简单方式。

首先是 Python 实现,很简单。

在网站上注册获取 API 后(不想那么麻烦可以用我的),一行代码安装抠图库:

pip install removebg

接下来只需要三行代码就可以完成一张抠图:

from removebg import RemoveBg
rmbg = RemoveBg("WPZ2Q4fraseKfAN9PPxxxxxx", "error.log") # 引号内是你获取的API
rmbg.remove_background_from_img_file("C:/Users/sony/Desktop/1.jpg") #图片地址

不仅能抠一张还可以批量抠图(把图片放到一个文件夹就可以了):

from removebg import RemoveBg
import os
rmbg = RemoveBg("WPZ2Q4fraseKfAN9PPxxxxxx", "error.log")
path = '%s/picture'%os.getcwd() #图片放到程序的同级文件夹 picture 里面
for pic in os.listdir(path):
rmbg.remove_background_from_img_file("%s\%s"%(path,pic))

是不是很爽?

3 行 Python 代码 5 秒抠图的 AI 神器,根本无需 PS

默认生成的图片格式尺寸是标准的,每月最多免费处理 50 张照片。如果想生成高清甚至 4K 或者处理更多图片需要付费。

GitHub 库地址:https://github.com/brilam/remove-bg

除了代码还可以到官网在线抠图,只需要上传照片即可,不限图片处理次数:

3 行 Python 代码 5 秒抠图的 AI 神器,根本无需 PS

扣完图可以马上换颜色或者背景:

3 行 Python 代码 5 秒抠图的 AI 神器,根本无需 PS

除了在线版还可以下载软件到本地使用,支持 Windows / Mac / Linux 三平台

抠图还有另外一个用途就是抠证件照换背景色了,不会 PS 又不想花钱重照,使用它很快能搞定:

3 行 Python 代码 5 秒抠图的 AI 神器,根本无需 PS