jacobian

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

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:
MMakefile | 8++++----
Mexample.py | 6++++--
Mmr_bpnn_2.cpp | 4++--
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)