Skip to content

Commit

Permalink
snOperatorCPU
Browse files Browse the repository at this point in the history
-del 'autoEnc' layer, because it is superfluous
  • Loading branch information
Tyill committed Jan 5, 2020
1 parent 813ddb7 commit 7f51bfd
Show file tree
Hide file tree
Showing 7 changed files with 8 additions and 277 deletions.
2 changes: 0 additions & 2 deletions mswin/VS12/snOperatorCPU.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,6 @@
<ClInclude Include="..\..\src\snOperatorCPU\src\batchNormFunctions.h" />
<ClInclude Include="..\..\src\snOperatorCPU\src\dropOut.h" />
<ClInclude Include="..\..\src\snOperatorCPU\src\Operator\activation.h" />
<ClInclude Include="..\..\src\snOperatorCPU\src\Operator\autoEncoder.h" />
<ClInclude Include="..\..\src\snOperatorCPU\src\Operator\batchNorm.h" />
<ClInclude Include="..\..\src\snOperatorCPU\src\Operator\concat.h" />
<ClInclude Include="..\..\src\snOperatorCPU\src\Operator\convolution.h" />
Expand Down Expand Up @@ -222,7 +221,6 @@
<ClCompile Include="..\..\src\snOperatorCPU\src\CPU\tensor.cpp" />
<ClCompile Include="..\..\src\snOperatorCPU\src\dropOut.cpp" />
<ClCompile Include="..\..\src\snOperatorCPU\src\Operator\activation.cpp" />
<ClCompile Include="..\..\src\snOperatorCPU\src\Operator\autoEncoder.cpp" />
<ClCompile Include="..\..\src\snOperatorCPU\src\Operator\batchNorm.cpp" />
<ClCompile Include="..\..\src\snOperatorCPU\src\Operator\concat.cpp" />
<ClCompile Include="..\..\src\snOperatorCPU\src\Operator\convolution.cpp" />
Expand Down
6 changes: 0 additions & 6 deletions mswin/VS12/snOperatorCPU.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -99,9 +99,6 @@
<ClInclude Include="..\..\src\snOperatorCPU\src\activationFunctions.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\snOperatorCPU\src\Operator\autoEncoder.h">
<Filter>Operator</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\src\snOperatorCPU\src\Operator\activation.cpp">
Expand Down Expand Up @@ -191,8 +188,5 @@
<ClCompile Include="..\..\src\snOperatorCPU\src\activationFunctions.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\snOperatorCPU\src\Operator\autoEncoder.cpp">
<Filter>Operator</Filter>
</ClCompile>
</ItemGroup>
</Project>
167 changes: 0 additions & 167 deletions src/snOperatorCPU/src/Operator/autoEncoder.cpp

This file was deleted.

65 changes: 0 additions & 65 deletions src/snOperatorCPU/src/Operator/autoEncoder.h

This file was deleted.

33 changes: 6 additions & 27 deletions src/snOperatorCPU/src/Operator/fullyConnected.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -179,30 +179,6 @@ bool FullyConnected::setBatchNorm(const batchNorm& bn){
return true;
}

void FullyConnected::setUnits(uint32_t units){

kernel_ = units;

if (batchNormType_ != batchNormType::none){
auxParams_["bn_mean"] = vector<snFloat>(kernel_, 0); baseBatchNorm_.mean = auxParams_["bn_mean"].data();
auxParams_["bn_varce"] = vector<snFloat>(kernel_, 1); baseBatchNorm_.varce = auxParams_["bn_varce"].data();
auxParams_["bn_scale"] = vector<snFloat>(kernel_, 1); baseBatchNorm_.scale = auxParams_["bn_scale"].data();
auxParams_["bn_schift"] = vector<snFloat>(kernel_, 0); baseBatchNorm_.schift = auxParams_["bn_schift"].data();
auxParams_["bn_norm"] = vector<snFloat>(); baseBatchNorm_.norm = auxParams_["bn_norm"].data();
auxParams_["bn_dScale"] = vector<snFloat>(kernel_, 0); baseBatchNorm_.dScale = auxParams_["bn_dScale"].data();
auxParams_["bn_dSchift"] = vector<snFloat>(kernel_, 0); baseBatchNorm_.dSchift = auxParams_["bn_dSchift"].data();

baseBatchNorm_.sz = snSize(kernel_);
}
}

