开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
博客专区 - 开源中国社区

精彩阅读

  • 最新推荐

  • 今日热门

  • 本周热门

  • 每日一博

  • 最新文章

Google TensorFlow培训课程免费登陆GAITC2018

最受欢迎的机器学习软件库,TensorFlow培训课程,即将免费登陆2018GAITC~!
OSC_Lucy 发布于 1天前 阅读 118

CNN进化史

卷积神经网络(CNN)近年来取得了长足的发展,是深度学习中的一颗耀眼明珠。CNN不仅能用来对图像进行分类,还在图像分割(目标检测)任务中有着广泛的应用。CNN已经成为了图像分类的黄金标准,一直在不断的发展和改进。 刘昕博士总结了CNN的演化历史,如下图所示:   CNN的起点是神经认知机模型,此时已经出现了卷积结构,经典的LeNet诞生于1998年。然而之后CNN的锋芒开始被SVM等模型盖过。随着ReLU、dropout的提出,以及GPU和大数据带来的历史机遇,CNN在2012年迎来了历史突破:AlexNet。随后几年,CNN呈现爆发式发展,各种CNN模型涌现出来。   CNN的主要演进方向如下: 1、网络结构加深 2、加强卷积功能 3、从分类到检测 4、新增功能模块 下图是CNN几个经典模型(AlexNet、VGG、NIN、GoogLeNet、ResNet)的对比图,可见网络层次越来越深、结构越来越复杂,当然模型效果也是越来越好:   本博客通过一系列的“大话深度学习”文章,全面详细地介绍了CNN进化史各个阶段的里程碑成果。 1、小白讲卷积:大话卷积神经网络(CNN)   2、卷积初尝试:大话CNN经典模型 LeNet   3、历史の突破:大话CNN经典模型 AlexNet   4、网络再加深:大话CNN经典模型VGGNet   5、增强卷...
雪饼 发布于 3天前 阅读 155

师傅来了!获得人工智能岗位百万年薪从这里起步

这个秘密我只告诉你,现在正是进入人工智能行业的最好时机!不信?BOSS直聘发布的《2017春季互联网人才趋势报告》显示,当前大数据和人工智能相关岗位人才供给严重不足,以搜索算法类工程师为例,其缺口比例超过50%,仅深度学习岗位的人才缺口就高达为33.8%。 供不应求的结果是什么?当然是薪金待遇水涨船高,谷歌中国、微软等国际巨头的人工智能相关岗位年薪超过50万元,有的算法工程师甚至达到百万元以上,据说还有企业愿意以超过30万元的年薪招聘相关专业的应届毕业生。 机不可失啊!但是人工智能听起来就是一个“高大上”的行业,数据、算法、写代码,进入的门槛一定很高,没有任何基础的人即使有兴趣进入估计也很难摸到门吧?可能大多数人都会这么认为。不过,如果我告诉你现在有机会“零门槛”入门,你会不会心动? 我曾经参加过一次“零门槛”学油画的活动。以前没有任何油画基础,两个小时,在专业老师的指导下,就临摹出一幅著名画家莫奈的名作《日出·印象》,而且有模有样,从此对油画等艺术形式产生了浓厚兴趣。人工智能也能如此亲民吗? 现在,你就有一次“零门槛”近距离深入接触人工智能的机会。5月19日-5月20日举行的全球人工智能技术大会(GAITC)期间,大...
OSC_Lucy 发布于 1周前 阅读 442

73款阿里巴巴开源软件详解!

详细解读阿里巴巴开源技术,包括框架、组件、引擎、数据库/存储、平台/系统、解决方案、工具、中间件、Web Sever、设计等十大类73款!
阿里巴巴

区块链 -- 以太坊的36个概念

以太坊的本质就是一个基于交易的状态机(transaction-based state machine)。
只道寻常 发布于 2周前 阅读 464 评论 1

Machine Learning:如何选择机器学习算法?

- 识别和应用机器学习算法解决问题 - 机器学习算法备忘单 - 何时使用特定算法? 线性回归 vs 逻辑回归,Linear SVM vs kernel SVM,Trees - 神经网络和深度学习:k-means/k-modes,GMM,Hierarchical clustering,PCA,SVD,LDA
RiboseYim 发布于 3周前 阅读 220

2 0 1 8 全球人工智能技术大会--邀请函

2018 GLOBAL ARTIFICIAL INTELLIGENCE TECHNOLOGY CONFERENCE
OSC_Lucy 发布于 3周前 阅读 412

学习索引结构的一些案例——Jeff Dean在SystemML会议上发布的论文

本文是Google的Fellow,Jeff Dean,把机器学习应用到系统设计的论文,原文发布在SystemML会议上,我做了翻译。
难易 发布于 3周前 阅读 361 评论 3

大话目标检测经典模型(RCNN、Fast RCNN、Faster RCNN)

目标检测是深度学习的一个重要应用,就是在图片中要将里面的物体识别出来,并标出物体的位置,一般需要经过两个步骤: 1、分类,识别物体是什么   2、定位,找出物体在哪里   除了对单个物体进行检测,还要能支持对多个物体进行检测,如下图所示:   这个问题并不是那么容易解决,由于物体的尺寸变化范围很大、摆放角度多变、姿态不定,而且物体有很多种类别,可以在图片中出现多种物体、出现在任意位置。因此,目标检测是一个比较复杂的问题。 最直接的方法便是构建一个深度神经网络,将图像和标注位置作为样本输入,然后经过CNN网络,再通过一个分类头(Classification head)的全连接层识别是什么物体,通过一个回归头(Regression head)的全连接层回归计算位置,如下图所示:   但“回归”不好做,计算量太大、收敛时间太长,应该想办法转为“分类”,这时容易想到套框的思路,即取不同大小的“框”,让框出现在不同的位置,计算出这个框的得分,然后取得分最高的那个框作为预测结果,如下图所示:   根据上面比较出来的得分高低,选择了右下角的黑框作为目标位置的预测。 但问题是:框要取多大才合适?太小,物体识别不完整;太大,识别结果多了很多其它信息。那...
雪饼 发布于 3周前 阅读 270 点赞 1

机器学习-决策树

积跬步以致千里,积怠惰以致深渊 注:本篇文章在整理时主要参考了 周志华 的《机器学习》。 主要内容 决策树是机器学习中一类常见算法,其核心思想是通过构建一个树状模型来对新样本进行预测。树的叶结点是决策结果,而所有非叶结点对应于一个个决策过程。 基本流程 一般的,一颗决策树包含一个根结点、若干内部结点和若干个叶结点;叶结点对应于决策结果,其它每个内部结点(包括根结点)则对应一个属性测试。决策树根据内部结点的属性测试结果将该结点所包含的样本集按照属性测试的结果被划分到不同的子结点中。这是一种简单且直观的“分而治之”(divide-and-conquer)策略。 决策树学习的目的是为了产生一颗泛化能力强的决策树。 决策树 上图是一棵结构简单的决策树,用于预测贷款用户是否具有偿还贷款的能力。贷款用户主要具备三个属性:是否拥有房产,是否结婚,平均月收入。每一个内部节点都表示一个属性条件判断,叶子节点表示贷款用户是否具有偿还能力。例如:用户甲没有房产,没有结婚,月收入5K。通过决策树的根节点判断,用户甲符合右边分支 (拥有房产为“否”);再判断是否结婚,用户甲符合左边分支(是否结婚为否);然后判断月收入是否大于 4k,用户甲符合左边...
SiriusShum 发布于 3周前 阅读 336

2018GAITC丨DLI 五大优势助您成功踏上人工智能之路

作为新一轮科技革命的重要代表,人工智能已经成为当下科技领域最前沿的课题。
OSC_Lucy 发布于 1个月前 阅读 153

整合DL4J训练模型与Web工程

SpringMVC、deeplearning4j
冷血狂魔 发布于 1个月前 阅读 288 评论 5

专题|智能制造的主线——智能生产(工厂/车间数字化)

智能制造专题第二期:智能生产——智能制造的主线(工厂 车间数字化),从智能工厂的建设以及重要环节了解智能生产过程。
OSC_Lucy 发布于 1个月前 阅读 172

有趣的卷积神经网络

deeplearning4j、卷积神经网络
冷血狂魔 发布于 1个月前 阅读 632 评论 4 点赞 4

【TensorFlow系列】【三】冻结模型文件并做inference

本文基于mnist与lenet,讲述如下两个问题: 1.如何将训练好的网络模型冻结,形成net.pb文件? 2.如何将net.pb文件部署到TensorFlow中做inference? pb文件保存的步骤 1.需要给input与最终的预测值取个名字,便于部署时输入数据并输出数据 2.利用graph_util.convert_variables_to_constants将网络中模型参数变量转换为常量 3.利用tf.gfile.FastGFile将模型参数序列化后的数据写入文件。 pb文件部署步骤: 1.利用tf.gfile.FastGFile读取pb文件,并将文件中存储的graph导入到TensorFlow中。 2.从graph中获取input与output变量,传入图片数据,做inference   【基于mnist与lenet,保存pb文件】 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data from tensorflow.python.framework import graph_util mnist = input_data.read_data_sets(train_dir=r"E:\mnist_data",one_hot=True) #定义输入数据mnist图片大小28*28*1=784,None表示batch_size x = tf.placeholder(dtype=tf.float32,shape=[None,28*28],name="input") #定义标签数据,mnist共10类 y_ = tf.placeholder(dtype=tf.float32,shape=[None,10],name="y_") #将数据调整为二维数据...
muqiusangyang 发布于 1个月前 阅读 194

大话CNN经典模型:GoogLeNet(从Inception v1到v4的演进)

