Home | Develop | Download | Contact
PDS Machine learning in C++


Autor
Fernando Pujaico Rivera
Fecha
2021-11-28
Versión
0.1.1

1 Descargando la biblioteca

1.1 Descargando paquete *.tar.gz

La versión 0.1.1 de la biblioteca PDS Machine learning in C++ (libpdsmlmm) puede ser descargado en libpdsmlmm-0.1.1.tar.gz o usando el comando:

wget https://sourceforge.net/projects/libpdsmm/files/sources/libpdsmlmm/libpdsmlmm-0.1.1.tar.gz/download

Es necesario tener instalado wget.

1.2 Descargando el actual código fuente no versionado

El actual código fuente no oficial de PDS Machine learning in C++ puede ser descargado usando el comando:

git clone ssh://trucomanx@git.code.sf.net/p/libpdsmm/libpdsmlmm libpdsmlmm

Es necesario tener instalado bazaar.

2 Compilando e instalando la biblioteca

Para compilar la biblioteca PDS Machine learning in C++ es necesario tener en cuenta el siguiente diagrama de dependencias de la biblioteca.

Crear/Compilar la biblioteca PDS Machine learning in C++.

Como se puede ver, son necesarios los archivos de definiciones *.hpp y las bibliotecas empaquetadas en binario (*.a o *.so).

2.1 Compilando e instalando desde código

# Creando directorio de compilación
mkdir build
cd build
# Define donde se instalará la biblioteca, ejemplo: /usr/local
# Define donde está el código fuente la biblioteca, ejemplo: /path/of/source/libpdsmlmm
cmake -DCMAKE_INSTALL_PREFIX=/usr/local /path/of/source/libpdsmlmm
# Compila el codigo fuente
make
# Instala la biblioteca
sudo make install

2.2 Compilando e instalando desde *.deb

# Creando directorio de compilación
mkdir build
cd build
# Define donde está el código fuente la biblioteca, ejemplo: /path/of/source/libpdsmlmm
# Es obligatorio usar el el directorio de instalación en /usr
cmake -DCMAKE_INSTALL_PREFIX=/usr /path/of/source/libpdsmlmm
# Compilar y crea el paquete *.deb
make package
# Instala la biblioteca
sudo dpkg -i libpdsmlmm-0.1.1_ARCHITECTURE.deb

Donde ARCHITECTURE puede ser "i386", "amd64", etc.

3 Usando la biblioteca para compilar un programa

Una vez instalada la biblioteca PDS Machine learning in C++, para que esta pueda ser usada por algún otro proyecto, es necesario tener en cuenta el siguiente diagrama de dependencia de la biblioteca.

Usar/Enlazar dinámicamente la biblioteca PDS Machine learning in C++.

Para usar PDS Machine learning in C++ en un proyecto (como example.cpp), se debe agregar la siguiente cabecera al inicio del código fuente.

#include <Pds/Ml>

Esto incluirá todas las definiciones de las funciones de la biblioteca PDS Machine learning in C++.

3.1 Código de ejemplo

#include <iostream>
#include <Pds/Ra>
#include <Pds/Ml>
int main(void)
{
Pds::Vector V={2,-1,3};
Pds::Perceptron Neurona1(V);
Pds::Perceptron Neurona2({-1,2,3,-1});
Neurona1.Print("\nN1:\n");
Neurona2.Print("\nN2:\n");
return 0;
}
La clase tipo Pds::Perceptron . Esta clase genera una matriz de Nlin lineas y 1 columna....
Definition: Perceptron.hpp:63
void Print(std::string str="") const
Imprime en pantalla el contenido del vector de pesos después del texto indicado en str.

example.cpp

3.2 Compilando un ejemplo

Para compilar enlazando estáticamente (Statically linked) un archivo de código fuente llamado example.cpp, debe ser usado el siguiente comando

g++ -static -o example example.cpp -lpdsmlmm -lpdsramm -lpdsspmm

Por otro lado si se desea compilar enlazando dinamicamente (Dynamically linked) un archivo de código fuente llamado example.cpp, debe ser usado el siguiente comando

g++ -o example example.cpp -lpdsmlmm -lpdsramm -lpdsspmm

3.3 Compilando un ejemplo : usando pkg-config

Adicionalmente es posible usar pkg-config para obtener los datos de configuración del proceso de compilación.

Atención
Es necesario tener instalado pkg-config
#Statically linked.
g++ -static -o example example.cpp `pkg-config --static --libs --cflags libpdsmlmm`


#Dynamically linked.
g++ -o example example.cpp `pkg-config --libs --cflags libpdsmlmm`

4 Versión

Es posible conocer la version instalada de la biblioteca libpdsmlmm usando el siguiente comando

pkg-config --modversion libpdsmlmm

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed