[PYTHON] [Für diejenigen, die TPU verwenden möchten] Ich habe versucht, die Tensorflow Object Detection API 2 zu verwenden

Einführung

Dies ist Ichi Lab von RHEMS Giken. (* Bitte beachten Sie, dass TPU im Titel eine Abkürzung für Tensor Processing Unit ist und nicht thermoplastisches Polyurethan bedeutet.)

Der vorherige Artikel ist hier. [Für Anfänger] Ich habe versucht, die Tensorflow-Objekterkennungs-API zu verwenden

Die Objekterkennungs-API von TensorFlow (im Folgenden als API bezeichnet) ist sehr praktisch zum Erstellen von KI für die Objekterkennung. Andererseits denke ich, dass es viele Menschen gibt, die die folgenden Probleme haben.

Dieses Mal möchte ich diese Gelegenheit nutzen, um ein Memorandum darüber zu hinterlassen, wie ich Cloud TPU so weit nutzen konnte, dass ich es mir leisten konnte, auch auf individueller Ebene zu zahlen. Wenn Sie die API mit der in diesem Artikel beschriebenen Methode verwenden, können Sie die Cloud-TPU von GCP wesentlich billiger gestalten als von Anfang bis Ende.

Wir hoffen, dass es allen helfen wird.

Vorwort

Grobe Methode

Aus der Schlussfolgerung denke ich, dass das Folgende der beste Weg ist, die API mit TPU zum niedrigstmöglichen Preis zu verwenden.

  1. Lernen Sie mit der kostenlosen Stufe von Google Colaboratory
  2. Wenn Sie während des Spielens von der kostenlosen Stufe lernen möchten, fahren Sie mit der VM- und Cloud-TPU von GCP fort (beide präventiv).

Google Colaboratory wurde bereits in anderen Artikeln eingeführt, daher werde ich die Details weglassen, aber

Auf Kosten einer kostenlosen und leistungsstarken Umgebung können Sie Ihre GPU oder TPU möglicherweise eine Weile nicht verwenden, wenn Sie sie überbeanspruchen.

In einem solchen Fall kostet es Sie Geld, wenn Sie eine ähnliche Umgebung selbst vorbereiten können, aber Sie können die Zeit sparen, um zu warten, bis Sie sie wieder verwenden können.

Es gibt auch einen netten Dienst namens Google Colaboratory Pro für 9,99 USD pro Monat, der zum Zeitpunkt des Schreibens dieses Artikels (2020/06) jedoch nur in den USA verfügbar ist. Ich werde. (Es gibt einen anderen Artikel, den ich sogar aus Japan registrieren konnte, aber es besteht die Möglichkeit, dass die Regeln verletzt werden, also auf eigenes Risiko und ich habe es nicht versucht)

Voraussetzungen

Die Erklärung hier basiert auf den folgenden Bedingungen.

Vorsichtsmaßnahmen (Geldgeschichte)

Die hier vorgestellte Methode verwendet immer den Dienst von GCP. Bei beiden Methoden wird Ihnen definitiv die Nutzungsgebühr von Cloud Storage berechnet. Zum ersten Mal hat GCP 300 US-Dollar kostenlose Stufe, In der kostenlosen Stufe ist die TPU-Nutzungsgebühr nicht enthalten, und es gibt einige Einschränkungen für die kostenlose Stufe des Cloud-Speichers. Überprüfen Sie daher den Inhalt selbst, bevor Sie fortfahren. (Cloud ML hat eine kostenlose Stufe, aber ich habe es nicht ausprobiert)

Gemeinsame Vorbereitung

Um mit TPU trainieren zu können, muss es in Cloud Storage gespeichert sein.

Hier nehmen wir an, dass die Namen wie folgt sind. Projekt-ID: gcp-project-123 Eimername: my-Bucket-123

Vergessen Sie nicht die Option -m, wenn Sie schnell von Ihrem lokalen PC in Ihren Bucket kopieren möchten!

