Expand file tree
/
Copy pathParallelTable.lua
More file actions
Latest commit
58 lines (52 loc) · 1.79 KB
/
Copy pathParallelTable.lua
File metadata and controls
58 lines (52 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
localParallelTable, parent=torch.class('nn.ParallelTable', 'nn.Container')
functionParallelTable:__init()
parent.__init(self)
self.modules= {}
self.output= {}
self.gradInput= {}
end
functionParallelTable:updateOutput(input)
fori=1,#self.modulesdo
self.output[i] =self:rethrowErrors(self.modules[i], i, 'updateOutput', input[i])
end
returnself.output
end
functionParallelTable:updateGradInput(input, gradOutput)
fori,moduleinipairs(self.modules) do
self.gradInput[i] =self:rethrowErrors(module, i, 'updateGradInput', input[i], gradOutput[i])
end
returnself.gradInput
end
functionParallelTable:accGradParameters(input, gradOutput, scale)
scale=scaleor1
fori,moduleinipairs(self.modules) do
self:rethrowErrors(module, i, 'accGradParameters', input[i], gradOutput[i], scale)
end
end
functionParallelTable:accUpdateGradParameters(input, gradOutput, lr)
lr=lror1
fori,moduleinipairs(self.modules) do
self:rethrowErrors(module, i, 'accUpdateGradParameters', input[i], gradOutput[i], lr)
end
end
functionParallelTable:__tostring__()
localtab=''
localline='\n'
localnext=' |`-> '
locallastNext=' `-> '
localext=' | '
localextlast=''
locallast=' ... -> '
localstr=torch.type(self)
str=str..' {' ..line..tab..'input'
fori=1,#self.modulesdo
ifi==#self.modulesthen
str=str..line..tab..lastNext..'(' ..i..'): ' ..tostring(self.modules[i]):gsub(line, line..tab..extlast)
else
str=str..line..tab..next..'(' ..i..'): ' ..tostring(self.modules[i]):gsub(line, line..tab..ext)
end
end
str=str..line..tab..last..'output'
str=str..line..'}'
returnstr
end