- Autor
- Fernando Pujaico Rivera
- Fecha
-
- Versión
- 0.5.0
1 Descargando la biblioteca
1.1 Descargando paquete *.tar.gz
La versión 0.5.0 de la biblioteca PDS Neural Networks (libpdsnn) puede ser descargado en libpdsnn-0.5.0.tar.gz o usando el comando:
Es necesario tener instalado wget.
1.2 Descargando el actual código fuente no versionado
El actual código fuente no oficial de PDS Neural Networks puede ser descargado usando el comando:
Es necesario tener instalado bazaar.
2 Compilando e instalando la biblioteca
Para compilar la biblioteca PDS Neural Networks es necesario tener en cuenta el siguiente diagrama de dependencias de la biblioteca.
Crear/Compilar la biblioteca PDS Neural Networks.
Como se puede ver, son necesarios los archivos de definiciones *.h
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/libpdsnn
cmake -DCMAKE_INSTALL_PREFIX=/usr/local /path/of/source/libpdsnn
# 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/libpdsnn
# Es obligatorio usar el el directorio de instalación en /usr
cmake -DCMAKE_INSTALL_PREFIX=/usr /path/of/source/libpdsnn
# Compilar y crea el paquete *.deb
make package
# Instala la biblioteca
sudo dpkg -i libpdsnn-0.5.0_ARCHITECTURE.deb
Donde ARCHITECTURE puede ser "i386", "amd64", etc.
3 Usando la biblioteca para compilar un programa
Una vez instalada la biblioteca PDS Neural Networks, 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 Neural Networks.
Para usar PDS Neural Networks en un proyecto (como example.c), se debe agregar la siguiente cabecera al inicio del código fuente.
Esto incluirá todas las definiciones de las funciones de la biblioteca PDS Neural Networks.
3.1 Código de ejemplo
#include <stdlib.h>
#include <pds/pdsra.h>
#include <pds/pdsnn.h>
int main(int argc, char** argv)
{
if(MLayer==NULL) return EXIT_FAILURE;
PdsVector *X = pds_vector_new(Larray[0]);
PdsVector *Y = pds_vector_new(Larray[Nel-1]);
if( (X==NULL)||(Y==NULL) ) return EXIT_FAILURE;
id=0;
for(i=0;id<Ntraining;i++)
{
printf("\nTraining %4d: id=%4d\n",i,id);
if( (Iter0==0)&&(Iter1==0)&&(Iter2==0) )
id++;
else
id=0;
}
printf("\nNeural network saved in data_example.mlayer\n\n");
pds_vector_free(X);
pds_vector_free(Y);
return EXIT_SUCCESS;
}
example.c
3.2 Compilando un ejemplo
Luego para compilar enlazando estáticamente (Statically linked) un archivo de código fuente llamado example.c, debe ser usado el siguiente comando
gcc -static -o example example.c -lpdsnn -lpdsra -lpdsrv -lpdssn -lm
Por otro lado si se desea compilar enlazando dinamicamente (Dynamically linked) un archivo de código fuente llamado example.c, debe ser usado el siguiente comando
gcc -o example example.c -lpdsnn -lpdsra -lpdsrv -lm
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.
gcc -static -o example example.c `pkg-config --static --libs --cflags libpdsnn`
#Dynamically linked.
gcc -o example example.c `pkg-config --libs --cflags libpdsnn`
4 Versión
Es posible conocer la version instalada de la biblioteca libpdsnn usando el siguiente comando
pkg-config --modversion libpdsnn