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

Calcul scientifique Python Discussion :

numpy.corrcoef / numpy.dot qui bloque. Problème avec librairie BLAS?


Sujet :

Calcul scientifique Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 5
    Par défaut numpy.corrcoef / numpy.dot qui bloque. Problème avec librairie BLAS?
    Bonjour,

    Lorsque j'utilise la fonction numpy.corrcoef dans un programme, ce dernier se bloque... parfois, mais pas tout le temps. Je n'ai pas encore compris quels facteurs influençaient sur le fait que ça bloque ou pas. Mais ça a plutôt tendance à se bloquer quand j´utilise cette fonction avec des vecteurs de grandes dimensions.
    Ce qui est bizarre, c'est que quand ça bloque, je n'ai pas de message d'erreur. Le processus "python" ne s’interrompt pas, il est toujours présent dans la liste des processus du gestionnaire de tâches, mais aucune ressource CPU n'y est accordé. Mon utilisation de CPU tombe a presque 0%. J'ai laissé l'ordi tourner une journée comme ça et rien ne se passe. Mon programme reste bloqué au niveau de cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    corrcoeffi = np.corrcoef(X,Y)[0][1]
    Une idée d'où peut venir le problème ou de comment je pourrais trouver l´origine du problème?

    Config:
    Windows 8
    WinPython 64 bits 2.7.6.2

  2. #2
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 5
    Par défaut C'est numpy.dot qui bloque
    En recopiant la fonction corrcoef dans mon programme - donc maintenant je ne l'importe plus de la bibliothèque numpy-, j'arrive à détailler un peu plus l'origine de mon problème:
    La fonction corrcoef fait appel à la fonction numpy.cov qui fait elle même appel à la fonction numpy.dot - multiplication matricielle. Et c'est à l'appel de cette dernière fonction que mon programme bloque.

    Je n'ai pas trouvé dans numpy où elle était codé. Mais j'ai cru comprendre qu'elle utilisait la libraire BLAS ou DOTBLAS.
    D'après ce que j'ai compris la fonction numpy.show_config() permet de savoir quelle librairie BLAS est utilisée. J´ai joint le résultat ici: Nom : show_config.jpg
Affichages : 1018
Taille : 180,2 Ko
    Ce qui est intéressant, c'est que l'adresse qui est citée partout:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:/Program Files (x86)/Intel/Composer XE/mkl
    n'existe pas!
    Est-ce que ça un lien avec mon problème?

  3. #3
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 063
    Par défaut
    Il doit te manquer la lib MKL, essayes voir d'installer le paquet scipy-stack, qui doit comprendre cette librairie, me semble-t-il...

    Attention de choisir la bonne version en fonction du python que tu as.

  4. #4
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 5
    Par défaut
    Bonsoir Fred,

    Comment puis-je vérifier si j'ai la librairie MKL ou pas?
    Je n'ai pas installé python et numpy directement, mais WinPython 2.7.6. Or WinPython 2.7.6 contient numpy-MKL 1.8.0: voir ici
    J'imagine que la librairie MKL a donc du être installée lorsque numpy-MKL a été installé.
    Si j'installe scipy-stack, comme tu me le suggères, me faut-il, avant, désinstaller numpy, scipy, matplotlib, ipython, pandas...?

  5. #5
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 063
    Par défaut
    Je ne connais pas WinPython, d'ailleurs je ne suis pas sous Windows...

    Si j'installe scipy-stack, comme tu me le suggères, me faut-il, avant, désinstaller numpy, scipy, matplotlib, ipython, pandas...?
    Normalement non, mais fais bien attention au choix selon ta version python, vérifie bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import sys
     
    print sys.version

  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2014
    Messages : 5
    Par défaut
    Bon j'ai tout réinstallé, cette fois sans WinPython, mais avec Python 2.7 et les bibliothèques dont j'ai besoin:
    numpy, scipy, matplotlib, pandas, cvxopt.
    Comme je n'ai pas réussi à installé cvxopt en 64 bits, j'ai du tout installer en 32 bits.
    Pour l'instant le blocage de la fonction numpy.dot() n'est pas réapparu. Il semble que ce problème soit résolu. Mais je suis en 32 bits et le programme que j'utilise tourne 4 fois plus lentement!

    Voici le résultat de la commande numpy.show_config():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    numpy.show_config()
    atlas_threads_info:
      NOT AVAILABLE
    blas_opt_info:
        libraries = ['f77blas', 'cblas', 'atlas']
        library_dirs = ['C:\\local\\lib\\yop\\sse3']
        define_macros = [('NO_ATLAS_INFO', -1)]
        language = c
    atlas_blas_threads_info:
      NOT AVAILABLE
    lapack_opt_info:
        libraries = ['lapack', 'f77blas', 'cblas', 'atlas']
        library_dirs = ['C:\\local\\lib\\yop\\sse3']
        define_macros = [('NO_ATLAS_INFO', -1)]
        language = f77
    atlas_info:
        libraries = ['lapack', 'f77blas', 'cblas', 'atlas']
        library_dirs = ['C:\\local\\lib\\yop\\sse3']
        define_macros = [('NO_ATLAS_INFO', -1)]
        language = f77
    lapack_mkl_info:
      NOT AVAILABLE
    blas_mkl_info:
      NOT AVAILABLE
    atlas_blas_info:
        libraries = ['f77blas', 'cblas', 'atlas']
        library_dirs = ['C:\\local\\lib\\yop\\sse3']
        define_macros = [('NO_ATLAS_INFO', -1)]
        language = c
    mkl_info:
      NOT AVAILABLE
    Comme avant, le dossier cité "C:\local\lib\yop\sse3" n'existe pas.

Discussions similaires

  1. Problème avec librairie apc
    Par dede92 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 16/09/2013, 07h25
  2. Problème avec librairies SDL/SGE (sge_textEditor)
    Par StudentBstois dans le forum SDL
    Réponses: 6
    Dernier message: 14/03/2012, 20h07
  3. Réponses: 9
    Dernier message: 19/03/2008, 19h11
  4. Problème avec librairie iostream.h
    Par Rafoo dans le forum MFC
    Réponses: 3
    Dernier message: 22/07/2005, 13h20

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