IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

[doParallel] plage non numérique pour une matrice


Sujet :

R

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 604
    Points : 206
    Points
    206
    Par défaut [doParallel] plage non numérique pour une matrice
    Bonjour,

    J'utilise le package doParallel et j'ai une erreur que je n'arrive pas à résoudre. Avec %do% je n'ai pas cette erreur:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    library(doParallel)
     
    fun <- function(n, p) colMeans(matrix(runif(n*p), n, p))
    args <- CJ(n = c(1e4, 1e5, 1e4), p = c(10, 50, 20))
     
    cl <- makeCluster(9)
    registerDoParallel(cl)
    results <- foreach(i=1:nrow(args)) %dopar%
    {
      return(fun(n = args[i]$n, p = args[i]$p))
    }
    Error in { : task 1 failed - "plage non numérique pour une matrice"
    stopCluster(cl)

  2. #2
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 276
    Points : 561
    Points
    561
    Par défaut
    Bonjour,

    probablement que le cluster que tu crées est un cluster a mémoire dédiée (type SOCK par exemple) et si tel est le cas il ne trouve pas l'objet args parce que tu ne l'as pas exporté au préalable. De même ensuite pour la fonction fun.
    Il te faut faire clusterExport(cl, c("args", "fun")) avant la commande foreach et probablement aussi ajouté l'argument .packages = "data.table" dans la commande foreach ou alors créer args avec la fonction expand.grid.
    cdlt

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 604
    Points : 206
    Points
    206
    Par défaut
    bonjour,
    merci de votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. modification de précision numérique pour une matrice
    Par oliv27400 dans le forum MATLAB
    Réponses: 5
    Dernier message: 03/06/2010, 18h09
  2. type pour une matrice cubique d'entiers
    Par italiasky dans le forum C
    Réponses: 4
    Dernier message: 26/06/2007, 21h49
  3. [Débutant] Recherche de minimum non nul dans une matrice
    Par sebastien69 dans le forum MATLAB
    Réponses: 2
    Dernier message: 05/06/2007, 16h00
  4. Fonction flip Vertical pour une matrice
    Par romain1986 dans le forum SDL
    Réponses: 5
    Dernier message: 05/04/2007, 11h17
  5. Réponses: 13
    Dernier message: 05/03/2007, 09h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo