Forum Linux.debian/ubuntu [résolu] whisper sur Debian

Posté par  (Mastodon) . Licence CC By‑SA.
Étiquettes :
1
19
nov.
2023

J'essaie de me mettre à l'IA. Il faut bien être hype, non ?

Bon, j'essaie surtout de faire du speech to text comme on dit en bon français.

J'ai vu passé des commentaires pas trop négatif sur whisper

J'ai aussi vu des incantations avec pip mais quand j'essaie ces incantations sur ma debian, j'ai le message suivant :

error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.

    See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

Comme je suis un garçon pas contraire, j'ai installé python3-whisper.

Puis, j'ai fait un petit doc avec les lignes de codes suggérées par Internet

import whisper

model = whisper.load_model("large")
result = model.transcribe("audio.mp3")
print(result["text"])

Mais mon ordinateur, il est pas content quand j'essaie de faire tourner ce programme. Il me dit

Traceback (most recent call last):
  File "/home/user/Documents/Tanguy/test.py", line 3, in <module>
    model = whisper.load_model("base")
            ^^^^^^^^^^^^^^^^^^
AttributeError: module 'whisper' has no attribute 'load_model'

Comme la ligne import ne pose pas problème, je me dis que j'ai bien installé quelque chose sur mon PC et que ce qq chose doit bien être importé lorsque le programme tourne. Mais je suis déçu et surtout je ne comprend pas que mon PC m'indique une AttributeError

Si vous avez une piste d'explication, je suis preneur. Si vous avez en plus une piste pour que whisper fonctionne, je suis tout ouïe.

  • # pas le bon whisper

    Posté par  . Évalué à 3.

    Je pense que python3-whisper n'est pas a openai-whisper, du coup pas de load_model…

    Tu peux installer openai-whisper sous debian avec pip, mais 'ils' te conseillent de le faire dans un venv pour ne pas polluer ton système.

    • installer python3-venv
    • créer le venv python3 -m venv venv
    • charger le venv source venv/bin/activate
    • installer whisper pip install openai-whisper

    Ça vaut le coup de regarder un peu de doc sur les venv, c'est très pratique.

    • [^] # Re: pas le bon whisper

      Posté par  (Mastodon) . Évalué à 2.

      Je pense que python3-whisper n'est pas a openai-whisper, du coup pas de load_model…

      Ah, oui. En effet.

      Tu peux installer openai-whisper sous debian avec pip, mais 'ils' te conseillent de le faire dans un venv pour ne pas polluer ton système.

      Je n'avais pas lu jusque que là trop convaincu que j'avais déjà installé whisper

      Merci. Avec tes suggestions, cela fonctionne parfaitement.

      Surtout, ne pas tout prendre au sérieux !

  • # un piège classique en Python

    Posté par  (Mastodon) . Évalué à 4.

    Si par hasard ton bout d'essai s'appelle whisper.py, alors le import s'importera lui-même et il ne verra pas de load_model.

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

    • [^] # Re: un piège classique en Python

      Posté par  . Évalué à 2.

      C'est vrai, je n'y ai pas pensé, mais là python3-whisper ça dit "database engine for fast, reliable fixed-sized databases", je pense que ce n'est pas le bon paquet.

    • [^] # Re: un piège classique en Python

      Posté par  (Mastodon) . Évalué à 2.

      Ah, cela aurait été rigolo et j'en suis entièrement capable mais ce n'était pas le problème. Je note cela dans les choses à ne pas faire.

      Surtout, ne pas tout prendre au sérieux !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.