[PYTHON] [IOS] Erster Pyto

Einführung

Ich denke, Pythonista ist die bekannteste Python-Umgebung für iOS. Persönlich Pythonista

Ich war in diesem Punkt gefangen und habe es nicht gekauft. Eines Tages wurde eine App namens "Pyto" in Nikkei Software eingeführt, und als ich danach suchte, waren die folgenden Punkte attraktiver als Pythonista, also kaufte ich sie.

Dieser Artikel erklärt die Verwendung von Pyto und seiner Grundfunktionen.

Umgebung

iPad pro11(2018)64GB (iOS13.3.1) Pyto(11.4)

Wie benutzt man

Startbildschirm / Dateiauswahlbildschirm

119ADF6B-1BF9-460A-830F-FF8E719FE5D6.jpeg

Wenn Sie die App zum ersten Mal starten, wird der Bildschirm zur Auswahl einer Datei angezeigt. Öffnen Sie die Datei an einem beliebigen Ort oder erstellen Sie eine neue. Darüber hinaus ist die Schaltfläche "..." auf diesem Bildschirm (die Schaltfläche, die in der Abbildung durch den rosa Pfeil gekennzeichnet ist) ~~ (Hinzugefügt am 22.4.2012 (v11.8.3): geändert in ein Aufzählungszeichen) eine App oder Es wird zum Menü und zur Einstellung des Editors. 050F0333-FE89-4B2B-8D57-940304DBE305.jpeg

Menü / Einstellungen

96D890E7-A6CE-4219-A927-CA7E488E89BE.png D33381E6-15EB-4CBF-89F3-177E98441FF7.png

Das Menü ist wie oben gezeigt. Hier können Sie den Editor / das Erscheinungsbild festlegen, den interaktiven Modus verwenden und mit PyPi eine neue Bibliothek hinzufügen (zusätzliche Pakete sind auf reines Python beschränkt).

Interaktiver Modus (REPL)

AEE1ED64-E070-40EB-A179-586CEEA2DFFC.png Interaktiver Modus. Geben Sie den Code in das Textfeld unten ein. Sie können Matplotlib-Diagramme auch im interaktiven Modus anzeigen.

Run module (python -m) DF58FB17-6DC9-479F-AC54-545CEF6F2273.png

Sie können die .py-Datei ausführen. Ich führe pip auf dem Bildschirm oben aus, aber ich konnte die Paketinformationen in pip show nicht sehen. Außerdem habe ich "pip list" ausgeführt, um die installierten Pakete zu überprüfen, aber nur die später mit PyPi installierten Pakete wurden angezeigt, die später beschrieben wurden.

PyPi 61F51E40-6823-4EBA-9221-CF994A14CF4F.png 166D96AF-234F-40A3-8422-24A9C92A295A.png 988088C5-1672-4DA2-837D-5AB3196EB792.png

Mit PyPi können Sie die Version der installierten Bibliothek überprüfen oder eine neue Bibliothek hinzufügen. Es scheint jedoch, dass nur reines Python hinzugefügt werden kann. Ich konnte Seaborn installieren, aber nicht Tensorflow und Pyaudio.

B703C6B8-29F2-4436-9BC7-51AC1CF816A7.png In der obigen Abbildung wird das Paardiagramm mit dem installierten Seaborn ausgeführt. Wenn Sie Matplotlib oder Seaborn mit Pyto verwenden und am Ende nicht "plt.clf ()" schreiben, überlappen sich die Diagramme, wenn sie mehrmals ausgeführt werden.

Beispielcode

ADC66C5B-9A2C-4FFF-A238-03AF43963979.png Enthält Beispielcode mit OpenCV-, sklearn-, GUI-Modulen usw.

Loaded modules 51B7203E-521E-40C4-A3A7-0EEAE7466E13.png

Die geladenen Module werden angezeigt. Sie können auch den Quellcode für dieses Modul anzeigen. Ich bin mir nicht sicher, wofür es verwendet wird.

