首页 文章 精选 留言 我的

精选列表

搜索[字体分类],共10000篇文章
优秀的个人博客,低调大师

【Hinton实验室探访】Capsule后最新研究,用软决策树更好理解DNN分类

2012年,Geoffrey Hinton改变了机器“看”世界的方式。 Hinton和他的两名学生Alex Krizhevsky和Ilya Sutskever一起,发表论文《ImageNet Classification with Deep Convolutional Neural Networks》,提出了深度卷积神经网络模型AlexNet,在当年的ImageNet大规模图像识别竞赛中获得冠军,将Top-1和Top-5误差分别降到了37.5%和17.0%,比此前的技术要好很多很多。后来Hinton加入谷歌大脑,AlexNet成为图像识别中最经典的模型之一,在产业界也得到普遍应用。 用Capsule Network克服传统CNN缺陷,让机器拥有人类的3D视觉 2017年,Hinton跟他在谷歌大脑两个同事Sara Sabour和Nich

优秀的个人博客,低调大师

spark scala word2vec 和多层分类感知器在情感分析中的实际应用

转自:http://www.cnblogs.com/canyangfeixue/p/7227998.html 对于威胁检测算法使用神经网络训练有用!!!TODO待实验 /** * Created by lkl on 2017/7/21. */ //import com.ibm.spark.exercise.util.LogUtils //import com.ibm.spark.exercise.util.LogUtils import org.apache.spark.ml.Pipeline import org.apache.spark.ml.classification.MultilayerPerceptronClassifier import org.apache.spark.ml.evaluation.MulticlassClassificationEvaluator import org.apache.spark.ml.feature.{IndexToString, StringIndexer, Word2Vec} import org.apache.spark.sql.SQLContext import org.apache.spark.{SparkContext, SparkConf} import org.apache.spark.{SparkConf, SparkContext} import org.apache.spark.sql.SQLContext object mllib { final val VECTOR_SIZE = 1000 // def main(args: Array[String]) { // if (args.length < 1) { // println("Usage:SMSClassifier SMSTextFile") // sys.exit(1) // } def main(args: Array[String]) { val conf = new SparkConf().setMaster("local").setAppName("test") val sc = new SparkContext(conf) val sqlContext = new org.apache.spark.sql.SQLContext(sc) // val role = "jdbc:mysql://192.168.0.37:3306/emotional?user=root&password=123456&useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false" // import sqlContext.implicits._ // val df = sc.textFile("hdfs://192.168.0.211:9000/user/hadoop/emotion/SMS.txt").map(line=>(line.split(" ")(0),line.split(" ")(1),line.split(" ")(2),line.split(" ")(3))).toDF("id","innserSessionid","words","value") // df.printSchema() // df.insertIntoJDBC(role, "SMS", true) val sqlCtx =new org.apache.spark.sql.SQLContext(sc) import sqlContext.implicits._ // 读取hdfs 数据源,格式如下:以空格隔开,最后一列数字列是分析标题后,人为打上的标签, 值是按照情绪程度,值选择于【-1,-0.75,-0.5,-0.25,,0.25,0.50,0.75,1】其中之一。 // 10090 C779C882AA39436A89C463BCB406B838 涨停板,复盘,全,靠,新,股,撑,门面,万科,A,尾盘,封板 0.75 // 10091 519A9C6AD0A845298B0B3924117C0B4F 一,行业,再现,重大,利好,板块,反弹,仍,将,继续 0.75 // 10092 C86CEC7DB9794311AF386C3D7B0B7CBD 藁城区,3,大,项目,新,获,规划证,开发,房企,系,同,一家 0 // 10093 FCEA2FFC1C2F4D6C808F2CBC2FF18A8C 完善,对,境外,企业,和,对外,投资,统计,监测 0.5 // 10094 204A77847F03404986331810E039DFC2 财联社,电报 0 // 10095 E571B9EF451F4D5F8426A1FA06CD9EE6 审计署,部分,央企,业绩,不,实 -0.5 // 10096 605264A2F6684CC4BB4B2A0B6A8FA078 厨卫,品牌,新,媒体,榜,看看,谁家,的,官微,最,爱,卖萌 0.25 val parsedRDD = sc.textFile("hdfs://192.168.0.211:9000/user/hadoop/emotion/SMS.txt").map(line=>{ val a = line.split(" ") if(a.length == 4 ){ (line.split(" ")(3),line.split(" ")(2).split(",")) }else{ ("","".split(",")) } }) val msgDF = sqlCtx.createDataFrame(parsedRDD).toDF("label","message") val labelIndexer = new StringIndexer().setInputCol("label").setOutputCol("indexedLabel").fit(msgDF) val word2Vec = new Word2Vec().setInputCol("message").setOutputCol("features").setVectorSize(VECTOR_SIZE).setMinCount(1) val layers = Array[Int](VECTOR_SIZE,250,500,200) val mlpc = new MultilayerPerceptronClassifier().setLayers(layers).setBlockSize(512).setSeed(1234L).setMaxIter(128).setFeaturesCol("features").setLabelCol("indexedLabel").setPredictionCol("prediction") val labelConverter = new IndexToString().setInputCol("prediction").setOutputCol("predictedLabel").setLabels(labelIndexer.labels) val Array(trainingData, testData) = msgDF.randomSplit(Array(0.8, 0.2)) val pipeline = new Pipeline().setStages(Array(labelIndexer,word2Vec,mlpc,labelConverter)) val model = pipeline.fit(trainingData) val predictionResultDF = model.transform(testData) //below 2 lines are for debug use predictionResultDF.printSchema predictionResultDF.select("message","label","predictedLabel").show(30) val evaluator = new MulticlassClassificationEvaluator().setLabelCol("indexedLabel").setPredictionCol("prediction").setMetricName("precision") val predictionAccuracy = evaluator.evaluate(predictionResultDF) println("Testing Accuracy is %2.4f".format(predictionAccuracy * 100) + "%") // sc.stop } } 结果如下: +--------------------+-----+--------------+ | message|label|predictedLabel| +--------------------+-----+--------------+ |[价格会, 一飞, 冲天, 神秘,...| 0.5| 0.5| |[审计署, 部分, 央企, 业绩,...| -0.5| 0.5| |[广电, 总局, 新浪, 微博, ...| -0.5| 0.5| |[叶檀, 若, 粤, 港澳湾区, ...| 0.25| 0.5| | [万达, 崩, 万科, 起]| 0| 0.5| |[外汇, 小白, 必, 看, 视频...| 0.25| 0.5| |[乐视, 回, 应发, 不, 出,...|-0.75| 0.5| |[万达, 电影, 高开, 1.69...| 0.5| 0.5| |[万科, A, 股, 6月, 23...| 0.75| 0.5| |[金价, 周一, 反弹, 扭转, ...| 0.5| 0.5| |[收评, 两, 市, 震荡, 沪指...| 0.25| 0.5| |[点睛, 军工, 混改, 加速, ...| 0.5| 0.5| |[棉花, 日报, 棉花, 短期, ...| 0.25| 0.5| |[探秘, 巴铁, 试验线, 部分,...|-0.75| 0.5| |[万达, 复星, 股价, 暴跌, ...|-0.75| 0.5| |[油价, 迎, 年内, 最, 大,...|-0.25| 0.5| |[2017年, IPO, 被, 否...|-0.75| 0.5| |[股, 转, 监事长, 邓映翎, ...| -0.5| 0.5| |[发改委, 国内, 汽, 柴油, ...|-0.25| 0.5| |[周报, 明晟, MSCI, 宣布...| 0.5| 0.5| |[夏季, 达沃斯, 共识, 中国,...| 0.5| 0.5| |[重磅, 又, 一, 家, 公司,...|-0.75| 0.5| |[麦格里, 重磅, 警告, OPE...| -0.5| 0.5| |[韩国, 娱乐, 公司, TO-W...| 0.5| 0.5| | [新, 三, 板, 周报]| 0| 0.5| |[分享, 华尔街, 对, 美国, ...| 0.5| 0.5| |[盛和, 资源, 2015年, 公...| 0| 0.5| |[交易, 实况, 黄金, 两, 连...| -0.5| 0.5| |[徽商, 银行, 内斗戏, 第二,...| -0.5| 0.5| |[2017, 夏季, 达沃斯, 论...| 0.25| 0.5| 本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/7813835.html ,如需转载请自行联系原作者

