MMdnn 是微软开源的一套帮助用户在不同深度学习框架之间进行互操作的工具,包括模型转换和可视化。目前支持在 Caffe、Keras、MXNet、Tensorflow、CNTK、PyTorch 和 CoreML 等框架之间进行模型转换。
通过以下命令行获取稳定版的 MMdnn:
pipinstall或者通过以下命令尝试最新版本:
pipinstall-Ugit+
业界和学界存在大量现有框架,适合开发者和研究者来设计模型,每个框架具备自己的网络结构定义和模型保存格式。框架之间的差距阻碍了模型的交互操作。
我们提供一个模型转换器,帮助开发者通过中间表征格式转换模型,以适合不同框架。
每个支持的框架都有详细的 README 文档,它们可以在以下conversion件夹找到。
地址:Caffe Keras MXNet TensorFlow(实验阶段,强烈建议先阅读 README) Microsoft Cognitive Toolkit (CNTK) PyTorch CoreML(实验阶段)
我们在部分 ImageNet 模型上对当前支持的框架间模型转换功能进行了测试。
正在测试的框架: PyTorch CNTK Caffe2 ONNX 正在测试的模型: RNN 图像风格迁移 目标检测
你可以使用 MMdnn 模型可视化工具(),提交自己的 IR json 文件进行模型可视化。为了运行下面的命令行,你需要使用喜欢的包管理器安装 Requests、Keras、TensorFlow。
使用 Keras inception_v3 模型作为示例。
\1. 下载预训练模型:
python-mmmdnn.conversion.examples.keras.extract_model-ninception_v3
\2. 将预训练模型文件转换成中间表征格式:
python3-mmmdnn.conversion._.convertToIR-fkeras-dkeras_inception_v3-nimagenet_inception_v3.json
\3. 打开 MMdnn 模型可视化工具地址(),选择文件 keras_inception_v3.json。
本项目仍在继续开发与探索,它需要各位读者完善中间表征与支持的框架。因此,该项目的作者表示他非常希望有开发者能提供新的运算或扩展。
中间表征:中间表征在 protobuf 二进制文件中储存网络架构,在 NumPynative 格式中储存预训练权重。此外,目前 IR 权重数据使用的是 NHWC 格式。中间表征的细节请查看 ops.txt 和 graph.proto 文件。 框架:我们正在扩展到其它框架版本和可视化工具,例如 Caffe2、PyTorch 和 CoreML 等。此外,本项目也在积极开发 RNN 相关的操作方法。
以下是该项目实现框架转换的基本案例,其中包括官方的教程和用户提供的各种案例,机器之心简要介绍了官方 Keras 到 CNTK 的转换教程。 官方教程:
Keras “inception_v3” to CNTK 用户案例:
MXNet “resnet 152 11k” to PyTorch MXNet “resnext” to Keras Tensorflow “resnet 101” to PyTorch Tensorflow “mnist mlp model” to CNTK Tensorflow “Inception_v3” to MXNet Caffe “AlexNet” to Tensorflow Caffe “inception_v4” to Tensorflow Caffe “VGG16_SOD” to Tensorflow Caffe “Squeezenet v1.1” to CNTK
1. 安装 Keras 和 CNTK
pipinstallkeraspipinstallpipinstall2. 准备 Keras 模型
以下示例将首先下载预训练模型,然后使用简单的模型抽取器从 Keras 应用中获取模型,抽取器将抽取 Keras 模型架构和权重。
$python-mmmdnn.conversion.examples.keras.extract_model-ninception_v3UsingTensorFlowbackend.Downloadingdatafrom架构文件 imagenet_inception_v3.json 和权重文件 imagenet_inception_v3.h5 会下载至当前工作目录。
3. 将预训练模型文件转换为中间表征
$python-mmmdnn.conversion._.convertToIR-fkeras-dconverted-nimagenet_inception_v3.json-wimagenet_inception_v3.h5UsingTensorFlowbackend....Networkfile[imagenet_inception_v3.json]isloadedsuccessfully.IRnetworkstructureissavedas[converted.json].IRnetworkstructureissavedas[converted.pb].IRweightsaresavedas[converted.npy].
以上的命令会将 imagenet_inception_v3.json 作为神经网络架构的描述文件,imagenet_inception_v3.h5 作为预训练权重。然后计算出中间表征文件 converted.json 用于可视化,计算出 converted.proto 和 converted.npy 以进一步转换为其它框架。
4. 转换 IR 文件为 CNTK 模型
$python-mmmdnn.conversion._.IRToCode-fcntk-dconverted_cntk.py-nconverted.pb-wconverted.npyParsefile[converted.pb]withbinaryformatsuccessfully.Targetnetworkcodesnippetissavedas[converted_cntk.py].
你将得到文件 converted_cntk.py,包括构建 Inception V3 网络的原始 CNTK 代码。
经过这三步,你已经将预训练 Keras Inception_v3 模型转换成 CNTK 网络文件 converted_cntk.py 和权重文件 converted.npy。你可以用这两个文件调整训练或推断。
5. 转存原始 CNTK 模型
$python-mmmdnn.conversion.examples.cntk.imagenet_test-nconverted_cntk-wconverted.npy--dumpcntk_inception_v3.dnn...CNTKmodelfileissavedas[cntk_inception_v3.dnn],generatedby[converted_cntk.py]and[converted.npy].
CNTK 可直接加载文件 cntk_inception_v3.dnn。
VB和VC哪个作用大
VB适合快速建立应用,简单、方便、高效VC适合高级程序员进行大型软件开发或者编写底层系统应用Visual Basic 提供了强大的可视化编程能力,可以让你轻松地做出漂亮的程序。
(3)众多的控件让编程变得象垒积木一样简单。
(4)Visual Basic 的全部汉化让我们这些见了English就头大的人喜不自禁。
缺点(1)Visual Basic 不是真正的面向对象的开发文具。
(2)Visual Basic 的数据类型太少,而且不支持指针,这使得它的表达能力很有限。
(3)Visual Basic 不是真正的编译型语言,它产生的最终代码不是可执行的,是一种伪代码。
它需要一个动态链接库去解释执行,这使得Visual Basic 的编译速度大大变慢 优点(1)C语言灵活性好,效率高,可以接触到软件开发比较底层的东西。
(2)微软的MFC库博大精深,学会它可以让随心所欲地进行编程。
(3)VC是微软制作的产品,与操作系统的结合更加紧密。
缺点对使用者的要求比较高,既要具备丰富的C语言编程经验,又要具有一定的WINDOWS编程基础,它的过于专业使得一般的编程爱好者学习起来会有不小的困难。
综述: VC是程序员用的东西。
如果你是一个永不满足的人,而且可以在编程上投入很大的精力和时间,那么学习VC你一定不会后悔的。
现在比较好用的前端开发工具有哪些啊?
作为一个前端开发工程师,使用一款自己上手且功能强大的开发工具是非常重要的,但是面对这么多开发工具,到底哪个比较好呢?下面我个人推荐几款自己感觉还不错的前端开发工具,希望作为大家的参考。
1、hBuilder作为一个编程的菜鸟,对于英语真的是有心无力,尤其是一些国外的开发工具都是英文界面,我就非常的不喜欢。
hbuilder是国产的一款前端开发工具而且是免费的,对于英语不好的前端工程师是一个不错的消息。
hbuilder的官方大致是这么解释为什么要开发hbuilder的:HTML最开始其实不是一个编程语言,确实用不着什么ide。
但是发展到现在,7w多个语法,js越来越庞大,真开发一个达到原生水准的APP,不是用以前的文本编辑器能搞定的。
目前竟然没有一个开发工具能把7w多HTML5语法提示齐全,这不科学,在原生开发里这是不可想象的,xcode之于iOS,eclipse之于Android,vs之于winphone,在语法提示、转到定义、重构、调试等方面都非常高效。
作为同时熟悉原生和HTML5开发的我们,我们在开发HTML5时明显感受到效率低下。
于是有了hubuilder。
确实是hubuilder支持左右的前端语法代码提示,这个是我最喜欢的它的一个原因,而且还有强大的其他语言支持和开发webapp等功能,强大到没朋友。
缺点也是有一些的,就是其有些稳定,有时可能会有些卡顿的现象,希望官方修复。
2、sublime textsublime text是一个轻量级的编辑器,也是支持各种编程语言,sublime text所有的强大功能都是支持插件的,而且快捷键十分的好用,可以极大的减少开发的劳动程度,使用sublime就是要使用其快捷键和插件。
该软件的优点的轻量级但是功能强大,缺点是对于项目的管理等不是很方便,代码提示不如hubuilder强大。
3、dreamwave这是一款很经典的前端开发工具了,以前人们使用的是它的可视化开发工具,但是现在它只能是作为一个代码编辑器来使用的,当然一些可视化的功能现在也是用的上,如要插入Flash视频等还是使用可视化简单一些,毕竟不是所有人都能纯手写哪些意义不大的代码,优点是人们熟悉稳定,支持一些可视化的插入操作,缺点是代码提示不好,不能进行快速的开发只能是作为学习使用。
总结:以上只是前端开发工具中个人比较熟悉的,除此之外还有很多优秀的前端开发工具如webstorm等,大家可根据自己的喜好选择自己习惯的工具进行开发。
怎样在QQ聊天中打出繁体字?
[原创]如何快速简单地打出繁体字?一起来~! 微软拼音可以输入繁体字,这个很多人都知道,但也有不少人不了解,如果你没有用过,那就跟我来吧! 正文:微软公司从中文版Windows发布开始就一直没有忘记对繁体字的支持,任何一款Windows其实都内置了繁体字输入法,可以让用户在任意一台没有安装特定软件的计算机上输入繁体字,Windows的繁体字拼音输入法整合在微软拼音这个输入法内,激活的方法非常简单,微软拼音的状态条上有个“简”字,点击它既可变成“繁”字,这时你就可以打出你要的繁体字来了!(注:如果没有看到状态条,那就先要显示它,方法很简单我就不再赘述了) =================================================== windows会自带安装可打繁体字的“微软拼音输入法”,其打开方法: 点控制面板>区域和语言选项>点“语言”选项卡---详细信息>点“设置”选项卡>添加>在键盘布局/输入法中选择“微软拼音输入法”>确定即可调出可打繁体字的微软拼音输入法 以下列举将简体改繁体的二种输入法: 1.微软拼音输入法:在输入条上点“功能菜单”(最右边那个按钮)>输入选项>常规>在字符集中点选“繁体中文”>确定 2.陈桥五笔:右击输入条>参数设置>汉字输出设置>点选输出繁体汉字>确定 ============ 可以用 微软拼音 3.0 在选定 微软拼音 3.0 状态下点击选项点击出 简/繁 体状态设置! =============== 没有办法帮你打 因为提交的繁体字网络会自动转换成简体字 用全拼就可以打出繁体字了.正常打一个字,按完拼音,向下翻页即可.繁体字都在后面 把想要转成繁体字的字复制到WORD中 点击菜单栏中的“繁”就转了 紫光拼音输入法可以做到
发表评论