我正在尝试在Theano中编程一个大的深度神经网络(用于图像识别的几个大卷积层)。整个网络不适合GPU,因此我需要以某种方式划分网络。我的问题是:
有人知道在哪里可以找到教程或示例代码来解决这个问题吗?有很多很好的教程和代码用于“小型网络”,但我找不到任何适合大型网络的东西。
这不是一个小问题,在训练期间减少批量图像或减少图层的数量或大小不是解决方案。
我很感激有关如何设计网络或管理GPU的任何想法。
非常感谢。
答案 0 :(得分:1)
虽然会降低性能,但您可以使用Sitecore().Field()
代替theano.tensor._shared
。 theano.shared
强制数据存储在CPU RAM中。但是,您应首先使用以下方法计算网络所需的内存量,然后将网络参数相应地分离为GPU和CPU RAM。
theano.tensor._shared