在本文中,我们将给您介绍关于开源公告|微信云端深度学习推理框架WeChatTFCC开源啦!的详细内容,此外,我们还将为您提供关于2015元宵节礼物——《刀塔传奇》骨骼动画查看器,开源啦!、Cocos2
在本文中,我们将给您介绍关于开源公告|微信云端深度学习推理框架 WeChat TFCC 开源啦!的详细内容,此外,我们还将为您提供关于2015元宵节礼物——《刀塔传奇》骨骼动画查看器,开源啦!、Cocos2d-x游戏《雷电大战》开源啦!要源码要资源快快来~~、Cordova 微信支付cordova-plugin-wechat 问题总结、Crabc低代码API开发管理平台,开源啦的知识。
本文目录一览:- 开源公告|微信云端深度学习推理框架 WeChat TFCC 开源啦!
- 2015元宵节礼物——《刀塔传奇》骨骼动画查看器,开源啦!
- Cocos2d-x游戏《雷电大战》开源啦!要源码要资源快快来~~
- Cordova 微信支付cordova-plugin-wechat 问题总结
- Crabc低代码API开发管理平台,开源啦
开源公告|微信云端深度学习推理框架 WeChat TFCC 开源啦!
WeChat TFCC 是微信技术架构部后台团队研发的服务端深度学习通用推理框架,也是腾讯深度学习与加速Oteam云帆的开源协同成果,具有高性能、易用、通用的特点,已在微信视频号、微信开放平台推荐系统、微信画像、微信智聆语音识别、语音合成等业务广泛使用; 支持81个ONNX Operation和108个Tensorflow Operation,覆盖推荐、NLP、语音等场景的各种主流模型,同时更多的Operation在持续接入中。
特性
WeChat TFCC由Library、Runtime、Generator三大组件构成,通过层层抽象、互相配合的方式,在保证高性能的前提下,极大的提高了扩展性和通用性。
一、高性能
TFCC通过模型结构优化、常数跟踪、算子优化等多方面措施优化通用模型推理性能。下图是BERT(bert-base)模型下的QPS对比,可以看到TFCC在CPU/GPU的性能都处于较高水准。
模型结构优化
模型结构优化包含常数折叠、模型剪枝、算子融合等。常数折叠可以预先算好部分数据,减少线上运行时的计算量。模型剪枝是减少模型的无用分支,算子融合是将多个小算子融合成一个大算子,减少内存和显存的带宽压力。
常数跟踪
常数跟踪是指跟踪常量的走向,是比常量折叠更激进的优化方案,该方案可以对详细区分一个矩阵存在的局部常量,从而得到模型的更详细的信息,达到更好的模型结构优化效果。
算子优化
TFCC Math Library是TFCC底层的算子库,部分算子是对底层oneDNN及cublas的封装,部分则是经过汇编级优化的高性能算子。CPU支持使用AVX2、AVX512指令集加速运算。
二、易用性
TFCC提供了一套完善的工具,可以很方便的一条命令将ONNX模型和Tensorflow模型转化为TFCC模型,然后由Runtime动态读入图结构,并用JIT技术动态生成图调用链, 业务无需编写模型代码,即可将训练模型转换并部署高性能运行。
三、通用性
TFCC的通用性包含模型通用性和硬件通用型两个方面。
模型通用性
TFCC提供一套完善的工具,通过类编译器架构:Frontend->Optimizer->Backend结构,将ONNX模型和Tensorflow模型转换为统一的TFCC内部模型表示。当前支持81个ONNX Operation和108个Tensorflow Operation,覆盖推荐系统、NLP等场景的主流模型;由于使用类编译器架构,WeChat TFCC可以很方便的进行平行扩展,以支持更多种类更多模型。
硬件通用性
TFCC目前支持的硬件平台有X86-64平台的CPU及NVIDIA的GPU,切换平台只需要修改调用参数即可,并且基于不同平台的特点进行汇编级性能优化。
结语
TFCC专耕于服务端的深度学习推理,还在不断迭代中,后续会加入更多的特性及性能优化,敬请期待。
开源地址:https://github.com/Tencent/WeChat-TFCC
2015元宵节礼物——《刀塔传奇》骨骼动画查看器,开源啦!
首先声明,我不是第一个做出类似查看器的首作者,我所知道的首作者是johance,以下是它在cocoschina发布的贴子。
分享 刀塔查看器Flash導出版本(帶詳細解析說明)和Flash導入導出批處理文件
http://www.cocoachina.com/bbs/read.php?tid-219173.html
贴子里面描述了《刀塔传奇》骨骼动画的文件格式,我是参考这个文件格式写出来的。我的实现思路是将*.fca文件转换成DragonBonesCPP所需要的格式,然后就可以通过DragonBonesCPP播放出来了。注意这里没有转换成DragonBonesCPP的skeleton.xml,而是直接转换成了DragonBonesCPP解析skeleton.xml后的数据结构,免去了中间环节。当然你也可以通过我实现的代码接口导出DragonBonesCPP的三个文件sheet.pvr、texture.xml、skeleton.xml,然后像平时使用DragonBonesCPP的那样来加载播放,这样可以避免加载时转换,效率更高。
*.fca文件是一个zip压缩包,将其用WinRAR解压缩出来后,可以得到cha、plist、sheet.pvr三个文件,其中sheet.pvr是纹量集图片,包含了该角色使用的所有骨骼碎图。plist是纹量集的骨骼碎图描述文件,描述了每个骨骼碎图在sheet.pvr大图中的坐标、大小等区域信息。cha是骨骼动画数据文件,其格式如下所述。
cha格式:
声明:
以下格式来自于johance公布的贴子,只做了少量修饰和补充。
{}表示一个数据结构,带...表示有多个数据结构。
角色名称长度(4B)
角色名称 不包含"\0"
骨骼数量(4B)
{
骨骼名称长度(4B)
骨骼名称
骨骼图片文件名长度(4B)
骨骼图片文件名
骨骼索引(4B)
}...
动画个数(4B)
{
动画名称长度(4B)
动画名称
未知数据(4B) 固定为0x41c00000
动画帧数(4B)
{
帧类型(4B)
{
// 帧类型为1时才需要解析这个结构,否则跳过这个结构
未知数据1(4B)
声音文件名称长度(4B)
声音文件名称
未知声音数据(32B)
未知数据2(4B)
}
当前帧使用的骨骼数量(4B)
{
骨骼索引(2B)
透明度(1B)
a、b、c、d、tx、ty(类似Flash中的Matrix的6个float)
}...
}...
}...
类似Flash中的Matrix的6个float的详细含义请参考以下文章和AS代码。
as3中Matrix详解
http://wgcode.iteye.com/blog/838550
MatrixTransformer.as:
public static function getScaleX(m:Matrix):Number { return Math.sqrt(m.a*m.a + m.b*m.b); } public static function getScaleY(m:Matrix):Number { return Math.sqrt(m.c*m.c + m.d*m.d); } public static function getSkewX(m:Matrix):Number { return Math.atan2(-m.c,m.d) * (180/Math.PI); } public static function getSkewY(m:Matrix):Number { return Math.atan2(m.b,m.a) * (180/Math.PI); }
《刀塔传奇》骨骼动画查看器:
《刀塔传奇》山寨版(未完成,将在之后一段时间再开源):
Cocos2d-x-3.3 Final
DragonBonesCPP
Windows安装包下载地址:
http://pan.baidu.com/s/1dDyBu85
Android安装包下载地址:
http://pan.baidu.com/s/1rVOCI
资源下载地址:
http://pan.baidu.com/s/14NgoI
项目地址:
https://github.com/zym2014/DotaSkeletonAnim
Cocos2d-x游戏《雷电大战》开源啦!要源码要资源快快来~~
写在前面的话:这是笔者开发的第二个小游戏《雷电大战》,之前就过这个游戏和《赵云要格斗》一样,最终将会开源。由于自己的一些个人原因。这个游戏还没有完成,但是许多网友都过来寻求代码或资源,本着开源的精神,笔者今天将它们共享给出大家。
注:目前游戏还没有完成,代码全是笔者原创,资源有一部分原创,有一部分网上搜集。
若是觉得本项目对你有用,那么请给辛苦的笔者的GitHub右上角Star一颗星星!不胜感激~~~~
下载地址
https://github.com/appleappleapple/GameOfShooting
游戏专辑
http://blog.csdn.net/column/details/cocos2dxforgame.html
专辑目录
Cocos2d-x《雷电大战》(1)-双层地图无限滚动
Cocos2d-x《雷电大战》(2)-精灵随手指移动,你点哪我走哪!
Cocos2d-x《雷电大战》(3)-子弹无限发射
Cocos2d-x《雷电大战》(4)-策略模式实现不同子弹切换!!
Cocos2d-x《雷电大战》(5)-单例模式英雄飞机闪亮登场!
Cocos2d-x《雷电大战》(6) 智能敌机AI来袭–飞行路径算法设计与实现(上)
Cocos2d-x《雷电大战》(6) 智能敌机AI来袭–飞行路径算法设计与实现(下)
工程目录
简要介绍
《雷电大战》是一框射击类游戏,代码全部是本人原创,资源图片部分原创,部分网上搜集。游戏的具体代码实现过程以及游戏效果请看笔者博客地址:http://www.jb51.cc/tag/http://blog.csdn.net/evankaka
项目环境
Cocos2d-x版本:3.3以上 (至少 3.X)
开发环境:VS2013 + WIN7
游戏专辑地址:http://www.jb51.cc/cata/246316
项目
1.打开方式
找到proj.win32文件夹下,test.sln。然后使用VS2013打开即可,同时配置Cocos2d-x3.x版本,2.x是编译不通过的!
2.代码路径
主目录Classes文件夹下,具体文件可看博文内容
3.资源路径
主目录Resources文件夹下
部分效果
其它Cocos2d-x项目
《赵云要格斗》
Cordova 微信支付cordova-plugin-wechat 问题总结
cordova-plugin-wechat是cordova微信支付的插件安装方法请见文档,这里不再说明
https://www.npmjs.com/package/cordova-plugin-wechat
按照官方步骤安装并验证成功后发起支付
var params = {
partnerid: ''10000100'', // merchant id
prepayid: ''wx201411101639507cbf6ffd8b0779950874'', // prepay id
noncestr: ''1add1a30ac87aa2db72f57a2375d8fec'', // nonce
timestamp: ''1439531364'', // timestamp
sign: ''0CB01533B8C1EF103065174F50BCA001'', // signed string
};
Wechat.sendPaymentRequest(params, function () {
alert("Success");
}, function (reason) {
alert("Failed: " + reason);
});
这里的参数是调用微信支付api
1.统一下单接口 拿到prepayid https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1
注意:开发文档选择app支付
2.根据微信支付demo 生成parms参数即可
遇到的问题以及排查步骤:
1.Wechat.sendPaymentRequest()方法提示普通错误,经查看代码发现是因为微信调起支付接口返回-1签名错误。
经过签名工具核对参数名以及值发现都是正确的
验签工具地址:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=20_1
2.经过仔细其他网友资料发现
这里说的是Android系统
导致签名错可能是对apk签名时使用的keystone错误,keystone的生成alisa生成不再说明(因为不是做app开发没有深究,只拿的之前生成的)
具体可以参考cordova 文档http://cordova.axuer.com/docs/zhcn/latest/guide/platforms/android/index.html#签名一个应用
执行
cordova run android --release -- --keystore=../my-release-key.keystore --storePassword=password --alias=alias_name --password=password
.
即可成功。
Crabc低代码API开发管理平台,开源啦
Crabc 是一款低代码开发平台,企业级 API 接口发布和管理系统,采用 SpringBoot、JWT、Mybatis 等框架实现。 支持(mysql、oracle、postgresql、sqlserver、elasticsearch、mongodb) 等数据源, 在编辑框内编写 SQL 后即可快速生成 Rest 接口对外提供服务, 可通过插件的方式扩展支持其他的数据源。平台还将支持接口转发、黑白名单、权限认证、限流、缓存、监控等一站式服务功能。
Crabc让非技术人员也可参与到业务功能的开发和实现,只要会写SQL就可以快速的开发出来功能完备的API接口,API参数、请求方式、授权等功能轻松修改即可生效。
基于 Crabc 接口发布和管理的能力,企业快速搭建一套后台系统为 APP、web 或多方系统对接提供接口平台。70% 的接口都可在 Crabc 平台上完成开发和管理,释放开发人员的基础功能开发时间,让开发人员只专注于复杂的业务逻辑实现。
开源地址:https://gitee.com/linebyte/crabc
关于开源公告|微信云端深度学习推理框架 WeChat TFCC 开源啦!的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于2015元宵节礼物——《刀塔传奇》骨骼动画查看器,开源啦!、Cocos2d-x游戏《雷电大战》开源啦!要源码要资源快快来~~、Cordova 微信支付cordova-plugin-wechat 问题总结、Crabc低代码API开发管理平台,开源啦的相关知识,请在本站寻找。
本文标签: