Die Cuda-Bibliothek kann in Python nicht gefunden werden?
Hallo, ich verwende Python im VS-Code und möchte einen einfachen Sprachtranskribierer mit einem schnelleren Whisper-AI-Modell basierend auf dem Whisper-Modell von Open AI erstellen. Jedes Mal, wenn ich den Code verwendete, trat derselbe Fehler auf:
"Could not locate cudnn_ops_infer64_8.dll. Please make sure it is in your library path!"
Ich habe versucht, meine CPU anstelle von Cuda zu verwenden, aber es war einfach viel zu langsam. Ich habe auch versucht, PyCharm zu verwenden, um sicherzustellen, dass das Problem nicht im VS-Code liegt, habe aber den gleichen Fehler erhalten. Ich habe sowohl Cuda als auch cudnn installiert und die scheinbar fehlende DLL-Datei befindet sich unter:
"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6\bin\cudnn_ops_infer64_8.dll"
Ich verwende einen i5 12600k, 32 GB DDR5 und eine RTX 3070 Ti.
Kann mir jemand helfen? Ich bin nicht so erfahren in Ai und habe die letzten zwei Tage alles versucht. Ich habe keine Idee, das Problem zu lösen.
Hier ist mein Code:
import pyaudio
import numpy as np
from faster_whisper import WhisperModel
CHUNK_SIZE = 16000 # 1 Sekunde Audio bei 16kHz
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 16000
model_size = "large-v2" # Größeres Modell für bessere Leistung mit Deutsch
def list_microphones():
p = pyaudio.PyAudio()
info = p.get_host_api_info_by_index(0)
num_devices = info.get('deviceCount')
for i in range(num_devices):
device = p.get_device_info_by_host_api_device_index(0, i)
if device.get('maxInputChannels') > 0:
print(f"ID {i}: {device.get('name')}")
p.terminate()
def select_microphone():
list_microphones()
while True:
try:
device_id = int(input("Geben Sie die ID des gewünschten Mikrofons ein: "))
return device_id
except ValueError:
print("Ungültige Eingabe. Bitte geben Sie eine Zahl ein.")
def send_audio(device_id):
p = pyaudio.PyAudio()
stream = p.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=True,
frames_per_buffer=CHUNK_SIZE, input_device_index=device_id)
model = WhisperModel(model_size, device="cuda", compute_type="float16")
print("Höre zu... Drücken Sie Strg+C zum Beenden.")
last_text = ""
try:
while True:
# Sammle 5 Sekunden Audio
audio_data = []
for _ in range(5): # 5 Sekunden
data = stream.read(CHUNK_SIZE)
audio_data.append(data)
# Konvertiere in numpy array
audio_np = np.frombuffer(b''.join(audio_data), dtype=np.int16).astype(np.float32)
# Normalisiere
audio_np = audio_np / np.iinfo(np.int16).max
# Transkribiere
segments, _ = model.transcribe(audio_np, beam_size=5, language="de")
# Verarbeite und gib das Ergebnis aus
for segment in segments:
text = segment.text.strip()
if text and text != last_text: # Nur neue, nicht-leere Segmente ausgeben
print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {text}")
last_text = text
except KeyboardInterrupt:
print("Stoppe...")
finally:
stream.stop_stream()
stream.close()
p.terminate()
if __name__ == '__main__':
selected_device = select_microphone()
send_audio(selected_device)
Ich sehe das Problem leider auch nicht. Es gibt doch sicher Tuturials zum instalieren und importieren von Cuda. Versuche der Schritt für Schritt zu folgen.
Hab ich leider schon.