[PYTHON] [IOS] Premier Pyto

introduction

Je pense que Pythonista est l'environnement Python le plus connu pour iOS. Personnellement Pythonista

J'ai été pris sur ce point et je ne l'ai pas acheté. Un jour, une application appelée "Pyto" a été introduite dans Nikkei Software, et quand je l'ai recherchée, les points suivants étaient plus attrayants que Pythonista, alors je l'ai achetée.

Cet article explique comment utiliser Pyto et ses fonctions de base.

environnement

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

Comment utiliser

Écran de démarrage / écran de sélection de fichier

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

Lorsque vous démarrez l'application pour la première fois, l'écran de sélection d'un fichier s'affiche. Ouvrez le fichier à n'importe quel emplacement ou créez-en un nouveau. De plus, le bouton "..." de cet écran (le bouton indiqué par la flèche rose sur la figure) ~~ (Ajouté le 22/04/2020 (v11.8.3): changé en icône de puce) est une application ou Cela devient le menu et les paramètres de l'éditeur. 050F0333-FE89-4B2B-8D57-940304DBE305.jpeg

Menu / Paramètres

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

Le menu est comme indiqué ci-dessus. Ici, vous pouvez définir l'éditeur / l'apparence, utiliser le mode interactif et ajouter une nouvelle bibliothèque avec PyPi (les packages supplémentaires sont limités au python pur).

Mode interactif (REPL)

AEE1ED64-E070-40EB-A179-586CEEA2DFFC.png Mode interactif. Entrez le code dans la zone de texte ci-dessous. Vous pouvez également afficher des graphiques matplotlib en mode interactif.

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

Vous pouvez exécuter le fichier .py. J'exécute pip sur l'écran ci-dessus, mais je n'ai pas pu voir les informations sur le paquet dans pip show. De plus, j'ai exécuté pip list pour vérifier les packages installés, mais seuls les packages installés plus tard avec PyPi décrits plus tard étaient affichés.

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

Vous pouvez utiliser PyPi pour vérifier la version de la bibliothèque installée ou ajouter une nouvelle bibliothèque. Cependant, il semble que seul du python pur puisse être ajouté. J'ai pu installer seaborn, mais pas tensorflow et pyaudio.

B703C6B8-29F2-4436-9BC7-51AC1CF816A7.png Dans la figure ci-dessus, le tracé de paires est exécuté en utilisant le seaborn installé. Lorsque vous utilisez matplotlib ou seaborn avec Pyto, si vous n'écrivez pas plt.clf () à la fin, les graphiques se chevaucheront lorsqu'ils seront exécutés plusieurs fois.

Exemple de code

ADC66C5B-9A2C-4FFF-A238-03AF43963979.png Contient un exemple de code utilisant OpenCV, sklearn, des modules GUI, etc.

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

Les modules qui ont été chargés s'affichent. Vous pouvez également afficher le code source de ce module. Je ne sais pas à quoi ça sert.

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

Ceci est l'écran de réglage de l'éditeur. Il correspond à l'onglet logiciel (onglet espace). Vous pouvez également choisir parmi plusieurs types d'apparences d'éditeur et les personnaliser.

Écran de l'éditeur

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

Ceci est l'écran de l'éditeur. Il y a une marque d'engrenage en bas à droite, mais ce n'est pas un paramètre d'application. Vous pouvez enregistrer le fichier en cours d'édition dans Siri et changer le répertoire actuel. Le coin inférieur gauche ... est une action de l'éditeur, et il semble que vous puissiez faire quelque chose avec le fichier. L'icône de signet à côté est la documentation Pyto. Il décrit comment utiliser les packages Pyto (outils GUI, etc.). Ce document est publié sur Internet et peut être trouvé à ici.

Les boutons en haut sont «Revenir à l'écran de sélection de fichier», «Rechercher / Remplacer», «Déboguer (pdb)» et «Exécuter» dans l'ordre des quatre carrés sur la gauche.

Vous pouvez également terminer la saisie lors de l'utilisation d'un clavier externe en appuyant sur un bouton tel que "V" en bas à droite de l'écran. Cela facilite le déplacement du curseur vers le navigateur lorsqu'il est utilisé avec le navigateur en vue fractionnée.

add-to-siri, arguments, current directory 2C364699-02CD-4BBC-ABE0-479A590C348B.png Vous pouvez définir add-to-siri, arguments et répertoire courant. Dans les arguments, vous pouvez définir les arguments à transmettre lorsque le programme est exécuté. Le répertoire courant vous permet de changer le répertoire courant. Si vous le modifiez, un avertissement s'affichera, mais vous pourrez l'exécuter sans problème même après avoir changé le répertoire courant. Le répertoire sélectionné ici dispose d'une autorisation de modification et vous pouvez parcourir et modifier les fichiers. Si vous ne pouvez pas charger un fichier local, vous pourrez peut-être le charger en sélectionnant un dossier ici.

