C'est un mémorandum J'écrirai sur la façon de le faire
Master de 1ère année dans une certaine université Etudier le codage vidéo, les circuits électriques, l'apprentissage automatique J'ai touché C, C ++, JAVA, python, chainer, Ubuntu, etc. Totalement ignorant de Raspeye, GCP, API, Raspbian
Ubuntu 18.04.2 LTS (Nopa) (les fenêtres sont OK) Raspbian(Raspberry Pi 3 Model B+) Coral accelerator EDGE TPU
Reconnaissance d'image en temps réel de la poussière à l'aide d'une caméra USB et d'un TPU avec Raspeye (cet article) Créer une poubelle qui peut être automatiquement identifiée en contrôlant le matériel à l'aide du résultat (en dehors de cet article)
Lire et enregistrer des fichiers image avec Python, OpenCV (imread, imwrite) Fonctionnement de Raspberry Pi sous Windows (SSH) J'ai essayé d'utiliser le client SSH standard de Windows 10 Essayez un modèle personnalisé d'AutoML Vision Edge avec Coral Edge TPU Essayez un modèle personnalisé d'AutoML Vision Edge sur un TPU Coral Edge (Essayez un modèle personnalisé d'AutoML Vision Edge sur un TPU Coral Edge) Comment démarrer l'apprentissage automatique! Une introduction simple avec AutoML Vision Edge de Google
Vous pouvez télécharger le système d'exploitation à partir du site officiel, l'insérer dans la carte SD, l'insérer dans le Raspberry Pi et le démarrer. Si vous rencontrez des difficultés pour changer le répertoire du japonais vers l'anglais, il est recommandé d'installer le système d'exploitation en anglais depuis le début. Si vous ne pouvez pas, vous pouvez trouver cet article utile: [Notes sur l'installation d'une image Raspberry Pi récente (Raspbian)](https://www.1ft-seabass.jp/memo/2018/07/23/raspbian- install-201807-memo /)
Lancer le terminal avec ctrl + alt + t dans Raspeye
sudo raspi-config
Tapez une commande dans la fenêtre ouverte
8 Advanced Options
A4 SSH
Enable
SSH est activé sur
Lancez Terminal sur Ubuntu avec ctrl + alt + t
Après vous être connecté au même wifi que Razpai
Connectez-vous avec ssh pi @ raspberrypi.local
Le mot de passe initial est
C'est «framboise»
Vous pouvez également vous connecter avec ssh [adresse IP]
Vous pouvez voir l'adresse IP dans Raspeye avec la commande ʻip a Regardez le tokoro de wlan0
inet 192.168.195.212/24 brd 192.168.195.255 scope global noprefixroute wlan0 S'il y a une telle chose, 192.168.195.212 est l'adresse IP Donc, la commande
ssh 192.168.195.212` est OK
Pour plus de détails, voir ifconfig est obsolète!? Comment connaître l'adresse IP du Raspberry Pi sans utiliser la commande ifconfig
Vous pouvez faire la même chose avec Windows comme ceci
Référence: Essayez un modèle personnalisé d'AutoML Vision Edge avec Coral Edge TPU Importation de module
cd ~/
wget --no-check-certificate https://dl.google.com/coral/edgetpu_api/edgetpu_api_latest.tar.gz -O edgetpu_api.tar.gz --trust-server-names
tar xzf edgetpu_api.tar.gz
cd edgetpu_api
bash ./install.sh
Si je n'ai pas entré --no-check-certificate
, j'ai eu une erreur, donc je l'ai incluse.
Une erreur s'est produite lorsque j'ai mis opencv dans python3 avec Razzpie [Mesures correctives] Créer et exécuter un programme de prise de photos Compresser en ZIP
entraînement Téléchargement du modèle
$ gsutil cp -r gs://dust2/dust_box_model/ ./download_dir
Quand j'ai tapé, on m'a dit Command'gsutil 'not found
Installez avec sudo apt install gsutil
et réessayez ← C'est une erreurgsutil cp -r gs://*****/ ./download_dir
No command was given.
Choose one of -b, -d, -e, or -r to do something.
Try `/usr/bin/gsutil --help' for more information.
Sera dit.
Q. Y a-t-il une erreur même si l'option -rʻest correctement attachée? ?? ?? A. Il semble que vous ayez installé un
gsutil` différent de Google
Télécharger depuis à partir d'ici
Si vous faites cette rue, vous pouvez probablement y aller
Tout d'abord, si le fuseau horaire est désactivé, il sera lu
sudo date -s '11/04 20:10 2019'
Réglez l'heure avec
Puisque la version de python était de la série 2, c'est comme ça
curl https://sdk.cloud.google.com | bash
↑ Cette commande donne souvent une erreur 403 dans mon environnement, mais je n'ai pas abandonné et l'ai exécutée plusieurs fois, et j'ai pu y aller la quatrième fois.
$ exec -l $SHELL
$ which gcloud
$ gcloud init
Je n'ai pas pu le faire correctement car je ne pouvais pas ouvrir le navigateur avec une connexion SSH, alors je l'ai exécuté directement avec Raspeye. À propos, @ a été entré avec Shift + 2.
Importez le SDK Google cloud
#Définition des variables d'environnement
export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)"
#URL du SDK cloud ajoutée
echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
#Importer la clé publique
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
#Mettre à jour et installer le SDK
#Je reçois souvent des erreurs de téléchargement--fix-manquant est ajouté
sudo apt-get update && sudo apt-get install google-cloud-sdk --fix-missing
#Au fait, installez le composant python
sudo apt-get install google-cloud-sdk-app-engine-python
#Commande de démarrage
gcloud init
Après cette vision
$ gsutil cp -r gs://****/*****/your_model/ ./download_dir
Sauf pour l'un des modèles et ce / de ← ici est important
$ gsutil cp -r gs://****/*****/your_model ./download_dir
J'ai pu le télécharger sur.
Est-il difficile d'exécuter une commande sur une seule ligne? .. .. ..
Téléchargez le programme pour exécuter TPU git clone https://github.com/google-coral/tflite.git
On m'a dit qu'il n'y avait pas de tflite_runtime donc je l'ai installé
Téléchargez le fichier depuis ici
Ceux qui pensent que le lien est suspect ont raison. Pour ces personnes, veuillez vous rendre sur Source
Dans le répertoire où se trouve ce fichier
pip3 install tflite_runtime-1.14.0-cp37-cp37m-linux_armv7l.whl
Peut être installé avec une commande
ensuite
python3 classify_image.py --m edgetpu_model.tflite --l dict.txt --i images.jpeg
Peut être exécuté avec
Faites correspondre chaque fichier à votre propre chemin de fichier
Ajoutez la fonction suivante à classify_image.py
J'ai changé l'argument de ligne de commande en argument normal, veuillez me dire s'il existe un meilleur moyen
def get_label(labels = "dict.txt",model = "edgetpu_model.tflite",input_i = "images.jpeg ",count =5,threshold = 0.0,top_k =1):
labels = load_labels(labels) if labels else {}
interpreter = make_interpreter(model)
interpreter.allocate_tensors()
size = classify.input_size(interpreter)
image = Image.open(input_i).convert('RGB').resize(size, Image.ANTIALIAS)
classify.set_input(interpreter, image)
for _ in range(count):
start = time.monotonic()
interpreter.invoke()
inference_time = time.monotonic() - start
classes = classify.get_output(interpreter, top_k, threshold)
for klass in classes:
label = (labels.get(klass.id, klass.id))
score = klass.score
return label,score
Ensuite, vous pouvez obtenir l'étiquette et la fiabilité en important et en exécutant comme suit.
import classify_image as clfi
if __name__ == '__main__':
labels ="dict.txt"
model = "edgetpu_model.tflite"
input_i ="images.jpeg "
label ,score = clfi.get_label(labels =labels,model = model , input_i =input_i)
print(label)
print(score)
Vous pouvez obtenir le résultat comme ça
INFO: Initialized TensorFlow Lite runtime.
burnable
0.703125
Pour le moment, apprenez avec une trentaine de données pour chaque étiquette, Je l'ai testé avec des déchets brûlés ramassés sur le net, mais c'est surprenant. Eh bien, je ne peux pas encore commenter l'exactitude ... Je stocke des ordures, alors j'aimerais le faire correctement lorsque les données augmentent.
Après tout, l'écran est affiché sur la tarte aux râpes et le développement est en cours, donc la génération de chaleur est incroyable
Recommended Posts