nnGraph多GPU Torch

时间:2016-07-26 18:47:47

标签: deep-learning torch multi-gpu

此问题是关于使任何nnGraph网络在多个GPU上运行而不是特定于以下网络实例

我正在尝试训练一个用nnGraph构建的网络。后面的图表是附上的。我试图在多GPU设置中运行parallelModel(请参阅代码或图9)。如果我将并行模型附加到nn.Sequential容器然后创建DataParallelTable,它将在多GPU设置中工作(没有nnGraph)。但是,在将它附加到nnGraph后,我收到一个错误。如果我在单个GPU上训练(在if语句中将true设置为false),则向后传递有效,但在多GPU设置中,我收到错误" gmodule.lua:418:尝试索引本地&#39 ; gradInput' (零值)"。我认为后向传递中的节点9应该在多GPU上运行,但这并没有发生。在nnGraph上创建DataParallelTable并不适合我,但我认为至少将内部顺序网络放在DataParallelTable中会起作用。有没有其他方法来分割传递给nnGraph的初始数据,以便它在多GPU上运行?

import matplotlib.tri as mtri

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

for LineIndex in range(c_size-1):
    # If plotting all at once, you get a MemoryError. I'll plot each 6 points
    for Sample in range(0, array_size-1, 3):
        # I switched x and c_array, because the surface  and the triangles 
        # will look better by default
        X = np.concatenate([t[LineIndex,Sample:Sample+3], t[LineIndex+1,Sample:Sample+3]])
        Y = np.concatenate([c_array[LineIndex,Sample:Sample+3], c_array[LineIndex+1,Sample:Sample+3]])
        Z = np.concatenate([x[LineIndex,Sample:Sample+3], x[LineIndex+1,Sample:Sample+3]])
        T = mtri.Triangulation(X, Y)

        ax.plot_trisurf(X, Y, Z, triangles=T.triangles, edgecolor='none', antialiased=False)

ax.set_xlabel('t')
ax.set_zlabel('x')
plt.savefig('Test.png', format='png', dpi=600)
plt.show()

Backward Pass

"中的代码;如果"陈述取自Facebook's ResNet implementation

0 个答案:

没有答案