Skip to content

Commit

Permalink
Finish tidying up regression example!
Browse files Browse the repository at this point in the history
  • Loading branch information
JamesYang007 committed May 4, 2020
1 parent b1914bc commit cbca2ce
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 359 deletions.
10 changes: 9 additions & 1 deletion benchmark/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,12 @@ endif()

add_executable(regression_autoppl ${CMAKE_CURRENT_SOURCE_DIR}/regression_autoppl.cpp)
target_include_directories(regression_autoppl PRIVATE ${GBENCH_DIR}/include ${AUTOPPL_INCLUDE_DIRS})
target_link_libraries(regression_autoppl ${AUTOPPL_LIBS})
target_link_libraries(regression_autoppl benchmark benchmark_main ${AUTOPPL_LIBS})
if (NOT CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
target_link_libraries(regression_autoppl pthread)
endif()
add_custom_command(
TARGET regression_autoppl POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_CURRENT_SOURCE_DIR}/life-clean.csv
${CMAKE_CURRENT_BINARY_DIR}/life-clean.csv)
26 changes: 0 additions & 26 deletions benchmark/normal_two_prior_distribution.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,6 @@

namespace ppl {

template <class VecType>
static inline double average(const VecType& vec)
{
return std::accumulate(vec.begin(), vec.end(), 0.0)/
vec.size();
}

template <class VecType>
static inline double stddev(const VecType& vec)
{
double mean = average(vec);
double sum = 0.;
std::for_each(vec.begin(), vec.end(),
[=, &sum](auto x) {
sum += (x - mean) * (x - mean);
});
return std::sqrt(sum / vec.size());
}

static void BM_NormalTwoPrior(benchmark::State& state) {
std::normal_distribution n(0.0, 1.0);
std::mt19937 gen(0);
Expand All @@ -48,13 +29,6 @@ static void BM_NormalTwoPrior(benchmark::State& state) {
for (auto _ : state) {
ppl::nuts(model, 1000, 1000, 1000);
}

std::cout << "l1 mean: " << average(l1_storage) << std::endl;
std::cout << "l1 stddev: " << stddev(l1_storage) << std::endl;
std::cout << "l2 mean: " << average(l2_storage) << std::endl;
std::cout << "l2 stddev: " << stddev(l2_storage) << std::endl;
std::cout << "s mean: " << average(s_storage) << std::endl;
std::cout << "s stddev: " << stddev(s_storage) << std::endl;
}

BENCHMARK(BM_NormalTwoPrior);
Expand Down

0 comments on commit cbca2ce

Please sign in to comment.