热门标签

打印 上一主题 下一主题

[教学] GH_Cpython——将原生的 Python 与机器学习框架引入Grasshopper

[复制链接]
查看: 10175|回复: 3

4

主题

34

帖子

158

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
158
跳转到指定楼层
楼主
发表于 2017-8-15 21:28:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式


我们都知道 Rhino 和 Grasshopper 中的 Python 并不是真正原生的 Python ,而是在 .net Framework 框架之上的 IronPython,所以大家都有一个共同的烦恼,就是 IronPython 架构上第三方的代码库太少了。很多在原生 Python 上最基础的库,在 IronPython 上都是不能用的,甚至连先前可以使用的 numpy for .net 都已经停止维护了,我上个月在重装操作系统以后,再想将 numpy 安装到 Rhino 中,发现网络上所有安装 numpy 的链接都已经失效了,为此我还后悔了好久,没有将 numpy 的安装包备份下来。

没想到惊喜还是来的很快,在刚刚过去的 8 月 12 日,Food4Rhino 上出现了这款名为 GH_Cpython 的工具,作者署名为 MahmoudAbdelRahman,经过测试,该插件能够将安装在本机的原生 Python 嵌入到 Grasshopper 中,可以传入 Grasshopper 中的数据,然后在 GH_Cpython 中进行计算并输出计算结果,安装在本机 Python 中的各种代码库,也都能够引用 Grasshopper ,比如最近很热门的 Google 深度学习架构——TensorFlow,同样可以引入并执行运算。TensorFlow 就是大名鼎鼎的 AlphaGo 的深度神经网络后端。


由于 GH_Cpython 是原生的 Python ,所以其计算速度要比 .net Framework 上的 IronPython 快很多,从下面的截图就可以看到执行同样的内容计算速度的不同:






下面给大家大概演示一下如何配置 GH_Cpython


GH_Cpython 的下载地址:http://www.food4rhino.com/app/ghcpython
GitHub 源码:  https://github.com/MahmoudAbdelRahman/GH_CPython


插件安装和 Grasshopper 中其他插件的安装方式没有任何不同,将解压得到的 gha 文件和 dll 文件复制到 Grasshopper >> File >> Componts 文件夹中即可。





安装好后 Maths 分类下的 Scripts 中就会出现一个黑色的 Python 图标





首次运行会要求用户选择使用本机中的哪个 Python 环境:





建议大家和我一样,在本地电脑上安装 Anaconda ,这样就可以同时安装多个相互独立的 Python 运行环境,要使用不同版本依赖库的时候就特别方便了,下图就是我的 Anaconda 中多个运行环境:





至于如何配置 Python 的运行环境,大家可以根据需要自行百度。


如果需要更改 GH_Cpython 的运行环境,可以点击该组件下方的蓝色长条,就可以再次打开环境选择对话框:





我选择的是一个安装了 GPU 版本 TensorFlow 的 Python 3.5.3 版本运行环境,然后写几句测试语句进行运算,可以看到执行结果和原生 Python 中一模一样,同样支持 TensorFlow 的 GPU 运算:





Python 版本为 3.5.3 ,TensorFlow Session 的计算结果也是正确的。


同时在输出信息末尾也可以看到 Tensorflow 的 GPU 也没有问题,使用的是我电脑中编号为 0 的GPU ,即这台电脑上唯一显卡的 GPU:





以上就是 GH_Cpython 的安装和简单测试,有了这个强大的工具,是不是意味着我们就可以放弃 IronPython 了呢?答案是否定的,GH_Cpython 在 Grasshopper 中可以承担的角色只能是作为计算的工具,而不能完完全全把它当作 RhinoPython 来用,这是因为 RhinoCommon 代码库是基于 .net Framework 的,所以在 GH_Cpython 中无法调用 Rhino 中的函数,要调用 Rhino 的函数还是得用 IronPython。不过这两个工具配合使用,还是能解决很多问题的。这个工具的 UI 目前也还是不完善,自动填充等等功能目前也都还没有,不过毕竟才是第一版,相信后续的版本会有所改进。
收藏 分享
回复

使用道具 举报

8

主题

20

帖子

468

积分

中级会员

Rank: 3Rank: 3

积分
468
沙发
发表于 2017-8-15 23:45:35 | 只看该作者
感觉要无敌了
回复

使用道具 举报

18

主题

166

帖子

984

积分

超级版主

Rank: 8Rank: 8

积分
984
板凳
发表于 2017-8-16 10:20:15 | 只看该作者
这简直是福利呀
[db:签名]
回复

使用道具 举报

0

主题

2

帖子

373

积分

中级会员

Rank: 3Rank: 3

积分
373
地板
发表于 2017-8-26 00:04:23 | 只看该作者
这是大众福利呀     支持支持
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩推荐

Rhino 6 的授权管理模式的调整与转换

2020-08-20 图文教学

2020冬季 Rhino 建筑造型系统面授课程

2020-03-21 面授课程

课程介绍|Rhino工业/艺术设计曲面造型高级

2020-03-20 面授课程

2020暑期 Grasshopper参数化系统面授课程

2020-03-20 面授课程

VisualARQ 2.7 发布更新

2020-02-17 新闻

VisualARQ 2.6 发布更新

2019-12-12 新闻

ShapeMap–复杂形体的表面纹理贴合参数化插

2019-11-04 新闻

图文教学 | Rhino 6 细分建模 BARCELONA 椅

2019-06-30 图文教学

Rhino3D(犀牛)中文网

  • 深圳:0755-29642189
  • 上海:021-56496412
  • 成都:028-61592400
  • support@shaper3d.com

关注我们

Copyright   ©2007-2017  Rhino3D犀牛中文网  Powered by©Discuz!     ( 粤ICP备12051517号-5