2014年,GoogLeNet和VGG是当年ImageNet挑战赛(ILSVRC14)的双雄,GoogLeNet获得了第一名、VGG获得了第二名,这两类模型结构的共同特点是层次更深了。VGG继承了LeNet以及AlexNet的一些框架结构(详见  大话CNN经典模型:VGGNet),而GoogLeNet则做了更加大胆的网络结构尝试,虽然深度只有22层,但大小却比AlexNet和VGG小很多,GoogleNet参数为500万个,AlexNet参数个数是GoogleNet的12倍,VGGNet参数又是AlexNet的3倍,因此在内存或计算资源有限时,GoogleNet是比较好的选择;从模型结果来看,GoogLeNet的性能却更加优越。 小知识:GoogLeNet是谷歌(Google)研究出来的深度网络结构,为什么不叫“GoogleNet”,而叫“GoogLeNet”,据说是为了向“LeNet”致敬,因此取名为“GoogLeNet” 那么,GoogLeNet是如何进一步提升性能的呢? 一般来说,提升网络性能最直接的办法就是增加网络深度和宽度,深度指网络层次数量、宽度指神经元数量。但这种方式存在以下问题: (1)参数太多,如果训练数据集有限,很容易产生过拟合; (2)网络越大、参数越多,计算复杂度越大,难以应用; (3)网络越深,容易出现梯度弥散问题(梯度越往后穿越容易消失),难以优化模型。 所以,有人调侃...
雪饼 发布于 1个月前 阅读 251

【TensorFlow系列】【二】如何从ckpt文件中拷贝权值到新的变量中

在基于TensorFlow做fine-tuning或者迁移学习时,面临的一个问题就是如何从已有的模型中,将其模型参数拷贝到自定义的新模型中。 本文讲述如下两个问题: 1、如何从ckpt模型文件中获取权值的名字? 2、如何将权值拷贝到新的变量中?   具体见代码注释: import tensorflow as tf #从ckpt文件中获取variable变量的名字 def get_trainable_variables_name_from_ckpt(meta_graph_path,ckpt_path): #定义一个新的graph graph = tf.Graph() #将其设置为默认图: with graph.as_default(): with tf.Session() as session: #加载计算图 saver = tf.train.import_meta_graph(meta_graph_path) #加载模型到session中关联的graph中,即将模型文件中的计算图加载到这里的graph中 saver.restore(session,ckpt_path) v_names = [] #获取session所关联的图中可被训练的variable #使用tf.trainable_variables()获取variable时,只有在该函数前面定义的variable才会被获取到 #在其后面定义不会被获取到, for v in tf.trainable_variables(): ...
muqiusangyang 发布于 1个月前 阅读 134

【TensorFlow系列】【一】利用TFRecordDataset读取图片数据

本文转自个人微信公众号,主要讲述如下三个问题: 如何将原始图片数据与label转化为TFRecords格式的数据? 如何利用TFRecordDataset读取TFRecords格式的数据? 如何从TFRecordDataset中获取数据进行NN训练?   整体思路为: jpg---->train.tfrecords----->dataset------>NN 【一】TFReocrd综述 【二】生成TFRecords文件 def image2tfrecord(image_list,label_list): len2 = len(image_list) print("len=",len2) writer = tf.python_io.TFRecordWriter("train.tfrecords") for i in range(len2): #读取图片并解码        image = Image.open(image_list[i]) image = image.resize((28,28)) #转化为原始字节        image_bytes = image.tobytes() #创建字典        features = {} #用bytes来存储image        features['image'] = tf.train.Feature(bytes_list=tf.train.BytesList(value=[image_bytes])) # 用int64来表达label        features['label'] = tf.train.Feature(int64_list=tf.train.Int64List(value=[int(label_list[i])])) #将所有的feature合成feature...
muqiusangyang 发布于 1个月前 阅读 381

如何将人工智能的“炒作热”真正变成“落地热”?

在今年的《政府工作报告》中,人工智能作为关键词又一次被重点提及。“实施大数据发展行动,加强新一代人工智能研发应用,在医疗、养老、教育、文化、体育等多领域推进‘互联网+’。”人工智能与大数据、“互联网+”等一起成为改造传统产业、促进智能产业腾飞的基石。
OSC_Lucy 发布于 1个月前 阅读 485

大话CNN经典模型:VGGNet

本文主要介绍卷积神经网络(CNN)的经典模型VGGNet的特点和网络结构,包括VGG16、VGG19等
雪饼 发布于 1个月前 阅读 237

大话CNN经典模型:AlexNet

—— 原文发布于本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),欢迎关注。   2012年,Alex Krizhevsky、Ilya Sutskever在多伦多大学Geoff Hinton的实验室设计出了一个深层的卷积神经网络AlexNet,夺得了2012年ImageNet LSVRC的冠军,且准确率远超第二名(top5错误率为15.3%,第二名为26.2%),引起了很大的轰动。AlexNet可以说是具有历史意义的一个网络结构,在此之前,深度学习已经沉寂了很长时间,自2012年AlexNet诞生之后,后面的ImageNet冠军都是用卷积神经网络(CNN)来做的,并且层次越来越深,使得CNN成为在图像识别分类的核心算法模型,带来了深度学习的大爆发。 在本博客之前的文章中已经介绍过了卷积神经网络(CNN)的技术原理(大话卷积神经网络),也回顾过卷积神经网络(CNN)的三个重要特点(大话CNN经典模型:LeNet),有兴趣的同学可以打开链接重新回顾一下,在此就不再重复CNN基础知识的介绍了。下面将先介绍AlexNet的特点,然后再逐层分解解析AlexNet网络结构。 一、AlexNet模型的特点 AlexNet之所以能够成功,跟这个模型设计的特点有关,主要有: 使用了非线性激活函数:ReLU 防止过拟合的方法:Dropout,数据扩充(Data augmentation) ...
雪饼 发布于 1个月前 阅读 150 评论 1 点赞 1

AI领袖、应用指南、窥见风口……你还能从这场全球峰会中获得更多

时代的潮流浩浩荡荡,上升到国家发展战略与基础设施的人工智能,正以不可思议的速度占据着我们生活的头条。如果说2017年宣告了人工智能接棒时代脉搏,那么2018年的人工智能将作为颠覆性变革力量迭代世界机器的运作。
GAITC

Python实例:向量基本操作

#coding:utf-8 ''' 向量操作 ''' from functools import reduce def vector_add(v,w): return[v_i + w_i for v_i,w_i in zip(v,w)] def vector_subtract(v,w): return[v_i - w_i for v_i,w_i in zip(v,w)] def vector_sum(vectors): result = vectors[0] for vector in vectors[1:]: result = vector_add(result,vector) return result def vector_sum2(vectors): return reduce(vector_add,vectors) def scalar_multiply(c, v): return [c * v_i for v_i in v] def vector_mean(vectors): n = len(vectors) return scalar_multiply(1/n,vector_sum(vectors)) def dot(v,w): return sum(v_i * w_i for v_i,w_i in zip(v,w)) def sum_of_squares(v): return dot(v,v) # 计算向量大小 import math def magnitude(v): return math.sqrt(sum_of_squares(v)) # 计算两个向量的距离 def squared_distance(v,w): return sum_of_squares(vector_subtract(v,w)) def distance(v,w): return math.sqrt(squared_distance(v,w)) v = [1,2,3,4,5,6,7,8,9] w = [10,11,12,13,14,15,16,17,18] print('vec...
IOTService 发布于 2周前 阅读 30

python 决策树 math库 c45算法

每周一搏,提升自我。 这段时间对python的应用,对python的理解越来越深。摸索中修改网上实例代码,有了自己的理解。 c45是ID3算法的升级版,比ID3高级。个人建议,用CART算法,感觉比C45好。 下面是c45代码,其中显示决策树结构的代码,下篇博文发布。 #!/usr/bin/python #coding:utf-8 import operator from math import log import time import os,sys import string #已文件为数据源 def createDataSet(trainDataFile): print trainDataFile dataSet=[] try: fin=open(trainDataFile) for line in fin: line=line.strip('\n') #清除行皆为换行符 cols=line.split(',') #逗号分割行信息 row =[cols[1],cols[2],cols[3],cols[4],cols[5],cols[6],cols[7],cols[8],cols[9],cols[10],cols[0]] dataSet.append(row) #print row except: print 'Usage xxx.py trainDataFilePath' sys.exit() labels=['cip1', 'cip2', 'cip3', 'cip4', 'sip1', 'sip2', 'sip3', 'sip4', 'sport', 'domain'] print 'dataSetlen',len(dataSet) return dataSet,labels #c4.5 信息熵算法 def calcShannonEntOfFeature(dataSet,feat): numEntries=len(dataSet...
悲喜世界 发布于 3个月前 阅读 69

人工智能与python,45讲入门(包括资料)

资源地址:https://wanmen.jinshuju.com/f/dVxsOT    
xiaoge2016 发布于 2个月前 阅读 631

TensorFlow实现卷积神经网络

1.卷积神经网络简介  卷积神经网络(convolutional neural network, CNN),最早是19世纪60年代,生物学家对猫视觉皮层研究发现:每个视觉神经元只会处理一小块区域是视觉图像,即感受野。后来到了80年代,日本科学家提出了神经认知机(Neocognitron)的概念,也可以算作是卷积神经网络最初的实现原型,在CS231n的课上说过,卷积神经网络不是一夜产生的,从这个发展过程中我们就可以看出,确实是这样的。卷积神经网络的要点就是局部连接(Local Connection)、权值共享(Weight sharing)和池化层(Pooling)中的降采样(Down-Sampling)。  2.简单神经网络的搭建  这里就使用了两个卷积层和一个全连接层,目的主要是说明下在tensorflow中怎么定义卷积层和全连接层。 #第一步,很简单,导入MNIST数据集,创建默认的Interactive Session from tensorflow.examples.tutorials.mnist import input_data import tensorflow as tf mnist = input_data.read_data_sets("MNIST_data", one_hot = True) sess = tf.InteractiveSession() #定义权重和偏差的初始化函数,这样省得后来一遍遍定义,直接调用初始化函数就可以了。 def weight_variable(shape): initial = tf.t...
gulf 发布于 1个月前 阅读 52

基于AliOS Things玩转智能语音

摘要: 随着AI技术的进步,智能语音开始将人机交互从手+眼睛的传统模式中解放出来。带给人们更便捷、更风趣、更有人情味的体验,让被操作对象变得不再只是一个死板的工具,而更像是一个有生命的助理。“帮我打开空调”,“明天上班需要带伞吗”,“快递到哪了”…在万物互联的时代,你的所有需求只需要一句话便能实现。 点此查看原文:http://click.aliyun.com/m/43694/ 随着AI技术的进步,智能语音开始将人机交互从手+眼睛的传统模式中解放出来。带给人们更便捷、更风趣、更有人情味的体验,让被操作对象变得不再只是一个死板的工具,而更像是一个有生命的助理。“帮我打开空调”,“明天上班需要带伞吗”,“帮我冲100块钱话费”…在万物互联的时代,你的所有需求只需要一句话便能实现。 AliOS Things 集成的Link Voice SDK即可实现智能语音交互。 关于阿里智能语音服务 阿里智能语音服务为设备提供语音交互能力、丰富的音乐内容、智能家居控制等,并可进行专有设备技能定制(如:语音操控跑步机、按摩椅等设备)。包括: 通用服务:搜歌、搜栏目、搜电台、问天气、百科、四则运算等; 阿里服务:控制智能家居、充值手机费、天猫超市购物、查询电费等 (需接入账号体系,...
阿里云云栖社区 发布于 1个月前 阅读 18

Micropython TurnipBit 旋转按钮控制直流电机转速(儿时记忆中的吊扇)

不知道大家是否还记得小时候家里的吊扇,一共有五个档位,通过旋转按钮控制风扇的档位,那我们今天呢就来模拟下这个系统,利用旋转按钮来控制直流电机的转速。 所需原器件:  TurnipBit一块  TurnioBit扩展板一块  杜邦线若干  usb数据线一条  旋转按钮模块模块一个  直流电机一个  L298N电机驱动模块一个 实验原理: L298N是一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46v,输出电流大,瞬间峰值电流可达3A,持续工作电流为2A,额定功率25w。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电机和步进电机,继电器线圈等感性负载。采用标准逻辑电平信号控制,具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作,可外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可驱动一台两相步进电机或四相步进电机,也可驱动两台直流电机。         6.4.接线方法:       TurnipBit扩展板 按键模块 3V3 VCC P5 OUT GND GND     Turnip扩展板 L298N电机驱动模块 5V +12V GND GND 3V3 +5V P0 IN3 G...
bodasisiter 发布于 1个月前 阅读 10

深度学习-caffe之-ssd网络数据层

c++,caffe
开飞色 发布于 1个月前 阅读 40

【TensorFlow系列】【六】多模型部署

TensorFlow的多模型部署,关键在于每个模型拥有一个独立的graph与session,各模型间互不干扰即可。最终直接依据各模型的结果,综合起来做决定。   import tensorflow as tf import numpy as np class Model: def __init__(self,meta_path,ckpt_path,out_tensor_name,input_tensor_name): self.graph = tf.Graph() #恢复模型 with self.graph.as_default(): self.saver = tf.train.import_meta_graph(meta_path) self.session = tf.Session(graph=self.graph) with self.session.as_default(): with self.graph.as_default(): self.saver.restore(self.session,tf.train.latest_checkpoint(ckpt_path)) #获取输入输出tensor self.out = self.graph.get_tensor_by_name(name=out_tensor_name) self.input = self.graph.get_tensor_by_name(name=input_tensor_name) #做预测 def predict(self,image): result = self.session.run(self.out,feed_dict={self.input:image}) index = np.argmax(result,1) ...
muqiusangyang 发布于 3周前 阅读 18

使用opennlp进行词性标注

## 序 本文主要研究下如何使用opennlp进行词性标注 ## POS Tagging 词性(Part of Speech, POS),标注是对一个词汇或一段文字进行描述的过程。这个描述被称为一个标注。 目前流行的中文词性标签有两大类:北大词性标注集和宾州词性标注集。现代汉语的词可以分为两类12种词性:一类是实词:名词、动词、形容词、数词、量词和代词;另一类是虚词:副词、介词、连词、助词、叹词和拟声词。 这块的技术大多数使用HMM(隐马尔科夫模型)+ Viterbi算法,最大熵算法(Maximum Entropy)。 OpenNLP里头可以使用POSTaggerME类来执行基本的标注,以及ChunkerME类来执行分块。 ## POSTaggerME ``` public static POSModel trainPOSModel(ModelType type) throws IOException { TrainingParameters params = new TrainingParameters(); params.put(TrainingParameters.ALGORITHM_PARAM, type.toString()); params.put(TrainingParameters.ITERATIONS_PARAM, 100); params.put(TrainingParameters.CUTOFF_PARAM, 5); return POSTaggerME.train("eng", createSampleStream(), params, new POSTaggerFactory()); } private static ObjectStream createSampleStream() throws IOException...
go4it 发布于 2周前 阅读 15

学习笔记CB011:lucene搜索引擎库、IKAnalyzer中文切词工具、检索服务、查询索引、导流、word2vec

影视剧字幕聊天语料库特点,把影视剧说话内容一句一句以回车换行罗列三千多万条中国话,相邻第二句很可能是第一句最好回答。一个问句有很多种回答,可以根据相关程度以及历史聊天记录所有回答排序,找到最优,是一个搜索排序过程。 lucene+ik。lucene开源免费搜索引擎库,java语言开发。ik IKAnalyzer,开源中文切词工具。语料库切词建索引,文本搜索做文本相关性检索,把下一句取出作答案候选集,答案排序,问题分析。 建索引。eclipse创建maven工程,maven自动生成pom.xml文件,配置包依赖信息,dependencies标签中添加依赖: org.apache.lucene lucene-core 4.10.4 org.apache.lucene lucene-queryparser 4.10.4 org.apache.lucene lucene-analyzers-common 4.10.4 io.netty netty-all 5.0.0.Alpha2 com.alibaba fastjson 1.1.41 project标签增加配置,依赖jar包自动拷贝lib目录: org.apache.maven.plugins maven-dependency-plugin copy-dependencies prepare-package copy-dependencies ${project.build.directory}/lib false false true org.apache.maven.plugins maven-jar-plugin true lib/ theMainClass https://storage.googleapis.com/google-code-archive-dow...
利炳根 发布于 3小时前 阅读 1

caffe学习笔记--TransformationParameter

TransformationParameter中各参数含义解析说明
温子寒 发布于 3个月前 阅读 50

PyCUDA学习:gpuarray与kernel的抽象原型

# -*-coding:utf-8 -*- import pycuda.gpuarray as gpuarray import pycuda.driver as cuda import pycuda.autoinit import numpy a = numpy.asarray([ [1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16] ]) # 将数据复制到设备 a_gpu = gpuarray.to_gpu(a.astype(numpy.float32)) # 执行kernel并将数据复制到主机 a_doubled = (2*a_gpu).get() print (a_doubled) print (a_gpu)  
IOTService 发布于 2个月前 阅读 10

TF-IDF及其算法

摘要: TF-IDF 词频 逆向文件频率 概念      TF-IDF(term frequency–inverse document frequency)是一种用于资讯检索与资讯探勘的常用加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF-IDF加权的各种形式常被搜寻引擎应用,作为文件与用户查询之间相关程度的度量或评级。除了TF-IDF以外,因特网上的搜寻引擎还会使用基于连结分析的评级方法,以确定文件在搜寻结果中出现的顺序。    原理       在一份给定的文件里,词频 (term frequency, TF) 指的是某一个给定的词语在该文件中出现的次数。这个数字通常会被归一化(分子一般小于分母 区别于IDF),以防止它偏向长的文件。(同一个词语在长文件里可能会比短文件有更高的词频,而不管该词语重要与否。)   逆向文件频率 (inverse document frequency, IDF) 是一个词语普遍重要性的度量。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。   某一特定文件内的高词语频率,以及该词语在整个文件集合中...
xiaomin0322 发布于 2个月前 阅读 6

CNN进化史

卷积神经网络(CNN)近年来取得了长足的发展,是深度学习中的一颗耀眼明珠。CNN不仅能用来对图像进行分类,还在图像分割(目标检测)任务中有着广泛的应用。CNN已经成为了图像分类的黄金标准,一直在不断的发展和改进。 刘昕博士总结了CNN的演化历史,如下图所示:   CNN的起点是神经认知机模型,此时已经出现了卷积结构,经典的LeNet诞生于1998年。然而之后CNN的锋芒开始被SVM等模型盖过。随着ReLU、dropout的提出,以及GPU和大数据带来的历史机遇,CNN在2012年迎来了历史突破:AlexNet。随后几年,CNN呈现爆发式发展,各种CNN模型涌现出来。   CNN的主要演进方向如下: 1、网络结构加深 2、加强卷积功能 3、从分类到检测 4、新增功能模块 下图是CNN几个经典模型(AlexNet、VGG、NIN、GoogLeNet、ResNet)的对比图,可见网络层次越来越深、结构越来越复杂,当然模型效果也是越来越好:   本博客通过一系列的“大话深度学习”文章,全面详细地介绍了CNN进化史各个阶段的里程碑成果。 1、小白讲卷积:大话卷积神经网络(CNN)   2、卷积初尝试:大话CNN经典模型 LeNet   3、历史の突破:大话CNN经典模型 AlexNet   4、网络再加深:大话CNN经典模型VGGNet   5、增强卷...
雪饼 发布于 3天前 阅读 155

【重磅】Google官方推出了免费的、中文的、机器学习初级课程。

机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 因此,机器学习的入门门槛非常高,值得高兴的是,刚刚,Google官方也推出了免费的中文机器学习速成课程。 image 课程包含了: *** 25节课程** *** 15小时** *** 40多项练习** 最重要的是免费的、中文的、Google 官方出品,同时包含了很多机器学习的术语库,非常适合初学者学习。 课程网址:*https://developers.google.cn/machine-learning/crash-course/ * 最近,我也在学习【深度学习】和【机器学习】的相关课程,说实话,我已经工作了许多年了,虽然说是关于计算机常用的数据结构和基础算法还算可以,但是对于高中和大学的相关数学基础知识已经全还给老师了,开始学习真的非常吃力。 如果你和我一样,下面的分享或许对你有些帮助。 【深度学习】和【机器学习】都要求有数学基础,特别是: 线性代数、 概率统计、 微积分、 这三个知识体系和计算机基础算法有很大区别,比如说List、Map、树、图的相关算法是我们常用的编程算法,但是他们与线性代数、概率统计和...
理工男海哥 发布于 2个月前 阅读 2059