void FullyConnected::resizeOut(const snSize& nsz){

ASSERT_MESS(baseOut_.size().size() == nsz.size(), "FullyConnected::resizeOut: baseOut_.size().size() == nsz.size()");

baseOut_.resize(nsz);
}

std::vector<std::string> FullyConnected::Do(const operationParam& operPrm, const std::vector<OperatorBase*>& neighbOpr){

if (operPrm.action == snAction::forward){
Expand Down Expand Up @@ -246,7 +222,8 @@ void FullyConnected::forward(const SN_Base::Tensor& inTns, const operationParam&
}

/// calculation of the output values of neurons
snFloat* out = baseOut_.getDataCPU(), *weight = baseWeight_.getDataCPU();
snFloat* out = baseOut_.getDataCPU(),
* weight = baseWeight_.getDataCPU();

// +bias?
if (!useBias_){
Expand Down Expand Up @@ -289,10 +266,12 @@ void FullyConnected::backward(const SN_Base::Tensor& inTns, const operationParam
snFloat* out = baseOut_.getDataCPU();

size_t osz = kernel_ * inSzMem_.n;

activationBackward(osz, out, activeType_);

// update grad
for (size_t i = 0; i < osz; ++i) gradIn[i] *= out[i];
for (size_t i = 0; i < osz; ++i)
gradIn[i] *= out[i];
}

/// batchNorm
Expand Down Expand Up @@ -357,7 +336,7 @@ void FullyConnected::updateConfig(bool isLern, const snSize& newsz){
auxParams_["dWGrad"].resize(ntp, 0);

if (batchNormType_ != batchNormType::none){
auxParams_["bn_norm"].resize(newsz.n * kernel_, 0); baseBatchNorm_.norm = auxParams_["bn_norm"].data();
auxParams_["bn_norm"].resize(newsz.n * kernel_, 0); baseBatchNorm_.norm = auxParams_["bn_norm"].data();
}
}
}
7 changes: 1 addition & 6 deletions src/snOperatorCPU/src/Operator/fullyConnected.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,7 @@ class FullyConnected final : SN_Base::OperatorBase{

bool setBatchNorm(const SN_Base::batchNorm& bn) override;

/// for autoEncoder
void setUnits(uint32_t);

void resizeOut(const snSize&);
/// for autoEncoder


private:

size_t kernel_ = 10; ///< number of hidden neurons
Expand Down
5 changes: 1 addition & 4 deletions src/snOperatorCPU/src/snOperator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@
#include "Operator/resize.h"
#include "Operator/batchNorm.h"
#include "Operator/activation.h"
#include "Operator/autoEncoder.h"

namespace SN_Opr{

Expand All @@ -65,8 +64,7 @@ namespace SN_Opr{
else if (fname == "Resize") ret = (SN_Base::OperatorBase*)new Resize(net, fname, node, prms);
else if (fname == "BatchNorm") ret = (SN_Base::OperatorBase*)new BatchNorm(net, fname, node, prms);
else if (fname == "Activation") ret = (SN_Base::OperatorBase*)new Activation(net, fname, node, prms);
else if (fname == "AutoEncoder") ret = (SN_Base::OperatorBase*)new AutoEncoder(net, fname, node, prms);


return ret;
}

Expand All @@ -89,7 +87,6 @@ namespace SN_Opr{
else if (fname == "Resize") delete (Resize*)opr;
else if (fname == "BatchNorm") delete (BatchNorm*)opr;
else if (fname == "Activation") delete (Activation*)opr;
else if (fname == "AutoEncoder") delete (AutoEncoder*)opr;
}
}
}

0 comments on commit 7f51bfd

Please sign in to comment.