Python Fehler bei Multiprocessing?

Hallo,

Momentan schreibe ich eine kleine Anwendung die Text sprechen soll. Mein Code:

Voice.py

from loguru import logger
import pyttsx3
import multiprocessing


class Voice():


    def __init__(self):
        import YAML
        self.process = None
        logger.debug("[CONFIG] Reading Config Data")
        self.voiceId = YAML.config['assistant']['Voice']['VoiceID']
        logger.debug("[Start] Voice initialistion")
        self.engine = pyttsx3.init()
        self.engine.setProperty('voice', self.voiceId)
        logger.debug("[Finish] Voice initialistion")


    def __speak__(self, text):
        self.engine.say(text)
        self.engine.runAndWait()
    
    def say(self, text):
        if self.process:
            self.stop()
        logger.debug("[START] Say process")
        p = multiprocessing.Process(target=self.__speak__, args=(text, ))
        p.start()
        self.process = p


    def stop(self):
        if self.process:
            self.process.terminate()
            logger.info("[STOPP] Say process")

Main.py

from loguru import logger
import Voice
logger.info("[START] ...")
self.Voice = Voice.Voice()
logger.info("...")
self.Voice.say("Initalisierung abgeschloßen")

Bei der Ausführung wird mir aber folgender Fehler ausgegeben:

Traceback (most recent call last):
  File "C:\Users\toni-\Desktop\VoiceAssistant\main.py", line 15, in <module>
    Assistant = VoiceAssistant()
                ^^^^^^^^^^^^^^^^
  File "C:\Users\toni-\Desktop\VoiceAssistant\main.py", line 9, in __init__
    self.Voice.say("Initalisierung abgeschloßen")
  File "C:\Users\toni-\Desktop\VoiceAssistant\Voice.py", line 26, in say
    p.start()
  File "C:\Users\toni-\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\process.py", line 121, in start
    self._popen = self._Popen(self)
                  ^^^^^^^^^^^^^^^^^
  File "C:\Users\toni-\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\context.py", line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\toni-\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\context.py", line 336, in _Popen
    return Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^
  File "C:\Users\toni-\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\popen_spawn_win32.py", line 94, in __init__
    reduction.dump(process_obj, to_child)
  File "C:\Users\toni-\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
