Skip to content

Commit 93c9e19

Browse files
committed
UPDATE from dinrhiw2-private. Testcases more or less work now.
This code only works with GCC 9.* compilers as GCC 8.* has bugs in random_device implementation.
1 parent 1323196 commit 93c9e19

File tree

152 files changed

+19382
-4158
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

152 files changed

+19382
-4158
lines changed

LICENSE

+3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ but the author (Tomas Ukkonen) keeps himself full rights
66
to use code/compiled binary however he wants by himself
77
including distribution under some other license.
88

9+
Additionally, there is an option to buy commercial license
10+
to Dinrhiw2 library. Contact [email protected] for details.
11+
912

1013
==========================================================
1114

Makefile.in

+3-2
Original file line numberDiff line numberDiff line change
@@ -97,15 +97,16 @@ realclean: clean removelib
9797
############################################################
9898

9999
makelib:
100+
./make_lib_dir.sh
100101
$(RM) *.a
101102
$(AR) rc $(LIBNAME) $(LIBOBJECTS)
102103
## $(CXX) -shared -Wl,-soname,$(BASESOLIBNAME) -o $(SOLIBNAME) $(LIBOBJECTS) @EXTRA_LIBPATHS@ -lz -lgmp @EXTRA_LIBS@ -fopenmp
103104
$(CXX) -shared -Wl,-soname,$(BASESOLIBNAME) -o $(SOLIBNAME) $(LIBOBJECTS) @EXTRA_LIBPATHS@ -lz -lgmp @EXTRA_LIBS@ -fopenmp
104105

105106
## $(CXX) -shared -Wl,-soname,$(BASESOLIBNAME) -o $(SOLIBNAME) $(LIBOBJECTS) -L/usr/local/lib -lz -lgmp -L/usr/lib/ -L/opt/intel/compilers_and_libraries/linux/mkl/ -Wl,--start-group /opt/intel/compilers_and_libraries/linux/mkl/lib/intel64/libmkl_intel_lp64.a /opt/intel/compilers_and_libraries/linux/mkl/lib/intel64/libmkl_gnu_thread.a /opt/intel/compilers_and_libraries/linux/mkl/lib/intel64/libmkl_core.a -Wl,--end-group -lgomp -lpthread -lm -ldl -fopenmp
106107

107-
$(MV) $(LIBNAME) lib
108-
$(MV) $(SOLIBNAME) lib
108+
$(MV) $(LIBNAME) lib/
109+
$(MV) $(SOLIBNAME) lib/
109110
$(CP) src/*.h lib/
110111
$(CP) src/math/*.h lib/
111112
$(CP) src/crypto/*.h lib/

README

+19-18
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
WHAT DINRHIW2 IS?
22
-----------------
33

4-
Dinrhiw is a linear algebra library and machine learning library.
5-
Dinrhiw implements PCA and neural network codes. Currently,
6-
the feedforward neural network code supports:
4+
Dinrhiw is a linear algebra library and machine learning library.
5+
Dinrhiw implements linear algebra, PCA+ICA, complex value Neural Network and
6+
Variational Autoencoder codes.
7+
8+
Currently, the feedforward neural network code supports:
79

810
* second order L-BFGS optimization and gradient descent (backpropagation)
911
* hamiltonian monte carlo sampling (HMC) and simple bayesian neural network
@@ -18,14 +20,14 @@ BUILDING IT
1820
-----------
1921

2022
You need GNU GCC (www.gcc.org). The code compiles both on Linux and
21-
Windows (requiring *nix environment). It is recommended to try
23+
Windows (requires *nix environment). It is recommended to try
2224
to compile and use the library initially on Linux.
2325

24-
Library requirements:
26+
Library dependencies:
2527

26-
* OpenBLAS (cblas.h interface),
28+
* OpenBLAS or Intel MKL (cblas.h interface),
2729
* GMP (arbitrary precision mathematics)
28-
* ZLib (memory compression) [not really needed]
30+
* ZLib [not really needed]
2931

3032

3133
To build and install library execute:
@@ -41,7 +43,14 @@ commands at the top level.
4143
For the working examples how to use dinrhiw look at the *tools* directory
4244
below the root dictory.
4345

44-
Building it (you need to install bison parser) creates programs:
46+
Building tools (you need to install bison parser):
47+
48+
cd tools
49+
make all
50+
su
51+
make install
52+
53+
It creates programs:
4554

4655
dstool and nntool - dataset management and neural network weight learning.
4756

@@ -95,15 +104,7 @@ which can be transformed to nnetwork and further trained using output examples.
95104

96105
Finally add support of parallel DBN pretraining + nnetwork optimization to tools ("nntool").
97106

98-
Release version 1.0
99-
100-
101-
(possible ideas after 1.0)
102-
103-
FOCUS: generalization capabilities of neural networks. Neural network
104-
optimization works rather well but currently dinrhiw does a poor job
105-
when the solutions should extrapolate or interpolate to outside.
106-
107+
TODO
107108

108-
Recurrent neural networks (with memory) and reinforcement learning.
109+
Recurrent neural networks and reinforcement learning.
109110

config.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
#define PACKAGE_NAME "whiteice::dinrhiw"
4242

4343
/* Define to the full name and version of this package. */
44-
#define PACKAGE_STRING "whiteice::dinrhiw <nop@iki.fi>"
44+
#define PACKAGE_STRING "whiteice::dinrhiw <tomas.ukkonen@iki.fi>"
4545

4646
/* Define to the one symbol short name of this package. */
4747
#define PACKAGE_TARNAME "whiteice--dinrhiw"
@@ -50,7 +50,7 @@
5050
#define PACKAGE_URL ""
5151

5252
/* Define to the version of this package. */
53-
#define PACKAGE_VERSION "<nop@iki.fi>"
53+
#define PACKAGE_VERSION "<tomas.ukkonen@iki.fi>"
5454

5555
/* The size of `char', as computed by sizeof. */
5656
#define SIZEOF_CHAR 1

0 commit comments

Comments
 (0)