Settings 5AC0364F-4ACE-40E1-BBE4-718DBF50E06A.png B3694FC6-E2D0-4C16-A222-27F8C0CB2469.png

Dies ist der Einstellungsbildschirm des Editors. Es entspricht dem Soft Tab (Space Tab). Sie können auch aus verschiedenen Arten von Editor-Darstellungen auswählen und diese anpassen.

Editor-Bildschirm

CBAE04E3-7B21-4232-B16A-10F3A32B7E56.png

Dies ist der Editor-Bildschirm. Unten rechts befindet sich eine Zahnradmarkierung, dies ist jedoch keine App-Einstellung. Sie können die zu bearbeitende Datei in Siri registrieren und das aktuelle Verzeichnis ändern. Unten links ... ist eine Editoraktion, und es scheint, dass Sie mit der Datei etwas anfangen können. Das Lesezeichensymbol daneben ist die Pyto-Dokumentation. Es wird beschrieben, wie Pyto-Pakete (GUI-Tools usw.) verwendet werden. Dieses Dokument wird im Internet veröffentlicht und kann unter hier abgerufen werden.

Die Schaltflächen oben sind "Zurück zum Dateiauswahlbildschirm", "Suchen / Ersetzen", "Debuggen (pdb)" und "Ausführen" in der Reihenfolge der vier Quadrate auf der linken Seite.

Sie können die Eingabe auch beenden, wenn Sie eine externe Tastatur verwenden, indem Sie eine Taste wie "V" unten rechts auf dem Bildschirm drücken. Dies erleichtert das Bewegen des Cursors zum Browser, wenn der Browser in der geteilten Ansicht verwendet wird.

add-to-siri, arguments, current directory 2C364699-02CD-4BBC-ABE0-479A590C348B.png Sie können Add-to-Siri, Argumente und das aktuelle Verzeichnis festlegen. In Argumenten können Sie die Argumente festlegen, die bei der Ausführung des Programms übergeben werden sollen. Im aktuellen Verzeichnis können Sie das aktuelle Verzeichnis ändern. Wenn Sie es ändern, wird eine Warnung angezeigt, die Sie jedoch auch nach dem Ändern des aktuellen Verzeichnisses problemlos ausführen können. Das hier ausgewählte Verzeichnis verfügt über Bearbeitungsberechtigungen, und Sie können Dateien durchsuchen und ändern. Wenn Sie eine lokale Datei nicht laden können, können Sie sie möglicherweise laden, indem Sie hier einen Ordner auswählen.

(Hinzugefügt am 22.4.2020 (v11.8.3): Das Design hat sich geändert) FAFC6C25-426A-4384-B1B9-F754CDC3FCD8.png

Editor actions DCC4FE4E-7D14-4810-9EB5-F4006FA0F774.png Editoraktionen. Standardmäßig sind 2to3 und Schwarz verfügbar.

Dokument

8C27C7A1-ADC6-4429-925A-68C007B37B62.png Dokument. Es ist dasselbe wie das veröffentlichte hier. Klicken Sie auf die Schaltfläche wie "V" oben rechts, um zur geteilten Ansicht zu wechseln.

8C6BDE7F-5BE0-4C97-B1B8-7DAB200FFF4C.png Ich habe das Dokument in eine geteilte Ansicht gebracht.

Ergänzen

78DD5921-502D-4D33-ABA5-C517DFA0B87C.png Ergänzung ist möglich. Tippen Sie zur Auswahl auf oder verwenden Sie die Tabulatortaste, um Kandidaten auszuwählen, und drücken Sie zur Bestätigung die Eingabetaste.

Ordnersperre

41FCA36E-CC70-4EF8-8D81-534D1EDD94D8.jpeg Der zum ersten Mal verwendete Ordner kann im Ausgangszustand nicht referenziert oder geändert werden. In diesem Fall können Sie darauf verweisen oder es ändern, indem Sie auf die Sperrmarkierung unten rechts drücken und das aktuelle Verzeichnis auswählen.

Tastatur

06720EAA-27AA-4718-B3D8-B035BC0B16CA.png