区块链 -- 以太坊的36个概念

以太坊的本质就是一个基于交易的状态机(transaction-based state machine)。
只道寻常 发布于 2周前 阅读 464 评论 1

使用Stanford CoreNLP进行中文分词

Stanford出品,先膜拜一下。。。官网地址:https://stanfordnlp.github.io/CoreNLP/index.html Stanford CoreNLP is available on Maven Central.  所以可以直接配置gradle依赖。对不同的语言通过classifier选择对应的model。其中models是其他语言models的基础,默认可以处理English,必须引入。我们需要处理中文,所以还需要:models-chinese。 然而models和models-chinese两个包很大,下载有点慢(对网速自信的童鞋可以无视“然而”)。所以我就用迅雷下载好通过本地文件引入。  // Apply the java plugin to add support for Java apply plugin: 'java' // In this section you declare where to find the dependencies of your project repositories { // Use 'jcenter' for resolving your dependencies. // You can declare any Maven/Ivy/file repository here. maven { url "http://maven.aliyun.com/nexus/content/groups/public" } jcenter() } // In this section you declare the dependencies for your production and test code dependencies { // https://mvnrepository.com/artifact/edu.stanford.nlp/stanford-corenlp compile grou...
千面人 发布于 3个月前 阅读 294

【colab入坑系列 · 一】Google drive授权及工作路径

感谢google,感谢资本主义羊毛,为我们提供了这么好的学习工具。网上文档比较少,colab使用过程中有一些坑,我记录下来方便以后查阅,说不定也能帮到遇到同样问题的童鞋 ~ ### Google drive授权 貌似每隔一段时间之后,colab给分配的环境会被自动初始化,下次进来得重新挂载google drive。我是新建了一个notebook,用来存储授权过程,每次环境被情况了只要打开这个notebook重新执行以下就行。执行下面的代码,中间会出现两次提示,要求你打开授权地址,填写drive授权码。两次的授权权限不一样,都要填写。 ```python !apt-get install -y -qq software-properties-common python-software-properties module-init-tools !add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null !apt-get update -qq 2>&1 > /dev/null !apt-get -y install -qq google-drive-ocamlfuse fuse from google.colab import auth auth.authenticate_user() from oauth2client.client import GoogleCredentials creds = GoogleCredentials.get_application_default() import getpass !google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/...
robinfly 发布于 2个月前 阅读 324

Step by Step 真正从零开始,TensorFlow详细安装入门图文教程!帮你完成那个最难的从0到1

Step by Step 真正从零开始,TensorFlow详细安装入门图文教程!帮你完成那个最难的从0到1
悦动智能 发布于 2周前 阅读 2121 评论 8 点赞 3

Machine Learning:十大机器学习算法

- 机器学习算法分类:监督学习、无监督学习、强化学习 - 基本的机器学习算法:线性回归、支持向量机(SVM)、最近邻居(KNN)、逻辑回归、决策树、k平均、随机森林、朴素贝叶斯、降维、梯度增强
RiboseYim 发布于 2个月前 阅读 2798 评论 10 点赞 6

CNN进化史

卷积神经网络(CNN)近年来取得了长足的发展,是深度学习中的一颗耀眼明珠。CNN不仅能用来对图像进行分类,还在图像分割(目标检测)任务中有着广泛的应用。CNN已经成为了图像分类的黄金标准,一直在不断的发展和改进。 刘昕博士总结了CNN的演化历史,如下图所示:   CNN的起点是神经认知机模型,此时已经出现了卷积结构,经典的LeNet诞生于1998年。然而之后CNN的锋芒开始被SVM等模型盖过。随着ReLU、dropout的提出,以及GPU和大数据带来的历史机遇,CNN在2012年迎来了历史突破:AlexNet。随后几年,CNN呈现爆发式发展,各种CNN模型涌现出来。   CNN的主要演进方向如下: 1、网络结构加深 2、加强卷积功能 3、从分类到检测 4、新增功能模块 下图是CNN几个经典模型(AlexNet、VGG、NIN、GoogLeNet、ResNet)的对比图,可见网络层次越来越深、结构越来越复杂,当然模型效果也是越来越好:   本博客通过一系列的“大话深度学习”文章,全面详细地介绍了CNN进化史各个阶段的里程碑成果。 1、小白讲卷积:大话卷积神经网络(CNN)   2、卷积初尝试:大话CNN经典模型 LeNet   3、历史の突破:大话CNN经典模型 AlexNet   4、网络再加深:大话CNN经典模型VGGNet   5、增强卷...
雪饼 发布于 3天前 阅读 155

Step by Step 真正从零开始,TensorFlow详细安装入门图文教程!帮你完成那个最难的从0到1

Step by Step 真正从零开始,TensorFlow详细安装入门图文教程!帮你完成那个最难的从0到1
悦动智能 发布于 2周前 阅读 2121 评论 8 点赞 3

73款阿里巴巴开源软件详解!

详细解读阿里巴巴开源技术,包括框架、组件、引擎、数据库/存储、平台/系统、解决方案、工具、中间件、Web Sever、设计等十大类73款!
阿里巴巴

Machine Learning:十大机器学习算法

- 机器学习算法分类:监督学习、无监督学习、强化学习 - 基本的机器学习算法:线性回归、支持向量机(SVM)、最近邻居(KNN)、逻辑回归、决策树、k平均、随机森林、朴素贝叶斯、降维、梯度增强
RiboseYim 发布于 2个月前 阅读 2798 评论 10 点赞 6

【TensorFlow系列】【一】利用TFRecordDataset读取图片数据

本文转自个人微信公众号,主要讲述如下三个问题: 如何将原始图片数据与label转化为TFRecords格式的数据? 如何利用TFRecordDataset读取TFRecords格式的数据? 如何从TFRecordDataset中获取数据进行NN训练?   整体思路为: jpg---->train.tfrecords----->dataset------>NN 【一】TFReocrd综述 【二】生成TFRecords文件 def image2tfrecord(image_list,label_list): len2 = len(image_list) print("len=",len2) writer = tf.python_io.TFRecordWriter("train.tfrecords") for i in range(len2): #读取图片并解码        image = Image.open(image_list[i]) image = image.resize((28,28)) #转化为原始字节        image_bytes = image.tobytes() #创建字典        features = {} #用bytes来存储image        features['image'] = tf.train.Feature(bytes_list=tf.train.BytesList(value=[image_bytes])) # 用int64来表达label        features['label'] = tf.train.Feature(int64_list=tf.train.Int64List(value=[int(label_list[i])])) #将所有的feature合成feature...
muqiusangyang 发布于 1个月前 阅读 381

OpenCV+Dlib实现人脸68个特征点检测

# coding:utf-8 ''' 脸部68个特征点检测 ''' import sys import dlib from skimage import io import cv2 # 加载并初始化检测器 # 模型下载地址http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2 detector = dlib.get_frontal_face_detector() predictor = dlib.shape_predictor('temp/dlib/shape_predictor_68_face_landmarks.dat') camera = cv2.VideoCapture(0) if not camera.isOpened(): print("cannot open camear") exit(0) while True: ret,frame = camera.read() if not ret: continue frame_new = cv2.cvtColor(frame,cv2.COLOR_BGR2RGB) # 检测脸部 dets = detector(frame_new, 1) print("Number of faces detected: {}".format(len(dets))) # 查找脸部位置 for i, face in enumerate(dets): print("Detection {}: Left: {} Top: {} Right: {} Bottom: {} ".format( i, face.left(), face.top(), face.right(), face.bottom())) # 绘制脸部位置 cv2.rectangle(frame, (face.left(), face.top()), (face.right(), face.bottom()), (0, 255, 0), ...
IOTService 发布于 2个月前 阅读 396

大话深度残差网络(DRN)ResNet网络原理

本文主要介绍深度残差网络的发展背景,以及讲解残差网络模型ResNet的技术原理
雪饼 发布于 2个月前 阅读 566

区块链 -- 以太坊的36个概念

以太坊的本质就是一个基于交易的状态机(transaction-based state machine)。
只道寻常 发布于 2周前 阅读 464 评论 1

使用Stanford CoreNLP进行中文分词

Stanford出品,先膜拜一下。。。官网地址:https://stanfordnlp.github.io/CoreNLP/index.html Stanford CoreNLP is available on Maven Central.  所以可以直接配置gradle依赖。对不同的语言通过classifier选择对应的model。其中models是其他语言models的基础,默认可以处理English,必须引入。我们需要处理中文,所以还需要:models-chinese。 然而models和models-chinese两个包很大,下载有点慢(对网速自信的童鞋可以无视“然而”)。所以我就用迅雷下载好通过本地文件引入。  // Apply the java plugin to add support for Java apply plugin: 'java' // In this section you declare where to find the dependencies of your project repositories { // Use 'jcenter' for resolving your dependencies. // You can declare any Maven/Ivy/file repository here. maven { url "http://maven.aliyun.com/nexus/content/groups/public" } jcenter() } // In this section you declare the dependencies for your production and test code dependencies { // https://mvnrepository.com/artifact/edu.stanford.nlp/stanford-corenlp compile grou...
千面人 发布于 3个月前 阅读 294

大话卷积神经网络(CNN)

这几年深度学习快速发展,在图像识别、语音识别、物体识别等各种场景上取得了巨大的成功,例如AlphaGo击败世界围棋冠军,iPhone X内置了人脸识别解锁功能等等,很多AI产品在世界上引起了很大的轰动。在这场深度学习革命中,卷积神经网络(Convolutional Neural Networks,简称CNN)是推动这一切爆发的主力,在目前人工智能的发展中有着非常重要的地位。 【问题来了】那什么是卷积神经网络(CNN)呢? 1、小白一下,什么是神经网络? 这里的神经网络,也指人工神经网络(Artificial Neural Networks,简称ANNs),是一种模仿生物神经网络行为特征的算法数学模型,由神经元、节点与节点之间的连接(突触)所构成,如下图:   每个神经网络单元抽象出来的数学模型如下,也叫感知器,它接收多个输入(x1,x2,x3...),产生一个输出,这就好比是神经末梢感受各种外部环境的变化(外部刺激),然后产生电信号,以便于转导到神经细胞(又叫神经元)。   单个的感知器就构成了一个简单的模型,但在现实世界中,实际的决策模型则要复杂得多,往往是由多个感知器组成的多层网络,如下图所示,这也是经典的神经网络模型,由输入层、隐含层、输出层构成。   人工神经网络可以映射任...
雪饼 发布于 2个月前 阅读 2744 评论 20 点赞 24