Befehlsbeispiel zum Senden des Ordners des aktuellen Verzeichnisses an den Bucket mit zsh von Mac


gsutil -m cp -r \* gs://my-bucket-123/

Die Ordnerstruktur im Bucket ist wie folgt. (* Die folgende Erklärung wird unter der Voraussetzung dieser Konfiguration fortgesetzt.)

gs://my-bucket-123/
├── models
│     ├── ssd_mobilenet_v1_fpn (Modelldaten der Transfer-Lernquelle)
│             └── .ckpt und viele mehr
├── data
│     ├── save (Trainingsdatenspeicherverzeichnis)
│     ├── train (Zur Speicherung von Lehrerdaten~ tfrecord)
│     └── val (Zur Datenspeicherung zur Überprüfung~ tfrecord)
├── hoge.config (Daten konfigurieren)
└── tf_label_map.pbtxt (Daten beschriften)

Dieses Mal habe ich ssd_mobilenet_v1_fpn_coco verwendet. Darüber hinaus befindet sich auf der Seite von Tensorflow Detection Model Zoo auf dem trainierten Modell ein ☆-Zeichen, das TPU unterstützt. Es läuft.

Informationen zum Inhalt der Konfiguration finden Sie unter [oben](https://qiita.com/IchiLab/items/fd99bcd92670607f8f9b#%E3%82%B3%E3%83%B3%E3%83%95%E3%82%A3%E3 % 82% B0% E3% 83% 95% E3% 82% A1% E3% 82% A4% E3% 83% AB% E3% 81% AE% E7% B7% A8% E9% 9B% 86) Ich werde es weglassen, weil ich es getan habe, Nachdem sich die oben genannten Dateien im Cloud-Speicher befinden, müssen die folgenden Elemente entsprechend abgeglichen werden.

fine_tune_checkpoint: "gs://my-bucket-123/models/ssd_mobilenet_v1_fpn/model.ckpt"
label_map_path: "gs://my-bucket-123/tf_label_map.pbtxt"
input_path: "gs://my-bucket-123/data/train/{filename}.tfrecord
input_path: "gs://my-bucket-123/data/val/{filename}.tfrecord

(* Das Schreiben des Teils {Dateiname} ist [oben](https://qiita.com/IchiLab/items/fd99bcd92670607f8f9b#%E3%82%B3%E3%83%B3%E3%83%95%E3% 82% A3% E3% 82% B0% E3% 83% 95% E3% 82% A1% E3% 82% A4% E3% 83% AB% E3% 81% AE% E7% B7% A8% E9% 9B% 86))

1. Vorgehensweise mit Google Colaboratory

Wenn Sie es mit der kostenlosen Stufe tun können, lassen Sie es uns hier tun. Wie bereits erwähnt, fallen jedoch Cloud-Speichergebühren an.

1-1 Legen Sie die API-Quelle auf dem Laufwerk ab

Es kann lokal oder Container sein. Wenn Sie also "git clone" haben, speichern Sie es in Ihrem Google-Laufwerk.

Übrigens, als ich es mit dem neuesten Meister gemacht habe, gab es viele Probleme, wie zum Beispiel, dass ich nicht in der Lage war, verschiedene Dinge zu tun, die gut funktionierten Die folgenden Zweige werden mir empfohlen.

git clone -b tf_2_1_reference https://github.com/tensorflow/models.git

Vergessen Sie nicht die Coco API.

git clone --depth 1 https://github.com/cocodataset/cocoapi.git

Hierbei wird davon ausgegangen, dass der Quellcode im folgenden Verzeichnis abgelegt ist.

/content/drive/My Drive/models/research
/content/drive/My Drive/cocoapi/PythonAPI

1-2. Erstellen Sie ein neues Notizbuch

Im Browser von Google Drive Wählen Sie Neu> Andere> Google Colaboratory.

Ändern Sie den Titel von "Untitled0.ipynb" in einen beliebigen Namen. (Empfehlung)

Wählen Sie im obigen Menü Laufzeit-> Laufzeittyp ändern-> Hardwarebeschleuniger als "TPU" und "Speichern" angeben. Wählen Sie dann Verbinden.

1-3 Mounten Sie Google Drive

Wenn Sie die API-Quelle nicht lesen können, wird sie zunächst nicht gestartet. Hängen Sie sie daher ein.

from google.colab import drive
drive.mount('/content/drive')

1-4. GCP-Projekteinstellungen

Richten Sie das Projekt mit dem Befehl gcloud für die Arbeit mit Cloud Storage ein.

from google.colab import auth
auth.authenticate_user()
project_id = 'gcp-project-123'
!gcloud config set project {project_id}
!gsutil ls my-bucket-123

Es ist dieselbe Authentifizierung wie bei Google Drive. Bei Erfolg können Sie den Inhalt des Buckets mit dem Befehl ls überprüfen.

1-5 Installation von cocoAPI (nur beim ersten Mal)

%cd /content/drive/My\ Drive/cocoapi/PythonAPI
!make
!cp -r pycocotools /content/drive/My\ Drive/models/research/

1-6. Ausführung des Protokolls (nur beim ersten Mal)

Konvertieren Sie .proto in .py.

%cd /content/drive/My\ Drive/models/research
!protoc object_detection/protos/*.proto --python_out=.

1-7 Ändern Sie die Version des Tensorflusses

Die Tensorflow-Objekterkennungs-API unterstützt Tensorflow 2.X nicht. Auf der anderen Seite hat Google Colaboratory von Anfang an die 2.X-Serie installiert. Daher müssen Sie die Version überprüfen und neu installieren.

!pip list | grep tensor
!pip install tensorflow==1.15.0rc3

1-8. Umgebungsvariablen einstellen

%env PYTHONPATH=/env/python:/content/drive/My Drive/models/research:/content/drive/My Drive/models/research/slim

1-9. Ausführung des API-Testcodes

Testen wir, ob die Umgebung erfolgreich erstellt wurde. Wenn alles gut geht, sehen Sie "OK" über mehrere Zeilen.  Übrigens verwendet dieser Artikel die Quelle eines etwas älteren Zweigs, wurde aber kürzlich in "model_builder_tf1_test.py" umbenannt.

%cd /content/drive/My Drive/models/research
!python object_detection/builders/model_builder_test.py

1-10 Tensorboard starten (nicht erforderlich)

Wenn Sie das Verzeichnis angeben, in dem die Trainingsdaten gespeichert und wie unten gezeigt gestartet werden sollen, können Sie die Verlustbewegung und die Anzahl der Lernschritte pro Sekunde überprüfen.

%load_ext tensorboard
%tensorboard --logdir gs://my-bucket-123/data/save

1-11. Beginnen Sie zu lernen

Verwenden Sie zum Training model_tpu_main.py anstelle von model_main.py. Sie können die GCP-Projekt-ID und den TPU-Namen als Optionen angeben, dies war jedoch in der Umgebung von Google Colaboratory nicht erforderlich. Wahrscheinlich, weil die TPU-Adresse ursprünglich in der Umgebungsvariablen registriert ist (Vermutung). (Wenn Sie mit "% env" prüfen, wird die Adresse der TPU nach "grpc: //" mit dem Namen "TPU_NAME" registriert.)

%cd /content/drive/My Drive/models/research
pipeline = 'gs://my-bucket-123/hoge.config'
save = 'gs://my-bucket-123/data/save'
train_step = 1000
mode = 'train'
batch_size = 64

!python object_detection/model_tpu_main.py \
 --pipeline_config_path={pipeline} \
 --mode={mode} \
 --num_train_steps={train_step} \
 --eval_training_data=True \
 --train_batch_size={batch_size} \
 --model_dir={save} \
 --alsologtostderra

1-12. Bonus (bequem zu tun)

Google Colaboratory hat ein Nutzungslimit von weniger als 12 Stunden. Ich schreibe nicht irgendwo darüber, wie viele Stunden ich tatsächlich nutzen kann. Sie können dies herausfinden, indem Sie den folgenden Code ausführen.

import time, psutil
Start = time.time()- psutil.boot_time()
Left= 12*3600 - Start
print('remaining time: ', Left/3600)

Sobald Sie mit dem Lernen beginnen, warten andere Ausführungen, bis sie abgeschlossen sind Lassen Sie uns dies tun, wenn etwas getan wurde.

2. So starten Sie GCP VM und Cloud TPU selbst

Übrigens, wenn Google Colaboratory sagt "Ich kann es eine Weile nicht verwenden, bitte warten" und Sie nicht warten können, versuchen Sie diese Methode.

2-1 Starten Sie VM und Cloud TPU

Zunächst müssen Compute Engine und Cloud TPU aktiviert sein. Das erste Mal wird es wie folgt angezeigt (Bild zum Zeitpunkt des Schreibens) Für Compute Engine "Navigationsmenü" -> "Compute Engine" -> "VM und Instanz" oben links ss001.png Die Vorbereitung beginnt automatisch.

Für Cloud TPU "Navigationsmenü" -> "Compute Engine" -> "TPU" oben links

ss002.png Beim ersten Mal müssen Sie "API aktivieren" auswählen. (Bitte seien Sie versichert, dass die TPU-Abrechnung nicht allein damit beginnt.)

Wenn Sie diese bereit oder bereits aktiviert haben, öffnen Sie die Cloud-Shell. Cloud Shell hat ein Symbol wie das unten in der oberen rechten Ecke. ss003.png Nachdem Sie eine Weile gewartet und geöffnet haben, starten Sie die VM und die TPU gleichzeitig mit dem Befehl "ctpu".

ctpu up --zone=us-central1-b --tf-version=1.15 --machine-type=n1-standard-4 --name=mytpu --preemptible --preemptible-vm

Der wichtige Punkt hierbei ist, "preemptible" in die VM- und TPU-Optionen zu setzen. Das ist präventiv zu verwenden.

Die folgende Tabelle zeigt die vom offiziellen Preistool berechneten Ergebnisse, wenn sich der Standort von TPU V2 in den USA befindet1.

TPU Class Regular Preemptible
Pro Stunde Über 485 Yen Über 146 Yen

Informationen zur Vorabentscheidung finden Sie im offiziellen Dokument.

Der gleiche Vorgang kann über die Konsole oder den Befehl gcloud ausgeführt werden. Details finden Sie im offiziellen Dokument Erstellen und Löschen von TPUs.

Wenn Sie den Befehl ausführen, wird eine Bestätigung wie unten gezeigt angezeigt.

  Name:                 mytpu
  Zone:                 us-central1-b
  GCP Project:          gcp-project-123
  TensorFlow Version:   1.15
  VM:
      Machine Type:     n1-standard-4
      Disk Size:        250 GB
      Preemptible:      true
  Cloud TPU:
      Size:             v2-8
      Preemptible:      true
      Reserved:         false
OK to create your Cloud TPU resources with the above configuration? [Yn]:

Geben Sie "y" ein und drücken Sie "Enter / Return", um jede Erstellung zu starten. Der Grund, warum ich für den Maschinentyp "n1-standard-4" gewählt habe, liegt darin, dass es sich in der Nähe des Speichers der Google Colaboratory-Umgebung befindet. Ändern Sie es daher bei Bedarf.

Übrigens, wenn Sie versehentlich das Standarddienstkonto von Compute Engine löschen, können Sie es nicht mit dem obigen Befehl ctpu erstellen.

2020/06/20 00:00:00 Creating Compute Engine VM mytpu (this may take a minute)...
2020/06/20 00:00:07 TPU operation still running...
2020/06/20 00:00:07 error retrieving Compute Engine zone operation: 

(Für einen Fehler wie diesen ... Wann haben Sie ihn gelöscht?) Ich kannte die Lösung nicht und habe ein neues Projekt neu erstellt.

"... Lass uns in der Zeit zurückgehen."

2-2 Stoppen Sie die gerade gestartete TPU

Cloud TPU wird in Sekunden aufgeladen. Wenn Sie bestätigen können, dass es sicher gestartet wurde, lassen Sie es uns vorerst stoppen.

2-3 Geben Sie die von SSH erstellte VM-Instanz ein

Wenn die Instanz erfolgreich gestartet wurde, geben Sie sie über "SSH" ein.

ss004.png

Nach Abschluss der Verbindung wurde der Konsolenbildschirm wie unten gezeigt geöffnet. ss005.png

Von hier aus werden wir daran arbeiten.

Sie können den TPU-Status auch hier mit dem Befehl "gcloud" überprüfen.


gcloud config set compute/zone us-central1-b
Updated property [compute/zone].

gcloud compute tpus list
NAME   ZONE           ACCELERATOR_TYPE  NETWORK_ENDPOINTS  NETWORK  RANGE          STATUS
mytpu  us-central1-b  v2-8              10.240.1.2:8470    default  10.240.1.0/29  STOPPING

Nebenbei wird der Status der TPU wie folgt angezeigt.

Herstellung Während des Startvorgangs Anlaufen Anhalten Halt
CREATING STARTING READY STOPPING STOPPED

2-4 Alias festlegen (nicht erforderlich)

Ich habe dieses Element hinzugefügt, weil ich klar vereinheitlichen möchte, ob es sich um Python oder Python3 handelt. Da Python immer 3.X verwenden möchte, ändern Sie die Einstellungen wie folgt.

Open .bashrc

vi ~/.bashrc

Einstellungen zur letzten Zeile hinzufügen

alias python="python3" 
alias pip='pip3'

Einstellungen widerspiegeln

source ~/.bashrc

Jetzt ist "Python" jetzt "Python3".

2-5 Installation der erforderlichen Bibliotheken

Von hier aus wird es fast so sein wie beim Erstellen der API-Umgebung, aber ich werde es beschreiben, ohne es wegzulassen.

sudo apt-get update
sudo apt-get install -y protobuf-compiler python-pil python-lxml python-tk
pip install -U pip && pip install Cython contextlib2 jupyter matplotlib tf_slim pillow

Bringen Sie als Nächstes den API-Quellcode und cocoAPI mit.

git clone -b tf_2_1_reference https://github.com/tensorflow/models.git
git clone --depth 1 https://github.com/cocodataset/cocoapi.git

Der Quellcode für die in diesem Artikel verwendete API ist wiederum der obige Zweig.

2-6. Installation der Coco-API

Installieren Sie dann die Coco-API.

Ich habe mit "make" wie folgt versagt.

x86_64-linux-gnu-gcc: error: pycocotools/_mask.c: No such file or directory

Um dies zu vermeiden, ändern Sie das Makefile ein wenig.

cd cocoapi/PythonAPI
vi Makefile

Ändern Sie nach dem Öffnen des Makefiles den Python-Teil in Python3 (es gibt zwei Stellen).

make
cp -r pycocotools /home/ichilab/models/research && cd ../../ && rm -rf cocoapi

2-7. Ausführung von protoc

Konvertieren Sie .proto in .py.

cd models/research
protoc object_detection/protos/*.proto --python_out=.

2-8. Umgebungsvariablen einstellen

Nachdem ich den SSH-Bildschirm geschlossen hatte, musste ich diesen Teil erneut ausführen.

(pwd = models/research)
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
source ~/.bashrc

2-9. Ausführung des API-Testcodes

Testen wir, ob die Umgebung erfolgreich erstellt wurde. Bei Erfolg wird "OK" über mehrere Zeilen angezeigt.

python object_detection/builders/model_builder_test.py

Es kann gut sein, sicherzustellen, dass Sie den Inhalt des Eimers sehen können.

gsutil ls gs://my-bucket-123

2-10 Setzen Sie die gestoppte TPU fort

Sie können nicht lernen, wenn es gestoppt ist, also fangen wir hier noch einmal an. Wenn Sie den Start bestätigen können, ist es der nächste.

2-11. Beginnen Sie zu lernen

Das Lernen hat begonnen.

python object_detection/model_tpu_main.py \ 
--tpu_name=mytpu \ 
--model_dir=gs://my-bucket-123/data/save \ 
--mode=train \ 
--pipeline_config_path=gs://my-bucket-123/hoge.config \ 
--alsologtostderra

Schreiben Sie eine kurze Beschreibung der Option.

Übrigens, wenn ich hier die neueste Quelle verwende

tensorflow.python.framework.errors_impl.InvalidArgumentError: From /job:tpu_worker/replica:0/task:0:

Der Fehler hat mich ziemlich geärgert. Dies ist der einzige Grund, warum ich den zuvor erwähnten Zweigquellcode verwende. Die Ursache ist bisher unbekannt, da sich die Konfiguration und andere Dateien unter genau den gleichen Bedingungen befanden.

2-12. Stoppen / Löschen von TPU und VM nach dem Lernen

Wenn Sie fertig sind, geben Sie dem Stoppen / Löschen der TPU Priorität.

Wie viel wird es kosten

Nachdem Sie die Erklärung zum Aufbau der Umgebung abgeschlossen haben, fragen Sie sich, wie viel es kosten wird.

Es tut mir leid, dass ich keinen richtigen Vergleich veröffentlichen kann. Wenn Sie mit Google Colaboratory 100.000 Schritte trainieren, kostet dies weniger als 400 Yen. Als ich VM und TPU in meinem Projekt gestartet und verwendet habe, habe ich nie 100.000 Schritte ausgeführt, aber In Anbetracht der oben genannten Gebühren als Richtwert betrug die TPU 4 Yen für etwa 6 Stunden Nutzung durch Compute Engine und 1 Yen für die externe IP-Nutzungsgebühr, die insgesamt weniger als 10 Yen betrug.

In diesem Bereich ist die Verwendung des offiziellen Preistools der richtigen Antwort näher als mein Artikel.

abschließend

Was haben Sie gedacht?

Überraschenderweise kann ich keinen zusammenfassenden Artikel über die Umgebungskonstruktion der "Cloud TPU × Tensorflow Object Detection API" finden. Ich hoffe, dass mehr Menschen diese Gelegenheit nutzen werden, um mit TPU und denjenigen, die an GCP interessiert sind, zu lernen. ..

Wir hoffen aufrichtig, dass Ihre Forschung zur Objekterkennungs-KI beschleunigt wird, wenn die Lerngeschwindigkeit beschleunigt wird.

Recommended Posts

[Für diejenigen, die TPU verwenden möchten] Ich habe versucht, die Tensorflow Object Detection API 2 zu verwenden
[Für Anfänger] Ich habe versucht, die Tensorflow-Objekterkennungs-API zu verwenden
Ich habe versucht, NVDashboard zu verwenden (für diejenigen, die GPU in einer Jupyter-Umgebung verwenden)
Zur Zeit möchte ich mit FastAPI zeigen, wie man eine solche API in swagger verwendet
[TensorFlow] Ich möchte die Indizierung für Ragged Tensor beherrschen
Ich habe versucht, den für TensorFlow geschriebenen Code nach Theano zu portieren
Für diejenigen, die mit TensorFlow2 maschinelles Lernen beginnen möchten
Logoerkennung mit der TensorFlow-Objekterkennungs-API
Ich habe versucht, die checkio-API zu verwenden
Ich habe zum ersten Mal Tensorflow ausprobiert
Ich habe versucht, Text mit TensorFlow zu klassifizieren
Ich habe versucht, die COTOHA-API zu berühren
Ich habe versucht, die BigQuery-Speicher-API zu verwenden
Ich habe versucht, das Gesichtsbild mit sparse_image_warp von TensorFlow Addons zu transformieren
Ich habe Airbnb-Daten für diejenigen analysiert, die in Amsterdam bleiben möchten
Ich habe versucht, verschiedene Sätze mit der automatischen Zusammenfassungs-API "summpy" zusammenzufassen.
vprof - Ich habe versucht, den Profiler für Python zu verwenden
Ich habe versucht, Objekte mit Python und OpenCV zu erkennen
Ich habe versucht, die Google Cloud Vision-API zu verwenden
[Ich möchte Bilder mit Tensorflow klassifizieren] (2) Lassen Sie uns Bilder klassifizieren
Ich möchte die Aktivierungsfunktion Mish verwenden
Ich habe ein ○ ✕ Spiel mit TensorFlow gemacht
Treten Sie Azure mit Go ~ bei Für diejenigen, die Azure mit Go ~ starten und kennenlernen möchten
Dinge, die Sie bei der Verwendung von Python beachten sollten, wenn Sie MATLAB verwenden
Ich habe versucht, das Objekterkennungs-Tutorial mit dem neuesten Deep-Learning-Algorithmus auszuführen
Ich habe versucht, Objekte mit YOLO v3 (TensorFlow 2.1) auf der GPU von Windows zu erkennen!
Ich möchte mich mit Backpropagation (tf.custom_gradient) (Tensorflow) selbst verwenden.
Ich habe das MNIST-Tutorial von tensorflow für Anfänger ausprobiert.
Ich habe versucht, die Sündenfunktion mit Chainer zu approximieren
Ärgerliche Punkte für diejenigen, die Ansible vorstellen möchten
Ich habe versucht, die API von Sakenowa Data Project zu verwenden
Für diejenigen, die Python mit vim schreiben möchten
Ich möchte ssh mit dem Befehl expected automatisieren!
Ich habe versucht, die Sprache mit CNN + Melspectogram zu identifizieren
Ich möchte R-Datensatz mit Python verwenden
Ich habe versucht, das Wissensdiagramm mit OpenKE zu ergänzen
Ich habe versucht, das Bild mithilfe von maschinellem Lernen zu komprimieren
Ich habe versucht, YouTube zu kratzen, aber ich kann die API verwenden, also tu es nicht.
Ich habe versucht, das Update von "Werde ein Romanautor" mit "IFTTT" und "Werde ein Romanautor API" zu benachrichtigen.
Der erste Schritt des maschinellen Lernens ~ Für diejenigen, die versuchen möchten, mit Python zu implementieren ~
Ich habe versucht, die Syntax zu bewerten, die mit der COTOHA-API zu humorvoll und humorvoll war.
Ich möchte das neueste gcc verwenden, auch wenn ich keine Sudo-Berechtigungen habe! !!
[Erste COTOHA-API] Ich habe versucht, die alte Geschichte zusammenzufassen
Ich habe versucht, mit TensorFlow den Durchschnitt mehrerer Spalten zu ermitteln
Ich möchte vorerst Selen bewegen [für Mac]
Ich möchte etwas Schönes sehen, also habe ich versucht, die Funktion zu visualisieren, die zum Benchmarking der Optimierungsfunktion verwendet wird.
Ich habe versucht, die Anzeigenoptimierung mithilfe des Banditenalgorithmus zu simulieren
[Python] Ich möchte die Option -h mit argparse verwenden
Ich wusste nicht, wie ich die [Python] für die Anweisung verwenden sollte
Ich möchte vorerst die Desktop-Umgebung von Ubuntu auf Android verwenden (Termux-Version)
[TF] Ich habe versucht, das Lernergebnis mit Tensorboard zu visualisieren
Ich möchte vorerst Ubuntus Desktop-Umgebung auf Android verwenden (UserLAnd-Version)
Verschiedene Hinweise zur Verwendung von Python für Projekte
[Python] Ich habe versucht, Daten mit der API von Wikipedia zu sammeln
Ich habe die Google Cloud Vision-API zum ersten Mal ausprobiert
Referenz Referenz für diejenigen, die mit Rhinoceros / Grasshopper codieren möchten
Ich habe versucht, Magenta / TensorFlow zu verwenden
Ich habe versucht, die Objekte aus dem Bild des Steak-Sets zu sortieren. ① Objekterkennung