(Ajouté le 22/04/2020 (v11.8.3): le design a changé) FAFC6C25-426A-4384-B1B9-F754CDC3FCD8.png

Editor actions DCC4FE4E-7D14-4810-9EB5-F4006FA0F774.png Actions de l'éditeur. 2to3 et noir sont disponibles par défaut.

document

8C27C7A1-ADC6-4429-925A-68C007B37B62.png Document. C'est le même que celui publié ici. Cliquez sur le bouton comme "V" en haut à droite pour passer en vue fractionnée.

8C6BDE7F-5BE0-4C97-B1B8-7DAB200FFF4C.png J'ai fait du document une vue fractionnée.

Complément

78DD5921-502D-4D33-ABA5-C517DFA0B87C.png La complémentation est possible. Appuyez pour sélectionner, ou utilisez la touche Tab pour sélectionner parmi les candidats et appuyez sur Entrée pour confirmer.

Verrouillage du dossier

41FCA36E-CC70-4EF8-8D81-534D1EDD94D8.jpeg Le dossier utilisé pour la première fois ne peut pas être référencé ou modifié dans l'état initial. Dans ce cas, vous pouvez vous y référer ou le modifier en appuyant sur la marque de verrouillage en bas à droite et en sélectionnant le répertoire actuel.

clavier

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

Le clavier logiciel est le clavier par défaut iOS. Pyto ne fournit aucune clé étendue autre que la touche Tab. Par conséquent, écrire un programme sur iPhone est un peu difficile.

Les claviers externes (claviers Bluetooth, etc.) peuvent être utilisés sans difficulté. Vous pouvez également utiliser des touches de raccourci pour commenter, inverser le retrait, exécuter, etc., ce qui est raisonnablement confortable. Cependant, il n'était pas possible de faire un commentaire de lot avec plusieurs lignes sélectionnées.

prime

Depuis OpenCV inclut un module dnn, j'ai essayé d'exécuter Mobilenet. Le code source a été emprunté à http://asukiaaa.blogspot.com/2018/03/opencvdnnpythonmobilenet.html et légèrement réécrit pour Pyto. La caméra est une caméra extérieure de l'iPad. Il n'y a pas eu de problème avec l'opération et la fréquence d'images était à un niveau qui ne semblait pas raide. Pour être honnête, j'ai été surpris car je ne m'attendais pas à ce que l'apprentissage en profondeur fonctionne sur les applications iOS. 7F93B6F4-F29B-4BCC-A1E9-071D864BE627.png

[Mis à jour le 22 avril 2020] Comment utiliser Mobilenet

Les données entraînées par MobileNet sont incluses dans ici

J'ai utilisé. Si vous avez iOS13 ou une version ultérieure, vous pouvez décompresser le zip, alors téléchargez-le au format zip.

Ensuite, extrayez le fichier ci-dessus dans n'importe quel dossier. JE,

python_code (dossier approprié)
├── MobileNet-Caffe-master
│   ├── mobilenet_v2.caffemodel
│   ├── mobilenet_v2_deploy.prototxt
│   └── synset.txt
├── mobilenet.py (fichier d'exécution)

C'était fabriqué. Des autorisations peuvent être requises dans certains endroits.

Le code source utilisé est spécifié sous forme de fichier avec des arguments de ligne de commande. Les arguments peuvent être spécifiés dans pyto, mais je l'ai écrit directement dans le programme comme suit.

import os
from cv2 import dnn

modelfolder = "./MobileNet-Caffe-master"  #Dossier contenant des données entraînées
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

Après cela, je pense que cela fonctionnera si vous réécrivez les points suivants.

--Utilisez cv2.autorotate (fait pivoter l'image en fonction de l'orientation de l'appareil)

#Comment écrire la rotation automatique
import cv2

device = 0
cap = cv2.VideoCapture(device)
while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        continue
    frame = cv2.autorotate(frame, device)  #Ajouter cette partie
    frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)

Autre

--Application universelle (compatible avec iPhone et iPad)

Si vous vous concentrez sur la création d'applications GUI, Pythonista, si vous vous concentrez sur le traitement, Pyto. Certaines bibliothèques sont en Pythonista mais pas en Pyto, c'est donc une bonne idée de comparer les bibliothèques intégrées dans la documentation.

Pyto est susceptible de continuer à se développer, donc j'ai senti que c'était une application très prometteuse.

Lien

Site officiel de Pyto: https://pyto.app/ Documentation Pyto: https://pyto.readthedocs.io/en/latest/

Recommended Posts

[IOS] Premier Pyto
Premier flacon
Premier essai
Premier examen de python-
Premier gdb