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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 606
    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 chevronné
    Inscrit en
    Février 2011
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 276
    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 éclairé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 606
    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