commit f1eac97a35c5046541dfce774449dcbabc66abdf
parent e8ba5c59b0ecf8653c1663dc415447525bbe1231
Author: David Freifeld <freifeld.david@gmail.com>
Date: Fri, 10 Jul 2020 15:51:47 -0700
Setup example.py to use regularization
Diffstat:
3 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/Makefile b/Makefile
@@ -5,7 +5,7 @@
GEN_FLAGS = -fpic
-CXXFLAGS = -shared -std=c++11 -undefined dynamic_lookup `python3 -m pybind11 --includes` mr_bpnn_2.cpp bpnn.cpp utils.cpp mapreduce.a -o mrbpnn`python3-config --extension-suffix`
+CXXFLAGS = -shared -std=c++2a -undefined dynamic_lookup `python3 -m pybind11 --includes` mr_bpnn_2.cpp bpnn.cpp utils.cpp mapreduce.a -o mrbpnn`python3-config --extension-suffix`
all: build
debug: $(GEN_FLAGS) = -Wall -U NDEBUG
@@ -15,10 +15,10 @@ debug:
fast: CXXFLAGS += $(GEN_FLAGS) -O3
fast: build
-faster: CXXFLAGS = -shared -std=c++11 -undefined dynamic_lookup `python3 -m pybind11 --includes` mr_bpnn_2.cpp bpnn.cpp utils.cpp mapreduce.a ${MKLROOT}/lib/libmkl_intel_ilp64.a ${MKLROOT}/lib/libmkl_intel_thread.a ${MKLROOT}/lib/libmkl_core.a -liomp5 -lpthread -lm -ldl -o mrbpnn`python3-config --extension-suffix` -O3 -mavx -mfma -march=native -mfpmath=sse -qopenmp -fno-pic -qopt-prefetch -DMKL_ILP64 -I${MKLROOT}/include -D EIGEN_USE_MKL_ALL -D NDEBUG
+faster: CXXFLAGS = -shared -std=c++2a -undefined dynamic_lookup `python3 -m pybind11 --includes` mr_bpnn_2.cpp bpnn.cpp utils.cpp mapreduce.a ${MKLROOT}/lib/libmkl_intel_ilp64.a ${MKLROOT}/lib/libmkl_intel_thread.a ${MKLROOT}/lib/libmkl_core.a -liomp5 -lpthread -lm -ldl -o mrbpnn`python3-config --extension-suffix` -O3 -mavx -mfma -march=native -mfpmath=sse -fno-pic -DMKL_ILP64 -I${MKLROOT}/include -D EIGEN_USE_MKL_ALL -D NDEBUG
faster: build
-tradeoffs: CXXFLAGS = -shared -std=c++11 -undefined dynamic_lookup `python3 -m pybind11 --includes` mr_bpnn_2.cpp bpnn.cpp utils.cpp mapreduce.a ${MKLROOT}/lib/libmkl_intel_ilp64.a ${MKLROOT}/lib/libmkl_intel_thread.a ${MKLROOT}/lib/libmkl_core.a -liomp5 -lpthread -lm -ldl -o mrbpnn`python3-config --extension-suffix` -O3 -mavx -mfma -march=native -mfpmath=sse -DMKL_ILP64 -I${MKLROOT}/include -qopenmp -fno-pic -qopt-calloc -qopt-prefetch -unroll-aggressive -qopt-calloc -use-intel-optimized-headers -ffast-math -no-prec-div -no-prec-sqrt -fimf-precision=low -fast-transcendentals -D EIGEN_USE_MKL_ALL -D NDEBUG #-qopt-report=5 -qopt-report-file=report
+tradeoffs: CXXFLAGS = -shared -std=c++2a -undefined dynamic_lookup `python3 -m pybind11 --includes` mr_bpnn_2.cpp bpnn.cpp utils.cpp mapreduce.a ${MKLROOT}/lib/libmkl_intel_ilp64.a ${MKLROOT}/lib/libmkl_intel_thread.a ${MKLROOT}/lib/libmkl_core.a -liomp5 -lpthread -lm -ldl -o mrbpnn`python3-config --extension-suffix` -O3 -mavx -mfma -march=native -mfpmath=sse -DMKL_ILP64 -I${MKLROOT}/include -qopenmp -fno-pic -qopt-calloc -qopt-prefetch -unroll-aggressive -qopt-calloc -use-intel-optimized-headers -ffast-math -no-prec-div -no-prec-sqrt -fimf-precision=low -fast-transcendentals -D EIGEN_USE_MKL_ALL -D NDEBUG #-qopt-report=5 -qopt-report-file=report
tradeoffs: build
@@ -26,4 +26,4 @@ reckless: CXXFLAGS = -O3
reckless: build
build:
- icpc $(CXXFLAGS)
+ g++ $(CXXFLAGS)
diff --git a/example.py b/example.py
@@ -11,11 +11,12 @@ epochs = 50
lr = 0.0155
bias_lr = 0.03
neurons = 10
+l = 0.5
ratio = 0.9
layers_list = []
init = time.time()
-net = mrbpnn.Network("./data_banknote_authentication.txt", batch_sz, lr, bias_lr, ratio)
+net = mrbpnn.Network("./data_banknote_authentication.txt", batch_sz, lr, bias_lr, l, ratio)
net.add_layer(4, "linear")
layers_list.append(4)
for i in range(layers):
@@ -33,10 +34,11 @@ wandb.config.update({"epochs": epochs,
"hidden_layers": layers,
"activation":"lecun_tanh",
"neurons": neurons,
+ "lambda" : l,
"data_split":ratio})
for i in range(epochs):
- net.train(1)
+ net.train()
wandb.log({'accuracy': net.get_acc(), 'cost': net.get_cost(), 'val_accuracy': net.get_val_acc(), 'val_cost': net.get_val_cost()})
end = time.time()
diff --git a/mr_bpnn_2.cpp b/mr_bpnn_2.cpp
@@ -107,7 +107,7 @@ PYBIND11_MODULE(mrbpnn, m) {
m.doc() = "Fast machine learning in C++"; // optional module docstring
py::class_<Network>(m, "Network")
- .def(py::init<char*, int, float, float, float>())
+ .def(py::init<char*, int, float, float, float, float>())
.def("add_layer", &Network::add_layer, py::arg("nodes"), py::arg("activation"))
.def("initialize", &Network::initialize)
.def("set_activation", &Network::set_activation)
@@ -118,7 +118,7 @@ PYBIND11_MODULE(mrbpnn, m) {
.def("accuracy", &Network::accuracy)
.def("update_layer", &Network::update_layer, py::arg("vals"), py::arg("len"), py::arg("index"))
.def("next_batch", &Network::next_batch)
- .def("train", &Network::train, py::arg("epochs"))
+ .def("train", &Network::train)
.def("get_acc", &Network::get_acc)
.def("get_cost", &Network::get_cost)
.def("get_val_acc", &Network::get_val_acc)