Die Software-Tastatur ist die iOS-Standardeinstellung. Pyto bietet keine erweiterten Tasten außer der Tabulatortaste. Daher ist das Schreiben eines Programms auf dem iPhone etwas schwierig.

Externe Tastaturen (Bluetooth-Tastaturen usw.) können problemlos verwendet werden. Sie können auch Tastenkombinationen zum Auskommentieren, Einrücken umkehren, Ausführen usw. verwenden, was recht komfortabel ist. Es war jedoch nicht möglich, einen Stapelkommentar mit mehreren ausgewählten Zeilen zu erstellen.

Bonus

Da OpenCV ein DNS-Modul enthält, habe ich versucht, Mobilenet auszuführen. Der Quellcode wurde von http://asukiaaa.blogspot.com/2018/03/opencvdnnpythonmobilenet.html ausgeliehen und für Pyto leicht umgeschrieben. Die Kamera ist eine Außenkamera des iPad. Es gab kein Problem mit der Operation und die Bildrate war auf einem Niveau, das sich nicht steif anfühlte. Um ehrlich zu sein, war ich überrascht, weil ich nicht erwartet hatte, dass Deep Learning für iOS-Apps funktioniert. 7F93B6F4-F29B-4BCC-A1E9-071D864BE627.png

[Aktualisiert am 22. April 2020] Verwendung von Mobilenet

Von MobileNet trainierte Daten sind in [hier] enthalten (https://github.com/shicai/MobileNet-Caffe)

Ich benutzte. Wenn Sie iOS13 oder höher haben, können Sie die Zip-Datei entpacken. Laden Sie sie daher im Zip-Format herunter.

Extrahieren Sie als Nächstes die obige Datei in einen beliebigen Ordner. ICH,

python_Code (entsprechender Ordner)
├── MobileNet-Caffe-master
│   ├── mobilenet_v2.caffemodel
│   ├── mobilenet_v2_deploy.prototxt
│   └── synset.txt
├── mobilenet.py (Ausführungsdatei)

Es wurde gemacht. An einigen Standorten sind möglicherweise Berechtigungen erforderlich.

Der verwendete Quellcode wird als Datei mit Befehlszeilenargumenten angegeben. Argumente können in pyto angegeben werden, aber ich habe sie wie folgt direkt in das Programm geschrieben.

import os
from cv2 import dnn

modelfolder = "./MobileNet-Caffe-master"  #Ordner mit trainierten Daten
net = dnn.readNetFromCaffe(os.path.join(modelfolder, "mobilenet_v2_deploy.prototxt"), os.path.join(modelfolder, "mobilenet_v2.caffemodel"))
with open(os.path.join(modelfolder, "synset.txt"), "r") as f:
    classNames = f.readlines()
showPreview = True

Danach denke ich, dass es funktionieren wird, wenn Sie die folgenden Punkte neu schreiben.

--Verwenden Sie cv2.autorotate (dreht das Bild entsprechend der Ausrichtung des Geräts)

#Wie schreibe ich Autorotate
import cv2

device = 0
cap = cv2.VideoCapture(device)
while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        continue
    frame = cv2.autorotate(frame, device)  #Fügen Sie diesen Teil hinzu
    frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)

Andere

Wenn Sie sich auf die Erstellung von GUI-Apps konzentrieren, Pythonista, wenn Sie sich auf die Verarbeitung konzentrieren, Pyto. Einige Bibliotheken befinden sich in Pythonista, jedoch nicht in Pyto. Daher empfiehlt es sich, die in der Dokumentation integrierten Bibliotheken zu vergleichen.

Pyto wird wahrscheinlich weiter wachsen, daher fand ich, dass es eine sehr vielversprechende App war.

Verknüpfung

Offizielle Pyto-Website: https://pyto.app/ Pyto-Dokumentation: https://pyto.readthedocs.io/en/latest/

Recommended Posts

[IOS] Erster Pyto
Erste Flasche
Erster Entwurf
Erster Python-Review-
Erste gdb