Threading or multiprocess – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Threading or multiprocess – Python – Fórum – Programujte.comThreading or multiprocess – Python – Fórum – Programujte.com

 

daniel
~ Anonymní uživatel
74 příspěvků
26. 8. 2020   #1
-
0
-

Dobrý deň, 

programujem v pyqt5 aplikaciu a potrebujem spustit cast programu(deep learning) v inom procese alebo vlakne. 

skusam QThread, QThreadPool, QProcess, ale stale neúspešne. 

ďakujem rady.

Nahlásit jako SPAM
IP: 195.146.149.–
daniel
~ Anonymní uživatel
74 příspěvků
26. 8. 2020   #2
-
0
-

   

learning = Learning(
							 
    dataset_path=str(self.__le_dataset_path.text()),
    model_path=str(self.__le_model_path.text()),
    kernel=int(self.__lcd_kernel.value()),
    img_size=int(self.__lcd_img_size.value()),
    color_channel=int(self.__lcd_color_channel.value()),
    pooling=int(self.__lcd_pooling.value()),
    classes=int(self.__lcd_classes.value()),
    batch_size=int(self.__lcd_batch_size.value()),
    epochs=int(self.__lcd_epochs.value()),
    y_activation=str(self.__cmb_y_activation.currentText()),
    loss=str(self.__cmb_loss.currentText()),
    optimizer=str(self.__cmb_optimizer.currentText()),
    color_mode=str(self.__cmb_color_mode.currentText()),
    class_mode=str(self.__cmb_class_mode.currentText())
)
process = QProcess()
process.start(learning.run_process())
process.startDetached()
Nahlásit jako SPAM
IP: 195.146.149.–
gna
~ Anonymní uživatel
1891 příspěvků
26. 8. 2020   #3
-
0
-

Netuším, co je zač ten Learning, ale run_process nezní jako název metody, která by vracela cestu k programu, kterou očekává QProcess.start.

Nahlásit jako SPAM
IP: 213.211.51.–
JerryM0
Věrný člen
26. 8. 2020   #4
-
0
-

#1 daniel
a jsi si jistej že nechceš spíš používat třeba C++ a knihovnu Qt ???

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:fc44:20c3:3a46:7027...–
gna
~ Anonymní uživatel
1891 příspěvků
26. 8. 2020   #5
-
0
-

#4 JerryM
To ten problém vyřeší...   

Nahlásit jako SPAM
IP: 213.211.51.–
daniel
~ Anonymní uživatel
74 příspěvků
26. 8. 2020   #6
-
0
-

#3 gna
run_process je zavolana metoda z triedy Learning. Potrebujem spustit ucenie v inom vlakne alebo inom procese, pretoze mi zatazuje GUI. 

learning = Learning(
							 
    dataset_path=str(self.__le_dataset_path.text()),
    model_path=str(self.__le_model_path.text()),
    kernel=int(self.__lcd_kernel.value()),
    img_size=int(self.__lcd_img_size.value()),
    color_channel=int(self.__lcd_color_channel.value()),
    pooling=int(self.__lcd_pooling.value()),
    classes=int(self.__lcd_classes.value()),
    batch_size=int(self.__lcd_batch_size.value()),
    epochs=int(self.__lcd_epochs.value()),
    y_activation=str(self.__cmb_y_activation.currentText()),
    loss=str(self.__cmb_loss.currentText()),
    optimizer=str(self.__cmb_optimizer.currentText()),
    color_mode=str(self.__cmb_color_mode.currentText()),
    class_mode=str(self.__cmb_class_mode.currentText())
)
process = QProcess()
process.start(learning.run_process())
process.startDetached()
Nahlásit jako SPAM
IP: 195.146.149.–
JerryM0
Věrný člen
26. 8. 2020   #7
-
0
-

#6 daniel
my to chápeme ... třeba tady máš příklad:

https://www.learnpyqt.com/courses/concurrent-execution/multithreading-pyqt-applications-qthreadpool/

a tady další

https://stackoverflow.com/questions/6783194/background-thread-with-qthread-in-pyqt

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:fc44:20c3:3a46:7027...–
gna
~ Anonymní uživatel
1891 příspěvků
27. 8. 2020   #8
-
0
-

#6 daniel
Nechápu, co jsi tím chtěl říct. Konstrukce

process.start(learning.run_process())

znamená, že se provede run_process a návratová hodnota se použije jako parametr pro start. Pravděpodobně se pokoušíš o nesmysl, ale to se nedozvíme, protože nemáš potřebu objasnit, co je zač ta třída Learning. A volání starDetachech po start je rozhodně nesmysl.

Takže můžu jen střelit od boku a zkusit vlákno:

import threading

thread = threading.Thread(target=learning.run_process)
thread.start()
Nahlásit jako SPAM
IP: 213.211.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 17 hostů

Podobná vlákna

Socket a threading — založil Arthurk

Jak používat Threading? — založil jojo

Multiprocessing — založil neilo

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý