serializatioin / deserialization and tests
This commit is contained in:
@@ -3,15 +3,17 @@
|
||||
#include <NeuralNetwork/ActivationFunction/HyperbolicTangent.h>
|
||||
#include <NeuralNetwork/ActivationFunction/Linear.h>
|
||||
|
||||
#include <iostream>
|
||||
#include <NeuralNetwork/Network.h>
|
||||
|
||||
#include <cassert>
|
||||
#include <chrono>
|
||||
|
||||
union {
|
||||
__m128 v; // SSE 4 x float vector
|
||||
float a[4]; // scalar array of 4 floats
|
||||
} U;
|
||||
|
||||
NEURAL_NETWORK_INIT();
|
||||
|
||||
int main() {
|
||||
{
|
||||
NeuralNetwork::ActivationFunction::Heaviside h(1.0);
|
||||
@@ -68,5 +70,34 @@ int main() {
|
||||
assert(s(1.0) < 0.7001);
|
||||
}
|
||||
|
||||
{
|
||||
NeuralNetwork::ActivationFunction::Linear l(2.5);
|
||||
const std::string tmp = l.serialize().serialize();
|
||||
NeuralNetwork::ActivationFunction::ActivationFunction* deserialized = NeuralNetwork::ActivationFunction::Factory::deserialize(l.serialize()).release();
|
||||
assert(tmp == deserialized->serialize().serialize());
|
||||
delete deserialized;
|
||||
}
|
||||
{
|
||||
NeuralNetwork::ActivationFunction::Heaviside l(2.5);
|
||||
const std::string tmp = l.serialize().serialize();
|
||||
NeuralNetwork::ActivationFunction::ActivationFunction* deserialized = NeuralNetwork::ActivationFunction::Factory::deserialize(l.serialize()).release();
|
||||
assert(tmp == deserialized->serialize().serialize());
|
||||
delete deserialized;
|
||||
}
|
||||
{
|
||||
NeuralNetwork::ActivationFunction::HyperbolicTangent l(2.5);
|
||||
const std::string tmp = l.serialize().serialize();
|
||||
NeuralNetwork::ActivationFunction::ActivationFunction* deserialized = NeuralNetwork::ActivationFunction::Factory::deserialize(l.serialize()).release();
|
||||
assert(tmp == deserialized->serialize().serialize());
|
||||
delete deserialized;
|
||||
}
|
||||
{
|
||||
NeuralNetwork::ActivationFunction::Sigmoid l(2.5);
|
||||
const std::string tmp = l.serialize().serialize();
|
||||
NeuralNetwork::ActivationFunction::ActivationFunction* deserialized = NeuralNetwork::ActivationFunction::Factory::deserialize(l.serialize()).release();
|
||||
assert(tmp == deserialized->serialize().serialize());
|
||||
delete deserialized;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user