【colab入坑系列 · 一】Google drive授权及工作路径

感谢google,感谢资本主义羊毛,为我们提供了这么好的学习工具。网上文档比较少,colab使用过程中有一些坑,我记录下来方便以后查阅,说不定也能帮到遇到同样问题的童鞋 ~ ### Google drive授权 貌似每隔一段时间之后,colab给分配的环境会被自动初始化,下次进来得重新挂载google drive。我是新建了一个notebook,用来存储授权过程,每次环境被情况了只要打开这个notebook重新执行以下就行。执行下面的代码,中间会出现两次提示,要求你打开授权地址,填写drive授权码。两次的授权权限不一样,都要填写。 ```python !apt-get install -y -qq software-properties-common python-software-properties module-init-tools !add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null !apt-get update -qq 2>&1 > /dev/null !apt-get -y install -qq google-drive-ocamlfuse fuse from google.colab import auth auth.authenticate_user() from oauth2client.client import GoogleCredentials creds = GoogleCredentials.get_application_default() import getpass !google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/...
robinfly 发布于 2个月前 阅读 324

【TensorFlow系列】【七】单图片多标签的分类网络搭建与训练

本次解决如下问题:如何对单张图片多个标签进行分类网络的训练?即图片标注是image-level级别的。 面临的问题: 1.图片的标签数目不是固定的,有的有一个标签,有的有两个标签,但标签的种类总数是固定的,比如为5类。 解决该问题,本次采用了标签补齐的方法,即缺失的标签全部使用0标记,这意味着,不再使用one-hot编码。 例如:标签为:-1,1,1,-1,1 ;-1表示该类标签没有,1表示该类标签存在,则这张图片的标签编码为: 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 2.如何衡量损失? 本次计算出一张图片各个标签的损失,然后取平均值。 3.如何计算精度 本次计算出一张图片各个标签的精度,然后取平均值。 【数据集】 本次采用南京大学的数据集,具体见: https://blog.csdn.net/u012936765/article/details/76944727 【数据预处理】 由于该数据集是mat文件,所以首先将其转化为txt标签文件 同时将图片数据集转化为tfrecord文件,注意:label的编码在这里完成。具体如下: import tensorflow as tf import scipy.io as sio import numpy as np import os from PIL import Image BASE_PATH=r"E:\miml-image-data\original" BASE_LABEL_PATH = r"E:\miml-image-dat...
muqiusangyang 发布于 3周前 阅读 114

开源巨献:2017 年 Google 开源了这些超赞的项目

