Vor kurzem habe ich mit Shogi AI gespielt, daher wurde der Artikel vernachlässigt, aber ich habe von Freitag bis Samstag an "Own AWS Hackason (vorläufig)" teilgenommen und ihn verlassen, weil ich den Titel machen und mein AWS-Debüt geben konnte. Ich behalte es. Alle Teilnehmer waren wirklich Anfänger in einer Huckepackfahrt, aber es waren sehr erfüllende 24 Stunden.
** Unten finden Sie eine chronologische Geschichte. ** ** ** ・ Stellen Sie eine Verbindung zu aws her ・ Überprüfen Sie den Typ der AI-Lösung ・ Bestätigung von Speech2text ** ・ Shogi AI lernen ** ・ Pykakasi-Bestätigung ** ・ Mecab-Installation @ AWS ** ** ・ QA_conversation geändert, um AWS zu unterstützen ** ** ・ Mit text2speech @ AWS in eine MP3-Datei aufnehmen ** ・ Massen-Download von MP3-Dateien @TeraTerm ** - Das Veröffentlichen von MP3-Dateien in S3 #confidential file war im Weg ** ** ・ Automatische Generierung einer öffentlichen S3-Audiodatei **
** Folgendes konnte aufgrund einer Zeitüberschreitung nicht durchgeführt werden ** 。。。 ・ MP3-Übertragung und erneutes Senden im Verlauf des Gesprächs 。。。 ・ Sprachtextkonvertierung durch Speech2text ・ Sprechen Sie auf Ihrem Smartphone ·Komplett
・ Lernen Sie Shogi AI in der Umgebung [email protected] ・ Portieren von Konversations-Apps
Die Umgebung wurde größtenteils vom Veranstalter bereitgestellt und es war eine Art, Fortschritte im Wiki zu schreiben, das auf ec2 erstellt wurde. Mit anderen Worten, erstellen Sie eine Instanz gemäß Ihrer eigenen App. Also habe ich mich für die GPU-Umgebung p2.xlarge entschieden, die maschinell erlernt werden kann. Jetzt können Sie alle Frameworks für maschinelles Lernen verwenden. Fast wie unten gezeigt, aber der Antrag auf Lockerung der Beschränkungen war nicht notwendig, da der Veranstalter ihn im Voraus festgelegt hatte. 【Referenz】 Wenn Sie Chainer auf einer GPU ausführen möchten, können Sie Deep Learning Base AMI (Ubuntu) einfach verwenden.
Der Ablauf ist wie im obigen Artikel, aber ich werde eine kleine ergänzende Beschreibung hinzufügen. Dieses Schlüsselpaar ist wichtig und muss an einem sicheren Ort aufbewahrt werden, da es für die Verbindung mit SSH erforderlich ist. Beim Erstellen einer Instanz werden außerdem die folgenden Informationen festgelegt und die Datei kann heruntergeladen werden. Diese Informationen sind beim Erstellen von Apps mit AWS-Lösungen unerlässlich und sollten an einem sicheren Ort aufbewahrt werden.
aws_access_key_id
aws_secret_access_key
-Installieren Sie TeraTerm.
Dieses Mal habe ich versucht, train_policy_value_resnet.py von Shogi AI auszuführen, aber es hat im Vergleich zur lokalen Umgebung viel Zeit in Anspruch genommen. Zur Zeit habe ich eine GPU verwendet, aber da die CPU zu 100% ausgelastet war, verwende ich CuDNN lokal, aber ich war enttäuscht, dass ich nicht überprüft habe, ob es installiert ist.
Die Datei lautet Verwenden Sie neulich die nano @ ubuntu-Version der Konversations-App. Ich werde dieses Material senden. Vor allem, obwohl es sich um maschinelles Lernen handelt, wird DL nicht verwendet. Erstellen Sie daher eine neue t2.large-Instanz von ubuntu18.04 und führen Sie sie aus. Im Vergleich zum Preis ist es eine Größenordnung billiger, wie unten gezeigt.
p2.xlarge 4 12 61 GiB EBS nur 0.9USD/Zeit
t2.groß 2 variabel 8 GiB EBS nur 0.0928USD/Zeit
【Referenz】 Amazon EC2-Preisliste
Die größte Herausforderung bei der Portierung ist die Installation von Mecab. Ich habe Probleme mit jeder Umgebung, aber ich habe Probleme mit t2.large ubuntu 18.04 unter AWS. Die Grundlagen sind wie folgt dargestellt wie bei Nano. 【Referenz】 Mecab unter Ubuntu 18.10 installieren Allerdings habe ich auch dieses Mal ein No-Modul mit dem Namen 'Mecab' erhalten. Die Ursache ist unbekannt, aber ich habe es unten neu installiert und es hat funktioniert.
sudo pip3 install --no-cache-dir mecab-python3
Auch das mit der obigen Methode problemlos eingegebene Wörterbuch. Ich installiere pyaudio nicht, weil ich die Klangerzeugung nicht repariere, aber ich habe pykakasi installiert und bestätigt. Jetzt funktioniert es, wenn ich den Funktionsaufruf text2speak () in qa_conversation_nano.py entferne.
Diese App möchte schließlich ein Sprachgespräch führen. Ich wollte also language2text und text2speech verwenden, falls vorhanden, aber ich habe mich dafür entschieden, da AWS nur text2speech auf Japanisch unterstützt.
AWS hat viele Erklärungen, aber es scheint, dass Sie sich daran gewöhnen müssen, auf den Punkt zu kommen. Also habe ich den folgenden Code gefunden. Wenn Sie dies verwenden, wird der in Text eingegebene Text in eine Audiodatei konvertiert und die MP3-Datei in der angegebenen Richtung des ec2-Servers abgelegt. Geben Sie hier den Schlüssel ein, der beim Erstellen der obigen Instanz auf der rechten Seite von aws_access_key_id = und aws_secret_access_key = ,.
import boto3
polly_client = boto3.Session(
aws_access_key_id=,
aws_secret_access_key=,
region_name='us-west-2').client('polly')
response = polly_client.synthesize_speech(VoiceId='Joanna',
OutputFormat='mp3',
Text = 'This is a sample text to be synthesized.')
file = open('speech.mp3', 'wb')
file.write(response['AudioStream'].read())
file.close()
Setzen Sie für Japanisch VoiceId = 'Mizuki' und fügen Sie Japanisch in Text ein. Es scheint, dass Sie verschiedene Anpassungen vornehmen können, diesmal ist dies jedoch aus Zeitgründen die Standardeinstellung. Amazon Polly Voice
Ich konnte es mit dem folgenden Code machen. Eigentlich gab es hier ein Problem. Mit anderen Worten, ich habe die Fehlermeldung erhalten, dass die Schlüssel unterschiedlich sind. Dies lag daran, dass während dieser Übertragung eine Authentifizierung stattfand und automatisch die vertrauliche Datei überprüft und der alte Schlüssel gelesen wurde. Diesmal habe ich diese Datei gelöscht und normal hochgeladen.
# -*- coding: utf-8 -*-
import boto3
s3 = boto3.resource('s3') #S3-Objekt abrufen
bucket = s3.Bucket('s3 Eimer-name')
bucket.upload_file('Geben Sie die ec2-MP3-Datei an', 'dir spezifikation des eimers von s3')
s3_client = boto3.client('s3')
# Upload the file to S3
s3_client.upload_file('test.txt', 'bucket-name', 'test-remote.txt')
Zu diesem Zeitpunkt können Sie Sound mit normalem HTML erzeugen.
<html>
<body>
<figure>
<figcaption>Listen to the Answer:</figcaption>
<audio
autoplay
controls
src="https://******.s3-****.amazonaws.com/mp3/speech0.mp3">
Your browser does not support the
<code>audio</code> element.
</audio>
</figure>
</body>
</html>
・ Ich konnte mein AWS-Debüt geben, indem ich am "Own AWS Hackason (vorläufig)" teilnahm. ・ Ich habe versucht, die Konversations-App auf AWS abzuspielen ・ Text2speech war unklar
・ Speech2text unterstützte Japanisch in AWS nicht, daher müssen Gegenmaßnahmen in Betracht gezogen werden. ・ Sprechen Sie auf Ihrem Smartphone
Recommended Posts