(首先假定读者有基本的Linux/Houdini/Python操作经验)
Houdini作为最好的程序化建模软件,又正好深度学习框架大部分在Python中,那么进行一些建模/图形的深度学习任务时,怎么能少得了在Houdini?然而有几乎没有文章讲如何在Houdini中使用Tensorflow或者Pytorch,本文聊一聊这个。
笔者查到的唯一一篇文章是这个:
作者在Houdini里搭建了一个Minst识别程序。本文先不讲应用,主要是安装步骤,下一篇再讲应用。
首先一个问题是,Windows下行不行?
笔者感觉,想直接在Houdini里写Python,似乎不能用Windows。主要原因是Windows版本的Houdini使用的一个特殊编译的Python2.7.5版本,一些其它python版本预编译的package会导致houdini闪退。如果想在Windows下部署,似乎只能考虑本地RPC的方式,或者在云端部署深度学习服务。
因此和takavfx的方法一样,在Linux下部署!
另外一个问题是blinux下安装C一些版本比较新的package会导致闪退,所以都不能安装最新版
本文推荐的环境:
1 2 3 4 5 6 |
Ubuntu 18.04 LTS Houdini 16.5.634 ->17.0遇到TF有概率闪退 Tensorflow 1.5.0 ->1.10.0肯定闪退 Pytorch 0.4.0 CUDA 9.0 ->用cpu计算就不需要 cuDNN 7.05 ->用cpu计算就不需要 |
基本思路是:在Virtualenv下安装深度学习库,然后用virtualenv启动Houdini,这时houdini的python就是系统的python了,可以使用当前virtualenv下的package
1.Houdini 安装
Linux下安装可以参考houdini 17 Linux系统破解教程,介绍下面有网盘
houdini16.5破解文件和破解方法同样,安装包可以在官网下载
笔者用的
houdini-16.5.634-linux_x86_64_gcc4.8.tar.gz
记得安装完在环境变量中加一下安装路径,这样才能terminal启动houdini
笔者直接改的etc/environment这个文件,PATH最后加上
1 |
:/opt/hfs16.5.634/bin |
然后命令行启动houdini,打开python shell应该是2.7.15

如果在windows的话大概是2.7.5
2. Virtualenv
就是一个可以隔离package的工作环境
首先建议装virtualenv和virtualenvwrapper
1 2 |
sudo pip install virtualenv sudo pip install virtualenvwrapper |
然后分别建两个virtualenv,python是2.7版本
1 2 3 4 |
mkvirtualenv tf-houdini --python==2.7 deactivate mkvirtualenv torch-houdini --python==2.7 deactivate |
3. GPU库
先是CUDA9.0,为什么这个版本,因为它和tf1.5匹配。。。
有文章说CUDA9.0必须gcc6-,所以要降级系统的gcc,笔者好像没有做这一步也行,还在使用gcc7.3
从官网上把安装包下下来
切到下载路径,然后
1 |
sudo sh cuda_9.0.176_384.81_linux.run |
一路ok就好
官网上还有四个补丁包,下不下均可,笔者没下照样能跑
然后要修改一下环境变量
有很多种方法,笔者直接改的etc/environment这个文件,PATH最后加上
1 |
:/usr/local/cuda-9.0/bin |
之后下载cudnn7.05,可以从官网找到。为什么这个版本?因为它跟tf1.5匹配。。。。
下载完解压后,用命令行把文件拷到对应目录,改权限
1 2 3 |
sudo cp cuda/include/cudnn.h /usr/local/cuda/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* |
4. 安装Tensorflow
切到tf-houdini
1 |
workon tf-houdini |
装一下
如果只用cpu的话:
1 |
pip install tensorflow==1.5.0 |
如果用gpu就装上
1 |
pip install tensorflow-gpu==1.5.0 |
好了!测试一下!
命令行启动
1 |
houdini |
打开python source editor,试一下
1 2 3 4 5 6 7 8 9 10 |
import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() print (sess.run(hello)) with tf.device('/device:GPU:0'): a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a') b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b') c = tf.matmul(a, b) sess = tf.Session(config=tf.ConfigProto(log_device_placement=True)) print(sess.run(c)) |
然后terminal就会打出log了!

5. 安装Pytorch
不太好用conda,还是得手动
在官网上找一个老的版本
笔者用的
torch-0.4.0-cp27-cp27mu-linux_x86_64.whl
切到torch的virtualenv
1 |
workon torch-houdini |
切到刚下载的文件路径
1 |
pip install torch-0.4.0-cp27-cp27mu-linux_x86_64.whl |
等待安装好,命令行打开houdini
打开python source editor,试一下
1 2 3 4 5 6 7 |
import torch x = torch.Tensor([1.0]) xx = x.cuda() print(xx) from torch.backends import cudnn print(cudnn.is_acceptable(xx)) |

terminal返回结果!成功!
One thought on “Tensorflow/Pytorch in Houdini | Houdini中使用Tensorflow/Pytorch”