TypeError: cannot pickle 'module' object
PS C:\Users\toni-\Desktop\VoiceAssistant> Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\toni-\AppData\Local\Programs\Python\Python311\Lib\multiprocessing\spawn.py", line 106, in spawn_main
    source_process = _winapi.OpenProcess(
                     ^^^^^^^^^^^^^^^^^^^^
OSError: [WinError 87] Falscher Parameter
Programmiersprache, Python, Python 3
(Python) .ts-, .pro-Dateien, QTranslator und Qt Linguist richtig verwenden?

Leider konnte mir nicht einmal ChatGPT helfen, da dieser Bot nur noch für Verwirrung gesorgt hat. Mal brauchte man eine gewisse Datei, mal nicht. Dann musste diese Datei mal dort und mal dort liegen. Auch das Recherchieren hat nicht viel gebracht.

Also, folgendes Problem:

Ich möchte QTranslator verwenden, um in meiner GUI-Anwendung, die ich mit dem Qt Designer gestalte, die ganzen Texte zu übersetzen.

Alle Texte von den ganzen beschrifteten Elementen usw. sollen in Deutsch und Englisch übersetzt werden können. Mit "lupdate -ts ..." habe ich die Quelldatei MainWindow.py analysieren lassen, um mir daraus passende .ts-Dateien erstellen zu lassen. Die MainWindow.py-Datei ist die konvertierte MainWindow.ui-Datei.

Das Ding ist nur, dass dann nicht weiter als

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="SPRACHE">
</TS>

in den .ts-Datein steht - ich weiß aber nicht, ob das falsch ist. Wenn ich aber diese Datei in Qt Linguist öffnen möchte, sagt der mir Die Übersetzungsdatei /lang/de_DE.ts ist leer und wird daher nicht geladen.

Hier ist der Baum meines Projektes, damit man mir außerdem besser weiterhelfen kann, welche Datei ich für die Übersetzung wo hinlegen soll:

In dieser de_DE.pro-Datei steht einfach nur

TEMPLATE = app
QT += core gui linguist
SOURCES += ../gui/MainWindow.py
TRANSLATIONS += translations/de_DE.ts translations/en_US.ts

drin und ich weiß immer noch nicht, ob die wirklich gebraucht wird.

Vielen Dank!

Bild zu Frage
programmieren, Python, GUI, Python 3, Pycharm
Text unter Bild in HTML hinzufügen?

Ich habe ein Bild. Darunter habe ich ein Text platziert. Allerdings geht der Horizontal von links nach rechts, was es auch soll. Nur soll er da anfangen, wo auch das Bild beginnt und enden, wo das Bild endet. In den zwei Bildern könnt ihr erkennen, wie es es gerade habe und nicht will und wie ich es gerne haben würde.

<!DOCTYPE html>
<html>
<head>
    <title>Film- und Serienbeschreibungen</title>
  


  <style>
    img {
        display: block;
        margin: 0 auto;
        width: 1000px;
        border-radius: 10px;
    }


    body {
        text-align: center;
    }


    p {
        
    }
  </style>
</head>
  <body>
    <img src="mrrobotscene.jpg">
    <h1>Mr. Robot - Beschreibung</h1>
    <p>Mr. Robot ist eine US-amerikanische Fernsehserie, die von Sam Esmail entwickelt wurde. Die Serie handelt von Elliot Alderson, einem jungen Programmierer, der für eine Cyber-Sicherheitsfirma arbeitet und in seiner Freizeit zum Hacker wird. Elliot leidet unter sozialen Ängsten und Depressionen und verfällt in eine Art Schizophrenie, die von seinem imaginären Freund, Mr. Robot, ausgelöst wird</p>
    
  </body>
</html>
Bild zu Frage
PC, Computer, Programm, HTML, Webseite, programmieren, CSS, Java, JavaScript, HTML5, Hacking, Informatik, JQuery, PHP, Programmiersprache, Python, Softwareentwicklung, Technologie, Webdesign, Webentwicklung, Visual Studio Code, Frontend-Entwicklung
ChatBot wie ChatGPT programmieren? (Einfacher)?

Hi, mein großes Projekt für dieses Jahr soll sein, einen intelligenten ChatBot zu Coden. Ähnlich wie ChatGPT, aber mit ist natürlich bewusst, dass ich einen so komplexen Bot nicht machen kann. Es soll ein kleinerer werden.

Meine Vorstellungen:

Die Oberfläche mit HTML und CSS

Die Datenbank mit SQL? (ich habe wenig Erfahrung mit Datenbanken, deshalb das Fragezeichen)

Ansonsten die Logik eventuell mit JS, aber eventuell mit etwas anderem, da man ja über JS leicht Schadsoftware injizieren kann.

Könnt ihr mir da einen Vorschlag machen?

Die Funktion habe ich mir so vorgestellt:

In einer Datenbank sind entweder Schlüsselwörter oder komplette Antworten gespeichert. Zu jedem Schlüsselwort sollen Daten gespeichert sein. Wenn in der Datenbank nur Schlüsselwörter gespeichert sind, soll der Bot automatisch Sätze dazu formulieren.

Ein Beispiel:

Eingegebene Frage: Wer ist der Bundeskanzler von Deutschland?

(Bot Sicht spezielle Wörter im Text, z.B. Bundeskanzler und Deutschland)

in der Datenbank: Olaf Scholz (Daten zu ihm, Schlüsselwörter wann diese Antwort genutzt wird) z.B. Olaf Scholz (deutscher Kanzler, männlich, …)[Bundeskanzler+Deutschland, Olaf Scholz, Scholz]

In dem runden Klammern die Daten zu ihm, in den eckigen die Schlüsselwörter, wann die Antwort genutzt wird. Ansonsten halt vorgefertigte Antworten, die sich auch an Schlüsselwörtern in der Frage orientieren.

Wenn nur Wörter gespeichert sind, dann soll er sich einen Satz drumherum bauen.

Ich würde ihn im Browser laufen lassen, aber nicht öffentlich. Eventuell kann man ihn auch mit Google verknüpfen… auch wenn dann vermutlich die ein oder andere Antwort falsch ist. Aber das macht bei meinem nichts. Was haltet ihr davon? Wie würdet ihr es umsetzen? Welche Sprache? Eventuell ein paar Zeilen Code für bestimmte Funktionen?

LG

Programm, SQL, HTML, Programmierer, programmieren, CSS, Java, JavaScript, künstliche Intelligenz, Programmiersprache, Python, C (Programmiersprache), Chatbot, Python 3, Pygame, ChatGPT
Was soll ich alles auf Fiverr anbieten (Jugendlicher, Programmierer)?

Hi.

Also ich würde ganz gerne etwas Geld verdienen, vor allem durch's Programmieren. Problem: Ich mache meine Mittlere Reife erst in 2 1/2 Jahren, da ich durch Corona und Inkomepetenz 2. mal eine Klasse wiederholen musste.

Mir wurde mal vorgeschlagen, mich auf Fiverr zu registrieren. Jetzt frage ich mich aber, was ich am besten anbieten sollte. Ich erzähl hier einfach mal, was ich schon so für Zeug gemacht habe, damit ihr wisst, was ich so kann.

Ich hab mit folgenden Dingen schon gearbeitet (also relativ intensiv):

  • Neuronale Netzwerke (relativ "neu") [Tensorflow, Python]
  • Minecraft Plugins [Spigot API, Java]
  • Webseiten (static und und dynamic) [HTML, CSS, JavaScript, Python/PHP/C++]
  • Automatisierungen (vor allem Webseiten) [Selenium, Python]
  • Scrapper [BeatifulSoup, Python]
  • Discord API (z.B. um Daten über User zu kriegen)
  • Discord Bots [Python und Java, von Scratch und mit Library]
  • MySQL Datenbanken [Python, C#]
  • SQLite Datenbanken [Python, C#, Java]
  • WinForms [C#]
  • WPF [C#]
  • REST API's (um genau zu sein eigene gemacht und die Discord API verwendet)
  • win32.dll [Python, C++, C#]
  • YouTubeDLL [Python]
  • Spotify API (z.B. zum Song wechseln, oder Song Daten anzufragen)

Als übersicht, ich "kann" folgende Programmiersprachen (ich weiß, HTML und CSS sind keine Programmiersprachen) [Sortiert nach Skill]:

  • Python
  • C#
  • Java
  • PHP
  • HTML/CSS/JavaScript <- Alles relativ gleich gut
  • C++ (Simple Sachen, wie Web Server)

Wenn man beachtet, was ich kann. Was würdet ihr mir zum anbieten, auf Fiverr, empfehlen?

Danke im vorraus und lg.

Computer, Arbeit, Software, Technik, Geld, HTML, Webseite, Java, Jugendliche, JavaScript, Cplusplus, Minecraft, C Sharp, Freelancer, Jungs, Programmiersprache, Python, fiverr, Discord, Wirtschaft und Finanzen
python 7 segment zähler?

hallo hab den ganzen tag rumm gemacht und das ist rausgekommen:

import time
nummern = [   #mit zeilen abgrenzungen
    ["  ###  "," #   # ","#     #","#     #","#     #"," #   # ","  ###  ",],
    ["   #   ","  ##   "," # #   ","   #   ","   #   ","   #   "," ##### ",],
    ["  ###  "," #   # ","     # ","   ##  ","  #    "," #     "," ##### ",],
    ["  ###  "," #   # ","     # ","   ##  ","     # "," #   # ","  ###  ",],
    ["    #  ","   ##  ","  # #  "," #  #  "," ######","    #  ","    #  ",],
    [" ##### "," #     "," #     "," ####  ","     # "," #   # ","  ###  ",],
    ["  ###  "," #   # "," #     "," ####  "," #   # "," #   # ","  ###  ",],
    [" ##### ","     # ","    #  ","   #   ","  #    "," #     "," #     ",],
    ["  ###  "," #   # "," #   # ","  ###  "," #   # "," #   # ","  ###  ",],
    ["  ###  "," #   # "," #   # ","  #### ","     # "," #   # ","  ###  ",],]


def mache_nummer(a,b):  # ziffer 1 ziffer 2
    num_a = nummern[a]
    num_b = nummern[b]
    zähler = 0
    out = ""
    while zähler != 7 :
        out += num_a[zähler]
        out += " "
        out += num_b[zähler]
        out += "\n"
        zähler += 1
    print(out)
zähler = 0
while zähler != 10 :
    for z2 in range(0,10):
        mache_nummer(zähler,z2)
        time.sleep(1)
    zähler += 1

es gibt in 7 segment askii stile die zahlen 1 biss 99 so aus :(mach es aber jetzt nicht in ascii)

01
02
03
04
05
06
07
08
09
10
11
12
13...

will es aber soo haben :

1
2
3
4
5
6
7
8
9
10
11
12...

das man auch weiter als 99 zählen kann

hilfe?

ASCII, Python, Zähler
Python: Problem mit .jpeg?

Hey ich hab ein Problem und meine Programmierkenntnisse reichen nicht einmal ansatzweise dazu aus das zu lösen:

gegeben seien zwei Listen, einmal REM und SEM. Dieser werden jeweils Bilderpfade hinzugefügt. Die Bilder werden dann in ne docx-Tabelle eingefügt. Klappt soweit auch alles, zumindest für SEM.

            REM=[]
            EDX=[]
            n_pictures=0
            for i in os.listdir(path_target_main+'\\'+AN_input+'\\'):
                if i.endswith('.jpeg'):
                    if i[0]!='s':
                        n_pictures+=1
                        REM.append(path_target_main+'\\'+AN_input+'\\'+i)
                        EDX.append(path_target_main+'\\'+AN_input+'\\s'+i)
            k=input(n_pictures)
            path=os.getcwd()
            
            path_doc=path+'\main.docx'
          
            doc = docx.Document(path_doc)
            Table=doc.tables[0]
          
            for row in Table.rows:
                for cell in row.cells:
                    paragraphs = cell.paragraphs
                    for paragraph in paragraphs:
                        for run in paragraph.runs:
                            font = run.font
                            font.size= Pt(11)
                            font.name="Arial"
            n_rows=(n_pictures*2)-2
            for i in range(0,n_rows):
                Table.add_row().cells
           
            print(REM)
            print(EDX)


            Table.cell(0, 1).text = ''
            Table.cell(0, 1).paragraphs[0].runs[0].add_picture(REM[1],width=Cm(4.5))


            #Table.cell(0, 0).text = ''
            #Table.cell(0, 0).paragraphs[0].runs[0].add_picture(REM[0],width=Cm(4.5))


            Table.cell(1, 0).text = '1.1'
            Table.cell(1, 0).paragraphs[0].runs[0].font.bold = False
      
            doc_name="new.docx"
            doc.save(doc_name)
Traceback (most recent call last):
[...HAB ICH GELÖSCHT WEGEN DÄMLICHER ZEICHENBEGRENZNG"
[bla bla]e-packages\docx\image\image.py", line 126, in width
    return Inches(self.px_width / self.horz_dpi)
ZeroDivisionError: division by zero

Möchte ich die Bilder aus REM jedoch hinzufügen erhalte ich den ZeroDivisionError: division by zero. Bissl gegoogelt: irgend ne Info scheint net gespeichert zu sein für die Bilder unter REM. Wie behebe ich das? Das nervt mich total gerade -.-

Programmiersprache, Python, Python 3
Tipps für das Trainieren eines Neuronalen Netzes?

Hallo zusammen,

ich möchte versuchen, ob ich einem neuronalen Netz beibringen kann, Aktien-Kurse vorherzusagen.
Bzw. einfacher gesagt Aktien in Kaufenswert und Nicht-Kaufenswert zu Clustern.

Ich hab schon verschiedene Aktivierungsfunktionen getestet, ich habe schon verschiedene Lernraten getestet. Und ich habe schon verschieden viele Schichten mit verschieden vielen Neuronen getestet.

Allerdings sieht das Ergebnis nie so wirklich gut aus. Jetzt weiß ich nicht, ob ich was falsch mache oder ob meine Daten Müll sind.

Hätte hier jemand Tipps für mich?

So sieht mein Code aus:

import pandas as pd
import numpy as np
from sklearn.preprocessing import MinMaxScaler
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras.callbacks import EarlyStopping
import matplotlib.pyplot as plt


# Daten einlesen
data = pd.read_csv("data1.csv")


# Input und Output Daten extrahieren
X = data.iloc[:, -7:].values
y = data.iloc[:, 3].values.reshape(-1, 1)


# Input Daten skalieren
scaler = MinMaxScaler()
X = scaler.fit_transform(X)


# Median der Output Daten berechnen
median = np.median(y)


# Output Daten in gute und schlechte Werte einteilen
y = np.where(y > median, 1, 0)


# Neuronales Netz definieren und trainieren
model = keras.Sequential([
    keras.layers.Dense(2048, input_dim=7, activation='relu'),
    keras.layers.Dense(512, activation='relu'),
    keras.layers.Dense(512, activation='relu'),
    keras.layers.Dense(2, activation='relu'),
    keras.layers.Dense(1, activation='sigmoid')
])


learning_rate = 0.001
optimizer = keras.optimizers.Adam(lr=learning_rate)
model.compile(loss='binary_crossentropy', optimizer=optimizer, metrics=['accuracy'])


early_stopping = EarlyStopping(monitor='val_loss', patience=10)
history = model.fit(X, y, epochs=1000, batch_size=10, validation_split=0.2, callbacks=[early_stopping])


# Vorhersagen treffen und Genauigkeit auswerten
y_pred = np.round(model.predict(X))
accuracy = np.mean(y_pred == y)
false_positives = np.sum((y_pred == 1) & (y == 0))
false_negatives = np.sum((y_pred == 0) & (y == 1))
true_positives = np.sum((y_pred == 1) & (y == 1))
true_negatives = np.sum((y_pred == 0) & (y == 0))


# Ergebnisse ausgeben
print("Genauigkeit:", accuracy)
print("Falsch-Positiv:", false_positives)
print("Falsch-Negativ:", false_negatives)
print("Wahr-Positiv:", true_positives)
print("Wahr-Negativ:", true_negatives)
print("Wahr: ", true_positives + true_negatives)
print("Falsch: ", false_positives + false_negatives)

# Verlauf der Genauigkeit und des Fehlers während des Trainings darstellen
fig, ax = plt.subplots()
ax.plot(history.history['loss'], label='Trainingsfehler')
ax.plot(history.history['val_loss'], label='Validierungsfehler')
ax.set_xlabel('Epochen')
ax.set_ylabel('Fehler')
ax.legend()
fig.savefig('error.png')


Aktien, Neuronale Netze, Python, TensorFlow

Meistgelesene Fragen zum Thema Python