春节小长假,走亲访友之余,还可以利用一些零碎的时间收集学习资料,给自己充充电,好在 2018 年成为更优秀的自己。我们知道在开源和贡献开源方面,Google 一直是行业的典范。2017 年它开源了哪些优秀的软件,有哪些值得我们借鉴学习呢?让我们一起来看下: 1、硬件加速的机器学习 JavaScript 库 DeepLearn.js DeepLearn.js 是 Google 推出的一个可用于机器智能并加速 WebGL 的开源 JavaScript 库,完全在浏览器中运行,不需要安装,不需要后端处理。 2、大型微服务系统管理工具 Istio Istio 是一个由谷歌、IBM 与 Lyft 共同开发的开源项目,旨在提供一种统一化的微服务连接、安全保障、管理与监控方式。Istio 项目能够为微服务架构提供流量管理机制,同时亦为其它增值功能(包括安全性、监控、路由、连接管理与策略等)创造了基础。这款软件利用久经考验的 Lyft Envoy 代理进行构建,可在无需对应用程序代码作出任何发动的前提下实现可视性与控制能力。Istio 项目是一款强大的工具,可帮助 CTO/CIO 们立足企业内部实施整体性安全、政策与合规性要求。 3、可自动生成命令行接口 Python Fire Python Fire 是 Google 开源的一个可从任何 Python 代码自动生成命令行接口(...
编辑部的故事 发布于 2个月前 阅读 13396 评论 13 点赞 13

大话CNN经典模型:GoogLeNet(从Inception v1到v4的演进)

2014年,GoogLeNet和VGG是当年ImageNet挑战赛(ILSVRC14)的双雄,GoogLeNet获得了第一名、VGG获得了第二名,这两类模型结构的共同特点是层次更深了。VGG继承了LeNet以及AlexNet的一些框架结构(详见  大话CNN经典模型:VGGNet),而GoogLeNet则做了更加大胆的网络结构尝试,虽然深度只有22层,但大小却比AlexNet和VGG小很多,GoogleNet参数为500万个,AlexNet参数个数是GoogleNet的12倍,VGGNet参数又是AlexNet的3倍,因此在内存或计算资源有限时,GoogleNet是比较好的选择;从模型结果来看,GoogLeNet的性能却更加优越。 小知识:GoogLeNet是谷歌(Google)研究出来的深度网络结构,为什么不叫“GoogleNet”,而叫“GoogLeNet”,据说是为了向“LeNet”致敬,因此取名为“GoogLeNet” 那么,GoogLeNet是如何进一步提升性能的呢? 一般来说,提升网络性能最直接的办法就是增加网络深度和宽度,深度指网络层次数量、宽度指神经元数量。但这种方式存在以下问题: (1)参数太多,如果训练数据集有限,很容易产生过拟合; (2)网络越大、参数越多,计算复杂度越大,难以应用; (3)网络越深,容易出现梯度弥散问题(梯度越往后穿越容易消失),难以优化模型。 所以,有人调侃...
雪饼 发布于 1个月前 阅读 251

区块链--共识算法POS,DPOS

  POS --- Proof of Stake   大多数地方叫权益证明,其实可以看作是股权证明,也是一种共识算法,在基于权益证明的数字货币中,下一个区块的选择是根据不同节点的股份和时间进行随机选择的。打个比方说,假如你买了1万个数字货币,然后就放在POS机制中,这样你就拥有了机会去获得新的区块从而得到奖励,机会有多大呢,就是那些拥有1千个数字货币的人的10倍概率,因为你有1万个,1万是1千的十倍,10%的股份分红是1%股份的10倍,道理是一样的。   由于创造新的区块并不会消耗大量的 CPU,这也就给了很多节点作弊的机会,每一个节点为了最大化利益会在多条链上同时挖矿。显然这个问题要被解决,这里引入了惩罚机制,惩罚同时在多条链上投票的节点,第二种方法是直接惩罚在错误的链上创建块的节点。   优势:不需要浪费算力,同时,进行51%攻击的代价更高,因为想要进行51%攻击的话,你得拥有51%的货币。也就是说,这东西越值钱,攻击的成本就越高。     DPOS --- Delegated Proof of Stake 上面介绍的权益证明算法可以将整个区块链网络理解为一家公司,占比最大的人有更多的机会得到区块;对于小股东来说,能产生区块的可能性很小,只能得到股份带来的分红和收益。   ...
孙启超 发布于 1个月前 阅读 175

论文翻译-语音合成:Tacotron

原论文地址:https://arxiv.org/abs/1703.10135   TACOTRON: TOWARDS END-TO-END SPEECH SYNTHESIS Yuxuan Wang∗, RJ Skerry-Ryan∗, Daisy Stanton, Yonghui Wu, Ron J. Weissy, Navdeep Jaitly, Zongheng Yang, Ying Xiao∗, Zhifeng Chen, Samy Bengioy, Quoc Le, Yannis Agiomyrgiannakis, Rob Clark, Rif A. Saurous∗ Google, Inc. fyxwang,rjryan,rifg@google.com   摘要 一个文本转语音的合成系统通常包含多阶段处理,例如文本分析前端,声学模型和声音合成模块。构建这些组件常常需要大量的领域专业知识,而且设计选择也可能很脆弱。在这篇论文里,我们提出了 Tacotron,一种端到端的生成式文本转语音模型,可以直接从字符合成语音。在<文本, 声音>配对数据集上,该模型可以完全从随机初始化从头开始训练。我们提出了几个可以 使 seq2seq框架在这个高难度任务上表现良好的关键技术。Tacotron 在美式英语测试里的平均主观意见评分达到了 3.82 分(总分是 5 分),在合成自然度方面优于已在生产中应用的参数模型。另外,由于 Tacotron 是在帧层面上生成语音,所以它大幅度快于样本级自回归方式的模型。   1 介绍 现代文本转语音(TTS)的流水线比较复杂(Taylor...
师弟文 发布于 2个月前 阅读 204 评论 1

非常详细的linux环境下搭建hadoop环境例子

1下载hadoop 2安装3个虚拟机并实现ssh免密码登录         2.1安装3个机器         2.2检查机器名称         2.3修改/etc/hosts文件         2.4 给3个机器生成秘钥文件         2.5 在hserver1上创建authorized_keys文件         2.6将authorized_keys文件复制到其他机器         2.7 测试使用ssh进行无密码登录                    2.7.1在hserver1上进行测试                    2.7.2在hserver2上进行测试                    2.7.3在hserver3上进行测试 3安装jdk和hadoop          3.1安装JDK          3.2安装hadoop                   3.2.1上载文件并解压缩                   3.2.2新建几个目录                   3.2.3修改etc/hadoop中的一系列配置文件                               3.2.3.1修改core-site.xml                               3.2.3.2修改hadoop-env.sh                               3.2.3.3修改hdfs-site.xml                               3.2.3.4新建并且修...
gulf 发布于 2个月前 阅读 105

短文本相似度比较

短文本相似度比较
Digimon 发布于 2个月前 阅读 99

大话CNN经典模型:LeNet

近几年来,卷积神经网络(Convolutional Neural Networks,简称CNN)在图像识别中取得了非常成功的应用,成为深度学习的一大亮点。CNN发展至今,已经有很多变种,其中有几个经典模型在CNN发展历程中有着里程碑的意义,它们分别是:LeNet、Alexnet、Googlenet、VGG、DRL等,接下来将分期进行逐一介绍。 在之前的文章中,已经介绍了卷积神经网络(CNN)的技术原理,细节部分就不再重复了,有兴趣的同学再打开链接看看(大话卷积神经网络),在此简单回顾一下CNN的几个特点:局部感知、参数共享、池化。 1、局部感知 人类对外界的认知一般是从局部到全局、从片面到全面,类似的,在机器识别图像时也没有必要把整张图像按像素全部都连接到神经网络中,在图像中也是局部周边的像素联系比较紧密,而距离较远的像素则相关性较弱,因此可以采用局部连接的模式(将图像分块连接,这样能大大减少模型的参数),如下图所示:   2、参数(权值)共享 每张自然图像(人物、山水、建筑等)都有其固有特性,也就是说,图像其中一部分的统计特性与其它部分是接近的。这也意味着这一部分学习的特征也能用在另一部分上,能使用同样的学习特征。因此,在局部连接中隐藏层的每一个神经元连接的...
雪饼 发布于 1个月前 阅读 1293 点赞 2

【TensorFlow系列】【三】冻结模型文件并做inference

本文基于mnist与lenet,讲述如下两个问题: 1.如何将训练好的网络模型冻结,形成net.pb文件? 2.如何将net.pb文件部署到TensorFlow中做inference? pb文件保存的步骤 1.需要给input与最终的预测值取个名字,便于部署时输入数据并输出数据 2.利用graph_util.convert_variables_to_constants将网络中模型参数变量转换为常量 3.利用tf.gfile.FastGFile将模型参数序列化后的数据写入文件。 pb文件部署步骤: 1.利用tf.gfile.FastGFile读取pb文件,并将文件中存储的graph导入到TensorFlow中。 2.从graph中获取input与output变量,传入图片数据,做inference   【基于mnist与lenet,保存pb文件】 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data from tensorflow.python.framework import graph_util mnist = input_data.read_data_sets(train_dir=r"E:\mnist_data",one_hot=True) #定义输入数据mnist图片大小28*28*1=784,None表示batch_size x = tf.placeholder(dtype=tf.float32,shape=[None,28*28],name="input") #定义标签数据,mnist共10类 y_ = tf.placeholder(dtype=tf.float32,shape=[None,10],name="y_") #将数据调整为二维数据...
muqiusangyang 发布于 1个月前 阅读 194

【重磅】Google官方推出了免费的、中文的、机器学习初级课程。

机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 因此,机器学习的入门门槛非常高,值得高兴的是,刚刚,Google官方也推出了免费的中文机器学习速成课程。 image 课程包含了: *** 25节课程** *** 15小时** *** 40多项练习** 最重要的是免费的、中文的、Google 官方出品,同时包含了很多机器学习的术语库,非常适合初学者学习。 课程网址:*https://developers.google.cn/machine-learning/crash-course/ * 最近,我也在学习【深度学习】和【机器学习】的相关课程,说实话,我已经工作了许多年了,虽然说是关于计算机常用的数据结构和基础算法还算可以,但是对于高中和大学的相关数学基础知识已经全还给老师了,开始学习真的非常吃力。 如果你和我一样,下面的分享或许对你有些帮助。 【深度学习】和【机器学习】都要求有数学基础,特别是: 线性代数、 概率统计、 微积分、 这三个知识体系和计算机基础算法有很大区别,比如说List、Map、树、图的相关算法是我们常用的编程算法,但是他们与线性代数、概率统计和...
理工男海哥 发布于 2个月前 阅读 2059

学习笔记CB011:lucene搜索引擎库、IKAnalyzer中文切词工具、检索服务、查询索引、导流、word2vec

影视剧字幕聊天语料库特点,把影视剧说话内容一句一句以回车换行罗列三千多万条中国话,相邻第二句很可能是第一句最好回答。一个问句有很多种回答,可以根据相关程度以及历史聊天记录所有回答排序,找到最优,是一个搜索排序过程。 lucene+ik。lucene开源免费搜索引擎库,java语言开发。ik IKAnalyzer,开源中文切词工具。语料库切词建索引,文本搜索做文本相关性检索,把下一句取出作答案候选集,答案排序,问题分析。 建索引。eclipse创建maven工程,maven自动生成pom.xml文件,配置包依赖信息,dependencies标签中添加依赖: org.apache.lucene lucene-core 4.10.4 org.apache.lucene lucene-queryparser 4.10.4 org.apache.lucene lucene-analyzers-common 4.10.4 io.netty netty-all 5.0.0.Alpha2 com.alibaba fastjson 1.1.41 project标签增加配置,依赖jar包自动拷贝lib目录: org.apache.maven.plugins maven-dependency-plugin copy-dependencies prepare-package copy-dependencies ${project.build.directory}/lib false false true org.apache.maven.plugins maven-jar-plugin true lib/ theMainClass https://storage.googleapis.com/google-code-archive-dow...
利炳根 发布于 3小时前 阅读 1

数据挖掘 numpy之常用操作

通用函数(ufunc) NumPy提供常见的数学函数如sin,cos和exp。 在NumPy中,这些叫作“通用函数”(ufunc)。在NumPy里这些函数作用按数组的元素运算,产生一个数组作为输出。 更多函数all, alltrue, any, apply along axis, argmax, argmin, argsort, average, bincount, ceil, clip, conj, conjugate, corrcoef, cov, cross, cumprod, cumsum, diff, dot, floor, inner, inv, lexsort, max, maximum, mean, median, min, minimum, nonzero, outer, prod, re, round, sometrue, sort, std, sum, trace, transpose, var, vdot, vectorize, where 参见:NumPy示例 b = numpy.arange(3) print(numpy.exp(b)) print(numpy.sin(b)) print(numpy.sqrt(b)) [ 1. 2.71828183 7.3890561 ] [ 0. 0.84147098 0.90929743] [ 0. 1. 1.41421356] 索引,切片和迭代 一维数组可以被索引、切片和迭代,就像列表和其它Python序列。 import numpy a = numpy.arange(10)**3 print(a[2]) # 索引 print(a[2:5]) # 切片 a[:6:2] = 100 # 索引0到6, 步进为2, 对其所有值进行赋值。 print(a) b = a[::-1] # 反转倒叙, 不会改变原来的值 print(b) for i in a: ...
Eappo_Geng 发布于 13小时前 阅读 3

数据挖掘 numpy之数组计算

数组的算数运算都是基于元素的运算: a = array([20, 30, 40, 50]) b = arange(4) print("a: ", a, "\nb: ", b) c = a - b # 元素相减, 元素数目应一致 print("c = a - b: ", c) print("b**2: ", b**2) print("10*sin(a): ", 10*sin(a)) print("a < 35: ", a < 35) # 元素变成bool值 a: [20 30 40 50] b: [0 1 2 3] c = a - b: [20 29 38 47] b**2: [0 1 4 9] 10*sin(a): [ 9.12945251 -9.88031624 7.4511316 -2.62374854] a < 35: [ True True False False] 乘法运算* 也是按照元素计算,矩阵乘法可以使用dot函数实现 a = arange(0, 12, 2).reshape(3, 2) b = arange(1, 13, 2).reshape(3, 2) print("a: ", a) print("b: ", b) print("a*b: ", a*b) a: [[ 0 2] [ 4 6] [ 8 10]] b: [[ 1 3] [ 5 7] [ 9 11]] a*b: [[ 0 6] [ 20 42] [ 72 110]] 有些操作符像+=和*=被用来更改已存在数组而不创建一个新的数组。 a = ones((2, 3), dtype=int) b = random.random((2, 3)) # randmom 返回0-1的随机数 print("a: ", a) print("b: ", b) a *= 3 print("a: ", a) b += a # a 被强制类型转换位 float, a += b则不行 print("b: ", b) a: [[1 1 1] [1...
Eappo_Geng 发布于 17小时前 阅读 1

整理一下最近没写完的BLOG

## 这几个挖坑还没填 慢慢来 * 图像处理基础(二) * 图像处理基础(三) * 图像处理基础(四) * SLAM初探(五) * SLAM初探(三) * [深度学习概述(一)](https://my.oschina.net/VenusV/blog/1491792) * PCA降维推导 :备注到机器视觉系列 ## 需要修改的文章(不够浅显易懂没用心写或者看不顺眼的) * [离散傅里叶变换 ](https://my.oschina.net/VenusV/blog/1486377) ## 未来要挖的坑(不分先后顺序) * Tensorflow系列 * LightGBM系列 * pandas系列 * numpy系列 * scipy系列 * Spark系列 * kafka系列 * Hadoop系列 * CVML系列 * 机器人控制系列 * 十大滤波器系列 * 内核编译系列 * 自制操作系统系列 * C++高并发系列 # PS: 图像处理系列如果需要排版做出学习顺序的评论区打CALL顺带如果有错请指正错误
Pulsar-V 发布于 17小时前 阅读 3

图像处理基础(二)图像的放大与缩小

最近临插值,双线性插值 ,三次插值
Pulsar-V 发布于 17小时前 阅读 8

图像处理基础(四)DCT变换

图像离散余弦变换,DCT变换
Pulsar-V 发布于 18小时前 阅读 2

眨眼照片变名画,华为P20,创造着艺术,也是艺术本身

从毕加索的立体主义, 到《呐喊》的表现主义风格; 从日系动画中的梦幻清新, 到美国早年海报的绚丽鲜亮…… 三十多种艺术风格随意转换, 就算摄影水平不怎么样, 有了Prisma的二次处理, 你的图片也绝对能与low绝缘!
华为终端开放实验室 发布于 20小时前 阅读 2

OpenCV中高斯混合背景建模算法汇总

引用地址:http://blog.csdn.net/chuhang_zhqr/article/details/51060745     GMM是网上到处可见且用得最多的背景建模算法,论文上很多相关概率公式,又看了很多博客对于GMM的解释,直到现在还总是觉得很难理解其中的真谛,从各方面整理一下目前自己所理解的内容,如果有理解偏差,欢迎指正。         Mog2用的是自适应的高斯混合模型(Adaptive GMM,Gaussian Mixture Model),在OpenCV中开源了的几种背景提取算法MOG,MOG2,GMG的测试程序结果中,MOG2确实在前景连续性及运算时间上都脱颖而出,后面会给出比较结果。下面就结合OpenCV2.4.9的mog2源码和源码文档中指出的04年Zoran Zivkovic的三篇论文,简要串一串GMM的理论基础,MOG2的大致原理,在代码实现上的结构及MOG2 API的用法。 背景建模的思想由来         在监控系统中,拍摄背景通常是变化较少的固定场景。通常我们假定没有入侵物体的静态场景具有一些常规特性,可以用一个统计模型描述。GMM就是用高斯模型,而且是多个高斯模型的加权和混合在一起来模拟背景的特性。这样一旦已知这个背景模型,入侵物体就能通过标出场景图像中不符合这一背景模型的部分来检测到。这一过程被称为背景减除(Backg...
漫步当下 发布于 22小时前 阅读 3

Socket类的getInputStream方法与getOutputStream方法的使用

客户端上的使用 1.getInputStream方法可以得到一个输入流,客户端的Socket对象上的getInputStream方法得到输入流其实就是从服务器端发回的数据。 2.getOutputStream方法得到的是一个输出流,客户端的Socket对象上的getOutputStream方法得到的输出流其实就是发送给服务器端的数据。 服务器端上的使用 1.getInputStream方法得到的是一个输入流,服务端的Socket对象上的getInputStream方法得到的输入流其实就是从客户端发送给服务器端的数据流。 2.getOutputStream方法得到的是一个输出流,服务端的Socket对象上的getOutputStream方法得到的输出流其实就是发送给客户端的数据。
-九天- 发布于 1天前 阅读 3

开源的机器学习框架应当如何选择?

为何要选择机器学习框架呢?使用开源工具的好处不仅仅在于其可用性。通常来说,如此级别的项目均有大量的数据工程师和数据科学家愿意去分享数据集和前期训练模型。比如,你可以使用分类模型训练来自于ImageNet的数据,而非利用scratch建立图形感知。开源的机器学习工具还能够让你进行迁移学习,这意味着可以通过运用其他方面的知识解决机器学习的问题。所以,你可以把一些能力形成一种模型,这些模型可以学会识别汽车或者能够帮助我们完成其他的任务。 根据你所需要处理的问题,预先训练的模型和开放的数据集可能并不会像定制的那样准确,但开源框架不需要你收集数据集,这能够为你节省大量的时间和精力。尚学堂•百战程序员陈老师指出,根据前百度首席数据科学家、斯坦福大学教授Andrew Ng所说,使用开源模型和数据集将会成为继监督学习后驱动商业成功的第二大动因。 在众多活跃但不那么流行的开源工具中,我们将选取5个进行深度探讨,以便帮助你找到适合你的一款工具并且开始你的数据科学探索道路。接下来,我们进入正题。 1.TensorFlow TensorFlow最初是仅供Google内部使用的,2015年在Apache 2.0 源码开始开源发布。Google的声誉和构建模型时出色的流程图吸引了一大群的...
小欣妹妹 发布于 1天前 阅读 2

这是一份文科生都能看懂的线性代数简介

线性代数的概念对于理解机器学习背后的原理非常重要,尤其是在深度学习领域中。它可以帮助我们更好地理解算法内部到底是怎么运行的,借此,我们就能够更好的做出决策。所以,如果你真的希望了解机器学习具体算法,就不可避免需要精通这些线性代数的概念。这篇文章中,我们将向你介绍一些机器学习中涉及的关键线性代数知识。 线性代数是一种连续形式的数学,被广泛应用于理工类学科中;因为它可以帮助我们对自然现象建模,然后进行高效的计算。但是,由于线性代数是一种连续而非离散的数学,因此,很多计算机科学家都不太了解它。另外,线性代数还在几乎所有的数学学科中都拥有着核心地位:例如几何学和泛函分析。 线性代数中的概念是理解机器学习理论所必需的基础知识,尤其是对那些处理深度学习算法的人而言。在刚接触机器学习时,你可以不需要掌握线性代数。但到了一定程度后,当你希望更好地理解不同机器学习算法运作原理时,线性代数就很有用了,它可以帮助你在开发机器学习系统时更好地做决策。 在线性代数中,我们使用线性方程来表示数据,并把它们写成矩阵或向量的形式。因此,基本上你都是在与矩阵和向量打交道,而不是标量(我们会在文章的稍后部分介绍这些概念)...
孟飞阳 发布于 1天前 阅读 1

使用卷积神经网络进行图片分类

https://blog.csdn.net/oxuzhenyi/article/details/73480448 卷积神经网络原理 一、实验介绍 1.1 实验内容 本课程将会先带你理解卷积神经网络的原理,了解卷积神经网络的一些特性。然后动手使用caffe深度学习框架训练一个卷积神经网络模型,并用训练好的模型进行图片分类。 学习本课程之前,请先学习课程814 使用python实现深度神经网络以了解必要的基本概念,本实验中涉及到的深度学习基本概念将不会再次阐述。同时建议学习课程744 深度学习初探——入门DL主流框架(该课为训练营课程)中的caffe相关部分,但本课程中涉及到caffe的内容也会尽量讲解。   本实验作为本课程的第一次实验,将会向大家讲解卷积神经网络的相关基本原理。除非你已经知道什么是卷积神经网络,否则我强烈建议你仔细学习本次实验,理解原理将非常有助于你在实际问题中合理地使用卷积神经网络。 1.2 实验知识点 卷积神经网络的结构 1.3 先学课程 814 使用python实现深度神经网络(必学,否则可能无法理解本课程中的一些概念) 744 深度学习初探——入门DL主流框架(选学) 1.4 实验环境 python 2.7 caffe 1.0.0 (实验楼环境中已经预先安装) 二、实验步骤 2.1 什么是“卷积” 在课程814 使用python实现深度...
tantexian 发布于 1天前 阅读 6

Kafka误删zk元数据,全部删除(仅限测试环境)

- 背景: 在测试kafaka connect时,每次为了清理脏数据,直接将topic删除掉,然后进入zk将相应的topic删除,一次一不小心将zk中的数据全部删除了,导致kafka启动不起来。 --- 1. 在kafka大神的指导下,选择了最简单也是最暴力的方法:将zk和kafka的数据全部清理干净,然后重启,具体步骤如下: 1.首先分别将zk和kafka进程停掉; 2. 将zk配置文件zoo.cfg中配置的dataDir和dataLogDir中的数据除了myid文件外,其余的全部删除,然后重启zk,进而进入zk客户端执行: ``` rmr /admin/delete_topics rmr /config rmr /brokers/topics rmr /consumers rmr /schema_registry ``` 3. 将kafka中配置文件server.properties中的log.dirs下的文件全部清除,然后重启kafka即可成功。
-九天- 发布于 2天前 阅读 7

Python OpenCV实例:图像腐蚀(数学公式基本实现)

#coding:utf-8 ''' 二值图像的腐蚀运算 定义: g(x,y) = erode[f(x,y),B] = AND[Bf(x,y)] 其中,g(x,y)为腐蚀后的二值图像,f(x,y)为原始二值图像 B为结构元素,Bf(x,y)定义为 Bf(x,y) = {f(x - bx,y-by),(bx,by)∈B} 算子AND(x(i),...,x(n))定义为:当且仅当x(1) = ... = x(n) = 1时, AND(x(1),...,x(n))等于1,否则为0 结构元素选择的原则往往是具有旋转不变性,或者镜像不变性。也就是说,结构元素 原点在其几何中心处理,并且其他像素关于该原点对你。常用到的结构元素: 1、水平单列;2、垂直单列;3、十字形;4、方形 ''' import cv2 import numpy as np # 3位水平方向结构元素 def erode_horizontal_3x1(image): img_gray = cv2.cvtColor(image,cv2.COLOR_RGB2GRAY) rows,cols = img_gray.shape gray_flat = img_gray.reshape((rows * cols,)) # 创建空白图像 dist = np.full(img_gray.shape,fill_value=255,dtype=img_gray.dtype).reshape((rows * cols,)) x_coord = np.arange(1,cols-1) for i in range(rows): for j in x_coord: mid = gray_flat[i * cols + j] lft = g...
IOTService 发布于 2天前 阅读 9

华为P20 旅行助手,从未有过的至尊私人导游服务!

旅行可以让人暂时抛掉生活中的琐事,工作上的压力,寻找内心的宁静。有的人是为了想多去见识不同的事物和人文风情,有的人是想去感受大自然的馈赠,看历史古迹感受古人智慧。歌德说过:人之所以爱旅行,不是为了抵达目的地,而是为了享受旅途中的种种乐趣。
华为终端开放实验室 发布于 2天前 阅读 5

windows安装tensorflow机器学习开发环境搭建

安装版本: python版本:3.6.4 发布或时间: 2017-12-19 下载地址:https://www.python.org/ftp/python/3.6.4/python-3.6.4-amd64.exe Anaconda 版本3.5.1 发布版本或时间:最新 下载地址:https://repo.continuum.io/archive/Anaconda3-5.1.0-Windows-x86_64.exe TensorFlow 1.7.0   1、准备环境 TensorFlow支持python 3.5.1以上版本安装。 win7先升级为service pack版本: 系统升级方式:https://jingyan.baidu.com/article/ff411625b7fd1812e48237f0.html 安装:api-ms-win-runtime-1-1-0.dll 下载地址: https://www.microsoft.com/zh-cn/download/details.aspx?id=49093&134b2bb0-86c1-fe9f-d523-281faef41695=1&fa43d42b-25b5-4a42-fe9b-1634f450f5ee=True 运行安装即可 2、安装python 运行安装包(win10系统): 第一页:选择添加环境变量和自选安装配置指定安装路径。 第二页:默认即可Next 第三页:安装选项默认,也可自行追加,修改安装路径。Install安装即可 第四页:安装完毕,点击close即可。 验证python是否安装成功,win+r输入cmd,控制台输入python -V有版本打印,安装成功。   第三步:安装Anaconda 运行安装包,第一页面直接next。 第二页,I Agree...
悲喜世界 发布于 2天前 阅读 11

因为中国5G的强势,美国都慌了,禁了中兴!商机你把握住了吗?

通讯大厂们都在积极推进5G,未来我们的生活,经济模式可能将会再次迎来巨变。华为首款采用Mate 10的外观,里面搭载的是集成了Balong(巴龙)基带的Kirin(麒麟)芯片的5G手机或2019推出。   目前,华为在5G方面已跟全球45家运营商开始相关研究,并跟其中30家展开了技术测试并建设了预商用网络。华为去年在5G方面投入了40亿元人民币。业内普遍认为,5G网络一旦正式商用,除了会使通信业进入新一轮发展期外,还将带动多个规模万亿级别的新兴产业。根据多个市场机构预测,车联网、大数据、云计算、智能家居、无人机等典型的物联网细分行业开始在5G的技术前提下迎来新的浪潮。  在世界移动通信大会(MWC)上,全球多家移动通信企业宣布将共同支持加速5G新空口(5G NR)标准化进程,以推动于2019年尽早实现5G新空口的大规模试验和部署。 随着5G的正式商用和网络问题将迎刃而解,眼下“人工智能+”时代正在到来。未来5到10年,人工智能将像水和电一样无所不在,可以进入教育、医疗、金融、交通、智慧城市等几乎所有行业。 而这些都是基于5G网络,其高速率、低时延、低功耗的特点促使上述产业快速发展。此外,芯片、电子元器件、软件、智能硬件等产业链上下游也会进入升级期,其创投机...
开源中国众包平台 发布于 2天前 阅读 12

Python OpenCV实例:几何变换

#coding:utf-8 ''' 仿射变换 ''' import cv2 import numpy as np src = cv2.imread('datas/l1.jpg') rows,cols,channel = src.shape src_points = np.float32([[50,50],[200,50],[50,200]]) dst_points = np.float32([[10,100],[200,50],[100,250]]) # 仿射变换 warp_mat = cv2.getAffineTransform(src_points,dst_points) dist_affine = cv2.warpAffine(src,warp_mat,(cols,rows)) # 旋转 rotate_mat = cv2.getRotationMatrix2D((cols / 2,rows / 2),60,0.7) dist_rotate = cv2.warpAffine(src,rotate_mat,(cols,rows)) # 平移 translation_mat = np.array([[1,0,100],[0,1,50]],dtype=np.float32) dist_translation = cv2.warpAffine(src,translation_mat,(rows+200,cols+200),borderValue=(155, 155, 155)) # 投影 pts1 = np.float32( [ [56,65],[368,52],[28,387],[389,390] ] ) pts2 = np.float32( [ [0,0],[300,0],[0,300],[300,300] ] ) M = cv2.getPerspectiveTransform(pts1 , pts2) dist_projective = cv2.warpPerspective(src,M,(cols,rows)) cv2.imshow('src',src) cv2.imshow('affine transform',dist_affine) cv2.imshow('rotate transfo...
IOTService 发布于 3天前 阅读 7

Python OpenCV实例:图像翻转

#coding:utf-8 ''' 图像翻转 ''' import numpy as np import cv2 src = cv2.imread('datas/l1.jpg') # 逆时针旋转90度 result = cv2.transpose(src) # 垂直翻转 result2 = cv2.flip(src,0) # 水平翻转 result3 = cv2.flip(src,1) cv2.imshow('src',src) cv2.imshow("transpose",result) cv2.imshow('flip:0',result2) cv2.imshow('flip:1',result3) cv2.waitKey() cv2.destroyAllWindows()  
IOTService 发布于 3天前 阅读 6

Python OpenCV实例:图像旋转(数学公式简单实现)

#coding:utf-8 ''' 图像旋转 ''' import numpy as np import cv2 def image_rotate(image,angle): alpha = angle * np.pi / 180.0 # 旋转矩阵 rotate_matrix = [ [np.cos(alpha),-1 * np.sin(alpha),0], [np.sin(alpha), np.cos(alpha),0], [0,0,1] ] rows = image.shape[0] cols = image.shape[1] # 图像旋转后顶点计算 a1 = cols * rotate_matrix[0][0] b1 = cols * rotate_matrix[1][0] a2 = cols * rotate_matrix[0][1] + rows * rotate_matrix[0][1] b2 = cols * rotate_matrix[1][0] + rows * rotate_matrix[1][1] a3 = rows * rotate_matrix[0][1] b3 = rows * rotate_matrix[1][1] # 计算极值点 x_min = min(min(min(0.0,a1),a2),a3) x_max = max(max(max(0.0,a1),a2),a3) y_min = min(min(min(0.0,b1),b2),b3) y_max = max(max(max(0.0,b1),b2),b3) out_rows = int(np.abs(x_max - x_min)) out_cols = int(np.abs(y_max - y_min)) print('src size:(%d,%d)' %(rows,cols)) print('new size:(%d,%d)' % (out_rows,out_cols)) ...
IOTService 发布于 3天前 阅读 8

Step by Step 真正从零开始,TensorFlow详细安装入门图文教程!帮你完成那个最难的从0到1

Step by Step 真正从零开始,TensorFlow详细安装入门图文教程!帮你完成那个最难的从0到1
悦动智能 发布于 2周前 阅读 2121 评论 8 点赞 3

73款阿里巴巴开源软件详解!

详细解读阿里巴巴开源技术,包括框架、组件、引擎、数据库/存储、平台/系统、解决方案、工具、中间件、Web Sever、设计等十大类73款!
阿里巴巴

大话CNN经典模型:LeNet

近几年来,卷积神经网络(Convolutional Neural Networks,简称CNN)在图像识别中取得了非常成功的应用,成为深度学习的一大亮点。CNN发展至今,已经有很多变种,其中有几个经典模型在CNN发展历程中有着里程碑的意义,它们分别是:LeNet、Alexnet、Googlenet、VGG、DRL等,接下来将分期进行逐一介绍。 在之前的文章中,已经介绍了卷积神经网络(CNN)的技术原理,细节部分就不再重复了,有兴趣的同学再打开链接看看(大话卷积神经网络),在此简单回顾一下CNN的几个特点:局部感知、参数共享、池化。 1、局部感知 人类对外界的认知一般是从局部到全局、从片面到全面,类似的,在机器识别图像时也没有必要把整张图像按像素全部都连接到神经网络中,在图像中也是局部周边的像素联系比较紧密,而距离较远的像素则相关性较弱,因此可以采用局部连接的模式(将图像分块连接,这样能大大减少模型的参数),如下图所示:   2、参数(权值)共享 每张自然图像(人物、山水、建筑等)都有其固有特性,也就是说,图像其中一部分的统计特性与其它部分是接近的。这也意味着这一部分学习的特征也能用在另一部分上,能使用同样的学习特征。因此,在局部连接中隐藏层的每一个神经元连接的...
雪饼 发布于 1个月前 阅读 1293 点赞 2

Machine Learning:十大机器学习算法

- 机器学习算法分类:监督学习、无监督学习、强化学习 - 基本的机器学习算法:线性回归、支持向量机(SVM)、最近邻居(KNN)、逻辑回归、决策树、k平均、随机森林、朴素贝叶斯、降维、梯度增强
RiboseYim 发布于 2个月前 阅读 2798 评论 10 点赞 6

文本识别OCR浅析:特征篇

OCR技术浅探:特征提取(1) 研究背景 关于光学字符识别(Optical Character Recognition, 下面都简称OCR),是指将图像上的文字转化为计算机可编辑的文字内容,众多的研究人员对相关的技术研究已久,也有不少成熟的OCR技术和产品产生,比如汉王OCR、ABBYY FineReader、Tesseract OCR等. 值得一提的是,ABBYY FineReader不仅正确率高(包括对中文的识别),而且还能保留大部分的排版效果,是一个非常强大的OCR商业软件. 然而,在诸多的OCR成品中,除了Tesseract OCR外,其他的都是闭源的、甚至是商业的软件,我们既无法将它们嵌入到我们自己的程序中,也无法对其进行改进. 开源的唯一选择是Google的Tesseract OCR,但它的识别效果不算很好,而且中文识别正确率偏低,有待进一步改进. 综上所述,不管是为了学术研究还是实际应用,都有必要对OCR技术进行探究和改进. 我们队伍将完整的OCR系统分为“特征提取”、“文字定位”、“光学识别”、“语言模型”四个方面,逐步进行解决,最终完成了一个可用的、完整的、用于印刷文字的OCR系统. 该系统可以初步用于电商、微信等平台的图片文字识别,以判断上面信息的真伪. 研究假设 在本文中,我们假设图像的文字部分有以下的特征: 1. 假设...
失败人士 发布于 4个月前 阅读 2160 评论 8 点赞 9

手把手教你用1行代码实现人脸识别 -- Python Face_recognition

1行代码实现人脸识别,1. 首先你需要提供一个文件夹,里面是所有你希望系统认识的人的图片。其中每个人一张图片,图片以人的名字命名。2. 接下来,你需要准备另一个文件夹,里面是你要识别的图片。3. 然后你就可以运行face_recognition命令了,把刚刚准备的两个文件夹作为参数传入,命令就会返回需要识别的图片中都出现了谁,1行代码足以!!!
kangvcar 发布于 6个月前 阅读 4542 评论 34 点赞 8 打赏 2

调用腾讯优图开放平台进行人脸识别-Java调用API实现

调用腾讯优图开放平台进行人脸识别-Java调用API实现
小帅帅丶 发布于 8个月前 阅读 3301 评论 10 点赞 5

TensorFlow入门

TensorFlow入门介绍
随风溜达的向日葵 发布于 12个月前 阅读 5878 评论 17 点赞 10

人工神经网络之几何原理Ⅰ:单(隐藏)层神经网络

本文旨在通过几何方法来阐述为何人工神经网络能够有效地工作。
chishaxie 发布于 1年前 阅读 2792 评论 16 点赞 5 打赏 1
顶部