优秀的个人博客,低调大师

来源于 一般讨论 分类 疯狂ios讲义之cocos2d中的动画

cocos2d中的动画在每一个游戏当中,都有很多各种各样的动画效果,比如街头霸王中的旋风腿,植物大战僵尸中豌豆的扭动、僵尸的走路、攻击动作等,虽然简单的移动动作也可以实现这些功能,但是这样看上去非常的笨拙和不真实。那么这些效果到底是如何实现的呢?其实很简单,我们只需要将一系列图片按照特定的顺序排列,然后在精灵对象上执行特定的动画动作就可以了。1 cocos2d中动画相关的类在cocos2d中实现动画,需要了解以下几个类。 q CCAnimate:该类为一种特殊的动作,也称为动画动作。 q CCAnimation:该类封装了一个精灵帧序列和各个精灵帧之间的延迟时间,作为精灵播放动画的参数。 q CCAnimationCache:该类是一个单例,作为一个缓存池来缓存CCAnimation动画。2 简单动画效果接下来我们通过示例演示在cocos2d中实现动画效果。在Xcdoe中使用cocos2d模板创建一个项目,命名为“AnimationTest”,加入准备好的图片资源,本例为8张植物大战僵尸中的僵尸图片,利用这些单独的图片创建动画,完成一个僵尸走路的动画效果。实现代码如下。 程序清单:codes/13/13.11/AnimationTest/AnimationTest/HelloWorldLayer.m -(id) init { if( (self=[super init]) ) { CGSize winSize = [[CCDirector sharedDirector] winSize]; CCSprite* bgSprite = [CCSprite spriteWithFile:@"gamebg.png"]; bgSprite.position = ccp(winSize.width/2,winSize.height/2); [self addChild:bgSprite]; // 创建僵尸精灵,并设置坐标位置在屏幕之外 CCSprite* zSprite = [CCSprite spriteWithFile:@"z_00_01.png"]; zSprite.position = ccp(winSize.width+zSprite.contentSize.width/2,winSize.height/2); [self addChild:zSprite]; // 创建CCAnimation动画,指定动画帧的内容 CCAnimation* anim = [CCAnimation animation]; [anim addSpriteFrameWithFilename:@"z_00_01.png"]; [anim addSpriteFrameWithFilename:@"z_00_02.png"]; [anim addSpriteFrameWithFilename:@"z_00_03.png"]; [anim addSpriteFrameWithFilename:@"z_00_04.png"]; [anim addSpriteFrameWithFilename:@"z_00_05.png"]; [anim addSpriteFrameWithFilename:@"z_00_06.png"]; [anim addSpriteFrameWithFilename:@"z_00_07.png"]; [anim addSpriteFrameWithFilename:@"z_00_08.png"]; // 创建animAction动画,restoreOriginalFrame:YES // 可以让精灵对象在动画执行完后恢复到最初状态 id animAction = [CCAnimate actionWithDuration:1.5f animation:anim restoreOriginalFrame:YES]; // 定义一个动作,重复执行CCAnimate动画 id repeatanimAction = [CCRepeatForever actionWithAction:animAction]; // 定义一个动作,让精灵对象移动到特定的位置 id moveTo = [CCMoveTo actionWithDuration:10.0f position:ccp(-zSprite.contentSize.width/2,winSize.height/2)]; // 僵尸精灵重复执行动画动作和移动动作 [zSprite runAction:repeatanimAction]; [zSprite runAction:moveTo]; } return self; } 复制代码 上面代码首先在屏幕中添加了一个背景精灵图片,然后创建了一个僵尸精灵,最后使用 8 张图片创建了一个简单的僵尸行走动画,并让僵尸精灵对象反复执行该动画并移动。这样就完成了一个僵尸从屏幕一边走到另一边的动画效果。单击“ Run ”按钮执行 AnimationTest 项目,模拟器显示如图 13.48 所示。 3 使用精灵表单实现动画效果 上一节实现了一个简单的动画效果,在实际开发工作当中,通常会使用更加高效的方式来完成动画,就是使用我们前面介绍过的精灵表单。上一节使用单独的精灵,每次都需要调用 OpenGL ES 的绘图命令,速度会大大降低;而如果使用精灵表单,无论纹理图集上有多少精灵,只需要调用一次绘图命令即可。所以使用精灵表单,可以大大提升游戏的性能。 首先按照 13.9.6 节制作精灵表单的步骤,将所有的图片制作成精灵表单。 ① 加载图片。把所有的精灵图片拖动到 Zwoptex 的空白处,然后单击工具条上的“ Layout ”按钮,显示效果如图 13.49 所示。 ② 单击工具条上的“ publish Settings ”按钮,在 Texture 下的“ Save To File ”处设置生成的 PNG 文件名和路径,在 Coordinates 下的“ Save To File ”处设置生成的 plist 文件名和路径,完成后单击“ Done ”按钮保存设置。 ③ 单击上方左侧的“ Publist ”按钮生成所需要的 plist 文件和 PNG 文件。 接下来我们使用精灵表单来实现动画效果。在 Xcdoe 中使用 cocos2d 模板创建一个项目,命名为“ AnimationCacheTest ”,加入准备好的 plist 文件和图片资源。实现代码如下。 程序清单: codes/13/13.11/AnimationCacheTest/AnimationCacheTest/HelloWorldLayer.m -(id) init { if( (self=[super init]) ) { CGSize winSize = [[CCDirector sharedDirector] winSize]; // ①读取plist文件将精灵帧纹理添加到精灵帧缓存当中 [[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"animation.plist"]; // ②创建一个精灵表单 CCSpriteBatchNode* batchNode = [CCSpriteBatchNode batchNodeWithFile:@"animation.png"]; // ③将精灵表单作为层的子节点添加到层当中 [self addChild:batchNode]; // ④创建背景精灵添加到精灵表单中 CCSprite* bgSprite = [CCSprite spriteWithSpriteFrameName:@"gamebg.png"]; bgSprite.position = ccp(winSize.width/2,winSize.height/2); [batchNode addChild:bgSprite]; // ⑤创建僵尸精灵,设置坐标位置在屏幕之外 CCSprite* zSprite = [CCSprite spriteWithSpriteFrameName:@"z_00_01.png"]; zSprite.position = ccp(winSize.width+zSprite.contentSize.width,winSize.height/2); // ⑥创建一个数组用来保存动画 NSMutableArray* array = [NSMutableArray array]; // 遍历所有图片,然后从精灵帧缓存中获取与图片名称相对应的精灵帧保存到数组当中 for(int i = 1;i<=8;i++){ NSString* fileName = [NSString stringWithFormat:@"z_00_0%i.png",i]; CCSpriteFrame* frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:fileName]; [array addObject:frame]; } // ⑦创建一个动画并设计成重复动作 id animation = [CCAnimation animationWithSpriteFrames:array delay:0.1f]; id animate = [CCAnimate actionWithAnimation:animation]; id repeate = [CCRepeatForever actionWithAction:animate]; // ⑧创建一个CCMoveTo让精灵移动到特定的位置 id moveTo = [CCMoveTo actionWithDuration:10.0f position:ccp(-zSprite.contentSize.width/2,winSize.height/2)]; // ⑨让僵尸精灵运行动画和移动动作 [zSprite runAction:repeate]; [zSprite runAction:moveTo]; // ⑩将僵尸精灵添加到精灵表单中 [bgSprite addChild:zSprite]; } return self; } 复制代码 上面程序中,编号①代码读取 animation.plist 文件将精灵帧纹理添加到精灵帧缓存当中。编号②代码根据 animation.png 文件创建一个精灵表单。编号③代码将精灵表单作为层的子节点添加到层当中。编号④代码创建背景精灵添加到精灵表单中。编号⑤代码创建僵尸精灵,并设置坐标位置。 编号⑥代码创建一个数组,并遍历所有图片,然后从精灵帧缓存中获取与图片名称相对应的精灵帧保存到数组当中。编号⑦代码创建动画对象并传入精灵图片帧数组,同时指定动画的播放速度,然后将动画设计成一个重复的动作。编号⑧代码创建一个 CCMoveTo 让精灵移动到特定的位置。 编号⑨代码让僵尸精灵执行动画和移动的动作。编号⑩代码将僵尸精灵添加到精灵表单中。 通过以上步骤,我们就完成了通过精灵表单创建 cocos2d 动画效果的过程。单击“ Run ”按钮执行 AnimationCacheTest 项目,模拟器显示和直接使用图片帧创建动画的效果一样。使用精灵表单可以大大提升游戏的性能,在实际的项目开发当中应该更多地采用精灵表单的方式加载所有的精灵对象。 本文转自 fkJava李刚51CTO博客,原文链接:http://blog.51cto.com/javaligang/1396113,如需转载请自行联系原作者

优秀的个人博客,低调大师

【玩转数据系列十】利用阿里云机器学习在深度学习框架下实现智能图片分类

伴随着今日阿里云机器学习PAI在云栖大会的重磅发布,快来感受下人工智能的魅力。 一、背景 随着互联网的发展,产生了大量的图片以及语音数据,如何对这部分非结构化数据行之有效的利用起来,一直是困扰数据挖掘工程师的一到难题。首先,解决非结构化数据常常要使用深度学习算法,上手门槛高。其次,对于这部分数据的处理,往往需要依赖GPU计算引擎,计算资源代价大。本文将介绍一种利用深度学习实现的图片识别案例,这种功能可以服用到图片的检黄、人脸识别、物体检测等各个领域。 下面尝试通过阿里云机器学习平台产品,利用深度学习框架Tensorflow,快速的搭架图像识别的预测模型,整个流程只需要半小时,就可以实现对下面这幅图片的识别,系统会返回结果“鸟”: 二、数据集介绍 本案例数据集及相关代码下载地址:https://help.aliyun.com/docu

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册