quickProapagtion and tests

This commit is contained in:
2016-02-24 20:23:16 +01:00
parent c45f12f53c
commit 3c924d01f3
9 changed files with 359 additions and 44 deletions

View File

@@ -6,15 +6,15 @@ include(cmake/CPUFeatures)
OPTION(BUILD_SHARED_LIBS "Build also shared library." ON)
if(CPU_AVX_AVAILABLE)
SET(USE_AVX ON CACHE BOOL "")
SET(USE_AVX ON CACHE BOOL "")
endif(CPU_AVX_AVAILABLE)
if(CPU_SSE3_AVAILABLE)
SET(USE_SSE ON CACHE BOOL "")
SET(USE_SSE ON CACHE BOOL "")
if(CPU_SSE4.2_AVAILABLE)
SET(USE_SSE2 OFF CACHE BOOL "")
endif(CPU_SSE4.2_AVAILABLE)
if(CPU_SSE4.2_AVAILABLE)
SET(USE_SSE2 OFF CACHE BOOL "")
endif(CPU_SSE4.2_AVAILABLE)
endif(CPU_SSE3_AVAILABLE)
@@ -33,45 +33,29 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++14")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -mtune=native -O3")
if(USE_AVX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mavx -DUSE_AVX")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mavx -DUSE_AVX")
endif(USE_AVX)
if(USE_SSE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.2 -DUSE_SSE")
if(USE_SSE2)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_SSE2")
endif(USE_SSE2)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4.2 -DUSE_SSE")
if(USE_SSE2)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_SSE2")
endif(USE_SSE2)
endif(USE_SSE)
include_directories(./include/)
set (LIBRARY_SOURCES
include/NeuralNetwork/ActivationFunction/ActivationFunction.h
include/NeuralNetwork/ActivationFunction/Heaviside.h
include/NeuralNetwork/ActivationFunction/HyperbolicTangent.h
include/NeuralNetwork/ActivationFunction/Linear.h
include/NeuralNetwork/ActivationFunction/Sigmoid.h
include/NeuralNetwork/ActivationFunction/StreamingActivationFunction.h
include/NeuralNetwork/BasisFunction/BasisFunction.h
include/NeuralNetwork/BasisFunction/Linear.h
include/NeuralNetwork/BasisFunction/Product.h
include/NeuralNetwork/BasisFunction/Radial.h
include/NeuralNetwork/BasisFunction/StreamingBasisFunction.h
include/NeuralNetwork/FeedForward/Layer.h
include/NeuralNetwork/FeedForward/Network.h
include/NeuralNetwork/Recurrent/Network.h
include/NeuralNetwork/Network.h
include/NeuralNetwork/Neuron.h
include/NeuralNetwork/Stringifiable.h
include/NeuralNetwork/Stringifiable.h
src/NeuralNetwork/Learning/BackPropagation.cpp include/NeuralNetwork/Learning/BackPropagation.h
include/sse_mathfun.h
src/NeuralNetwork/BasisFunction/Linear.cpp
src/NeuralNetwork/FeedForward/Layer.cpp
src/NeuralNetwork/FeedForward/Network.cpp
src/NeuralNetwork/Recurrent/Network.cpp
src/NeuralNetwork/Neuron.cpp
src/sse_mathfun.cpp
src/sse_mathfun.cpp
src/NeuralNetwork/Learning/BackPropagation.cpp
src/NeuralNetwork/Learning/QuickPropagation.cpp
src/NeuralNetwork/BasisFunction/Linear.cpp
src/NeuralNetwork/FeedForward/Layer.cpp
src/NeuralNetwork/FeedForward/Network.cpp
src/NeuralNetwork/Recurrent/Network.cpp
src/NeuralNetwork/Neuron.cpp
)
add_library(NeuralNetwork STATIC ${LIBRARY_SOURCES})
@@ -79,8 +63,8 @@ add_library(NeuralNetwork STATIC ${LIBRARY_SOURCES})
link_libraries(NeuralNetwork pthread)
IF(BUILD_SHARED_LIBS)
add_library(NeuralNetworkShared SHARED ${LIBRARY_SOURCES})
set_target_properties(NeuralNetworkShared PROPERTIES OUTPUT_NAME NeuralNetwork)
add_library(NeuralNetworkShared SHARED ${LIBRARY_SOURCES})
set_target_properties(NeuralNetworkShared PROPERTIES OUTPUT_NAME NeuralNetwork)
ENDIF(BUILD_SHARED_LIBS)
IF(ENABLE_TESTS)
@@ -106,15 +90,20 @@ set_property(TEST feedforward PROPERTY LABELS unit)
add_test(recurrent tests/recurrent)
set_property(TEST recurrent PROPERTY LABELS unit)
add_test(feedforward_perf tests/feedforward_perf)
set_property(TEST feedforward_perf PROPERTY LABELS perf)
add_test(optical_backpropagation tests/optical_backpropagation)
set_property(TEST optical_backpropagation PROPERTY LABELS unit)
add_test(quickpropagation tests/quickpropagation)
set_property(TEST quickpropagation PROPERTY LABELS unit)
add_test(feedforward_perf tests/feedforward_perf)
set_property(TEST feedforward_perf PROPERTY LABELS perf)
add_test(quickpropagation_perf tests/quickpropagation_perf)
set_property(TEST quickpropagation_perf PROPERTY LABELS perf)
add_test(backpropagation_perf tests/backpropagation_perf)
set_property(TEST backpropagation_perf PROPERTY LABELS perf)