25
25
#include " gpu/ndBrainGpuContext.h"
26
26
#include " ndBrainTrainerCpuInference.h"
27
27
#include " ndBrainLayerActivationSoftmax.h"
28
+ #include " gpu/ndBrainTrainerGpuInference.h"
28
29
29
30
ndBrainLayerActivationSoftmax::ndBrainLayerActivationSoftmax (ndInt32 neurons)
30
31
:ndBrainLayerActivation(neurons)
@@ -142,16 +143,6 @@ ndBrainLayerBackPropagateCpuCommand* ndBrainLayerActivationSoftmax::GetLayerCpuB
142
143
return command;
143
144
}
144
145
145
- // ndBrainLayer::ndLayerUniformDataGpu ndBrainLayerActivationSoftmax::GetLayerUniformDataGpu(const ndBrainGpuContext* const context) const
146
- // {
147
- // ndLayerUniformDataGpu data;
148
- // data.m_shader = context->m_ndBrainLayerSoftmaxActivation;
149
- // data.m_inputSize = GetInputSize();
150
- // data.m_outputSize = GetOutputSize();
151
- //
152
- // return data;
153
- // }
154
-
155
146
void ndBrainLayerActivationSoftmax::FeedForward (const ndBrainLayerFeedFowardCpuCommand* const command, ndInt32 miniBatchIndex) const
156
147
{
157
148
const ndCommandShareInfo* const info = &command->m_info ;
@@ -189,4 +180,27 @@ void ndBrainLayerActivationSoftmax::FeedForward(const ndBrainLayerFeedFowardCpuC
189
180
void ndBrainLayerActivationSoftmax::BackPropagate (const ndBrainLayerBackPropagateCpuCommand* const , ndInt32) const
190
181
{
191
182
ndAssert (0 );
192
- }
183
+ }
184
+
185
+ // ndBrainLayer::ndLayerUniformDataGpu ndBrainLayerActivationSoftmax::GetLayerUniformDataGpu(const ndBrainGpuContext* const context) const
186
+ // {
187
+ // ndLayerUniformDataGpu data;
188
+ // data.m_shader = context->m_ndBrainLayerSoftmaxActivation;
189
+ // data.m_inputSize = GetInputSize();
190
+ // data.m_outputSize = GetOutputSize();
191
+ //
192
+ // return data;
193
+ // }
194
+
195
+ ndBrainTrainerGpuCommand* ndBrainLayerActivationSoftmax::CreateGpuFeedForwardCommand (
196
+ ndBrainTrainerGpuInference* const owner,
197
+ const ndBrainLayer::ndCommandShareInfo& info,
198
+ ndBrainGpuContext* const context, ndInt32 miniBatchSize,
199
+ const ndSharedPtr<ndBrainGpuBuffer>& uniformBuffer,
200
+ ndBrainGpuBuffer* const buffer1,
201
+ ndBrainGpuBuffer* const buffer2) const
202
+ {
203
+ ndBrainTrainerGpuCommand* const command = new ndBrainTrainerGpuCommand (owner,
204
+ info, size_t (this ), context, context->m_ndBrainLayerSoftmaxActivation , miniBatchSize, uniformBuffer, buffer1, buffer2);
205
+ return command;
206
+ }
0 commit comments