Es ist ein Memorandum Ich werde darüber schreiben, wie es geht
Ubuntu 18.04.2 LTS (Nopa) (Fenster sind in Ordnung) Raspbian(Raspberry Pi 3 Model B+) Coral accelerator EDGE TPU
Echtzeit-Bilderkennung von Staub mit einer USB-Kamera und TPU mit Raspeye (dieser Artikel) Erstellen Sie einen Papierkorb, der automatisch identifiziert werden kann, indem Sie die Hardware anhand des Ergebnisses steuern (außerhalb dieses Artikels).
Bilddateien mit Python, OpenCV (imread, imwrite) lesen und speichern Betrieb von Raspberry Pi unter Windows (SSH) Ich habe versucht, den Windows 10-Standard-SSH-Client zu verwenden Probieren Sie ein benutzerdefiniertes Modell von AutoML Vision Edge mit Coral Edge TPU aus Probieren Sie ein benutzerdefiniertes Modell von AutoML Vision Edge mit Coral Edge TPU aus (Probieren Sie ein benutzerdefiniertes Modell von AutoML Vision Edge mit Coral Edge TPU aus). So starten Sie maschinelles Lernen! Eine einfache Einführung mit Googles AutoML Vision Edge
Sie können das Betriebssystem von der offiziellen Website herunterladen, in die SD-Karte einlegen, in den Raspberry Pi einlegen und starten. Wenn Sie Probleme haben, das Verzeichnis von Japanisch auf Englisch zu ändern, wird empfohlen, das Betriebssystem von Anfang an auf Englisch zu installieren. Wenn Sie dies nicht können, finden Sie diesen Artikel möglicherweise hilfreich: [Hinweise zur Installation eines aktuellen Raspberry Pi-Images (Raspbian)](https://www.1ft-seabass.jp/memo/2018/07/23/raspbian- install-201807-memo /)
Starten Sie das Terminal mit Strg + Alt + T in Raspeye
sudo raspi-config
Geben Sie im geöffneten Fenster einen Befehl ein
8 Advanced Options
A4 SSH
Enable
SSH ist aktiviert
Starten Sie das Terminal unter Ubuntu mit Strg + Alt + T.
Nach dem Herstellen einer Verbindung mit demselben WLAN wie Razpai
Verbinde dich mit ssh pi @ raspberrypi.local
Das anfängliche Passwort lautet
Es ist "Himbeere"
Sie können sich auch mit ssh [IP-Adresse]
verbinden
Sie können die IP-Adresse in Raspeye mit dem Befehl ip a
sehen
Schauen Sie sich das Tokoro von wlan0 an
inet 192.168.195.212/24 brd 192.168.195.255 scope global noprefixroute wlan0
Wenn es so etwas gibt, ist 192.168.195.212 die IP-Adresse
Der Befehl ssh 192.168.195.212
ist also in Ordnung
Weitere Informationen finden Sie unter ifconfig ist veraltet !? So ermitteln Sie die IP-Adresse von Raspberry Pi ohne Verwendung des Befehls ifconfig
Sie können dasselbe mit Windows [wie diesem] tun (https://www.onebizlife.com/windows10-ssh-client-1980)
Referenz: Probieren Sie ein benutzerdefiniertes Modell von AutoML Vision Edge mit Coral Edge TPU aus Modulimport
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
Wenn ich "--no-check-certificate" nicht eingegeben habe, wurde ein Fehler angezeigt, also habe ich ihn eingefügt.
Ein Fehler ist aufgetreten, als ich opencv mit Raspeye [Korrekturmaßnahmen] in Python3 eingefügt habe Erstellen Sie ein Fotoprogramm und führen Sie es aus In ZIP komprimieren
Ausbildung Modell herunterladen
$ gsutil cp -r gs://dust2/dust_box_model/ ./download_dir
Als ich eintippte, wurde mir gesagt, dass "Command'gsutil" nicht gefunden wurde
Installiere mit sudo apt install gsutil
und versuche es erneut ← Dies ist ein Fehlergsutil 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.
Wird gesagt. F. Gibt es einen Fehler, obwohl die Option "-r" ordnungsgemäß angehängt ist? ?? ?? A. Es scheint, dass Sie ein anderes "gsutil" als Google installiert haben Download von von hier Wenn Sie diese Straße machen, können Sie wahrscheinlich gehen
Wenn die Zeitzone deaktiviert ist, wird sie zunächst abgespielt
sudo date -s '11/04 20:10 2019'
Stellen Sie die Zeit mit ein
Da die Version von Python 2 Serien war, ist es so wie es ist
curl https://sdk.cloud.google.com | bash
↑ Dieser Befehl gibt in meiner Umgebung häufig einen 403-Fehler aus, aber ich habe ihn nicht mehrmals aufgegeben und ausgeführt, und ich konnte ihn zum vierten Mal ausführen.
$ exec -l $SHELL
$ which gcloud
$ gcloud init
Ich konnte es nicht gut machen, weil ich den Browser mit SSH-Verbindung nicht öffnen konnte, also habe ich ihn direkt mit Raspeye ausgeführt. Übrigens wurde @ mit Shift + 2 eingegeben.
Importieren Sie das Google Cloud SDK.
#Umgebungsvariablen einstellen
export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)"
#Cloud SDK URL hinzugefügt
echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
#Öffentlichen Schlüssel importieren
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
#Aktualisieren und installieren Sie das SDK
#Ich bekomme oft Downloadfehler--fix-fehlt wird hinzugefügt
sudo apt-get update && sudo apt-get install google-cloud-sdk --fix-missing
#Installieren Sie übrigens die Python-Komponente
sudo apt-get install google-cloud-sdk-app-engine-python
#Befehl starten
gcloud init
Nach dieser Vision
$ gsutil cp -r gs://****/*****/your_model/ ./download_dir
Bis auf eines der Modelle und dieses / von ← hier ist wichtig
$ gsutil cp -r gs://****/*****/your_model ./download_dir
Ich konnte es unter herunterladen.
Wie schwer ist es, einen einzeiligen Befehl auszuführen? .. .. ..
Laden Sie das Programm herunter, um TPU auszuführen git clone https://github.com/google-coral/tflite.git
Mir wurde gesagt, dass es keine tflite_runtime gibt, also habe ich es installiert
Laden Sie die Datei von [hier] herunter (https://dl.google.com/coral/python/tflite_runtime-1.14.0-cp37-cp37m-linux_x86_64.whl).
Diejenigen, die den Link für verdächtig halten, sind korrekt. Für diese Personen gehen Sie bitte zu Quelle
In dem Verzeichnis, in dem sich diese Datei befindet
pip3 install tflite_runtime-1.14.0-cp37-cp37m-linux_armv7l.whl
Kann mit einem Befehl installiert werden
danach
python3 classify_image.py --m edgetpu_model.tflite --l dict.txt --i images.jpeg
Kann mit ausgeführt werden
Ordnen Sie jede Datei Ihrem eigenen Dateipfad zu
Fügen Sie die folgende Funktion zu "classify_image.py" hinzu Ich habe das Befehlszeilenargument in ein normales Argument geändert. Bitte sagen Sie mir, ob es einen besseren Weg gibt
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
Anschließend können Sie die Bezeichnung und Zuverlässigkeit erhalten, indem Sie wie folgt importieren und ausführen.
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)
Sie können das Ergebnis so erhalten
INFO: Initialized TensorFlow Lite runtime.
burnable
0.703125
Lernen Sie vorerst mit etwa 30 Daten für jedes Etikett, Ich habe es mit brennendem Müll aus dem Netz getestet, aber es ist überraschend. Nun, ich kann die Genauigkeit noch nicht kommentieren ... Ich habe Müll auf Lager, also würde ich es gerne richtig machen, wenn die Daten zunehmen.
Immerhin wird der Bildschirm auf dem Raspeltorte angezeigt und die Entwicklung wird durchgeführt, sodass die Wärmeerzeugung erstaunlich ist
Recommended Posts