Réseaux de neurones convolutifs en R

8

Je ne vois pas de package pour faire des réseaux de neurones convolutionnels dans R. Est-ce que quelqu'un a implémenté ce type d'algorithme dans R?

Hack-R
la source
ne le pense pas, même s'il était implémenté, il manquerait probablement de support pour son utilisation. Je suggérerais Tensorflow ou Skflow pour python, caffe pour C ++ ou caffe on spark pour Apache Spark.
GameOfThrows
@GameOfThrows Merci, je pense que vous avez raison. J'utilise tensorflow et Caffe mais je tout comme d'utiliser R.
Hack-R

Réponses:

3

Les 2 packages suivants sont disponibles en R pour la formation sur les réseaux de neurones profonds:

  1. darch : Package pour les architectures profondes et les machines Boltzmann restreintes. Le paquet Darch est construit sur la base du code de GE Hinton et RR Salakhutdinov (disponible sous le code Matlab pour les réseaux de croyances profondes). Ce package est destiné à générer des réseaux de neurones avec de nombreuses couches (architectures profondes), à les former et à les affiner avec des algorithmes de formation connus comme la rétropropagation ou les gradients conjugués. De plus, le réglage fin supervisé peut être amélioré avec maxout et dropout, deux techniques récemment développées pour améliorer le réglage fin pour l'apprentissage en profondeur. Lien CRAN: http://cran.um.ac.ir/web/packages/darch/index.html

  2. deepnet : boîte à outils d'apprentissage en profondeur dans R. Implémentez des architectures d'apprentissage en profondeur et des algorithmes de réseau de neurones, notamment BP, RBM, DBN, Deep autoencoder et ainsi de suite. Lien CRAN: https://cran.r-project.org/web/packages/deepnet/index.html

Sandeep S. Sandhu
la source
Merci pour votre réponse. J'ai utilisé les deux et je ne pensais pas qu'ils fournissaient des algorithmes CNN? Je viens de chercher dans la documentation le mot convolutionnel et rien ne s'est produit. Ont-ils réellement cette fonctionnalité?
Hack-R
2

Je pense que mxnet est l'une des meilleures options si vous codez en R. Ils ont un wrapper R mais le noyau est en C ++.

Ils ont plusieurs exemples sur le Web. L'un d'eux est la reconnaissance de caractères avec la base de données MNIST. Ils ont un support pour multi-gpus et aussi pour Spark.

hoaphumanoïde
la source
Oui, également RNN, LSTM. Ils ont de nombreux exemples dans leur github
hoaphumanoid
Ah, oui merci. J'ai utilisé mxnet pour la classification d'images, mais je ne pensais pas qu'il avait les mêmes algorithmes CNN. Je vois un exemple de classification de texte CNN. J'aurais probablement dû spécifier la classification des images. Pourtant, il peut peut-être être exploité en tant que tel. Je vais y jeter un œil. Merci! +1
Hack-R
0

Installation

Pour commencer, installez le package tensorflow R de GitHub comme suit:

devtools::install_github("rstudio/tensorflow")

Ensuite, utilisez la fonction install_tensorflow () pour installer TensorFlow:

library(tensorflow)
install_tensorflow() 

Vous pouvez confirmer que l'installation a réussi avec:

sess = tf$Session() hello <- tf$constant('Hello, TensorFlow!')
sess$run(hello) 

Cela vous fournira une installation par défaut de TensorFlow appropriée pour démarrer avec le package tensorflow R. Consultez l'article sur l'installation pour en savoir plus sur les options plus avancées, notamment l'installation d'une version de TensorFlow qui tire parti des GPU Nvidia si vous disposez des bibliothèques CUDA appropriées.

Adrian Torrie
la source