1
YongYuan 2017-01-22 13:32:23 +08:00
图库多大?
|
2
noahyu 2017-01-22 13:53:19 +08:00 1
各框架对 gpu 的使用不尽相同,貌似在 VGG16 这一块,加载预训练的模型然后作改动, theano 的表现好一点,代码里面用到的,我尝试过 keras+tf 的方式用低端显卡(GT 系列)也是没法跑,算了对图像这一块无感了;用低端显卡跑一个 attention 的模型跑 nlp 相关的,也要 4-5 天,不过能跑下来已经不错了,可以不用显卡内存,而用主机内存(目前用的是 16G)也可以跑.
|
3
bearqq 2017-01-22 14:22:56 +08:00 1
Current maximum batchsize is 3 for 12 GB memory GPU.
Also it was confirmed that MBP (Late 2016, memory 16 GiB) can run with batchsize 1. gpu 消耗和单次放入的数据量有关。由于这里放入的是图片,单个数据比较大,所以 batchsize 只能控制比较小。 batchsize 很多人认为越大越好,以 gpu 能放下为标准。 同时,和神经网络本身也有关系,网络的参数有多少占用多大可以直接计算。 |
4
rogerchen 2017-01-22 14:54:52 +08:00
全连接参数多,卷积 feature map 多,比实现省内存还看 mxnet ,就是文档如翔。
|
6
noahyu 2017-01-22 17:29:02 +08:00 1
@cpygui 没用过 chainer ,但是看了它的文档有 CuPy ,应该是根据 api 的接口来使用 kernel 操作吧;按照我对 tensorflow 的理解和使用,通过对计算时使用具体的 cpu 和 gpu 的显示声明方式,加之 disable gpu 自动加载(在 config 里定义)来实现我之前评论里提到的方式。比如 tensorflow 里面可以定义 with 代码段,来显示声明如下操作用的是 cpu 或 gpu ,同时在多个设备(device)时显示地指定 gpu0,gpu1,...(如果有多个的话)
with tf.name_scope('encode'), tf.device('/gpu:0') 不过我还是觉得这样很费时间,只能作为尝试吧,还是应该选择一个较为合适的框架以及足够先进的硬件资源,那样不用太操心 performance ,最讨厌内存不够硬件太差,心太累…… |
7
cpygui OP @noahyu 亲身体会了下你说的“心太累”是什么感受了。花了一天也没重现 deeplab 的[attention]( https://bitbucket.org/aquariusjay/deeplab-public-ver2) 模型, bug 太多,脚本里还有 typo...
|
8
cpygui OP @YongYuan 图库[这里]( http://www.stat.ucla.edu/~xianjie.chen/pascal_part_dataset/pascal_part.html)
1w 多张, 1 个 G 左右 |