Führen Sie Keras mit CentOS7 + Anaconda + Django + Apache aus

Ich wollte ein mit Anaconda erstelltes Bildverarbeitungsprogramm mit Apache + Django ausführen, also eine einfache Notiz für mich. Ich mache nichts wie SSL oder Sicherheit. Es ist eine Fortsetzung von https://qiita.com/hinoma/items/5b881b8ac531a0ba7953. Vorerst ist es die Hauptfigur. Ich habe die Bilder noch nicht vorbereitet, daher werde ich sie veröffentlichen, wenn ich kann.

Django-Projekt

CSS funktioniert nicht, wenn der vorherige Artikel so ist, wie er ist. Bearbeiten Sie daher settings.py.

setting.py


import os
TEMOLATES = [
  {
     'DIRS' : [os.path.join(BASE_DIR, 'templates')]


LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

Erstellen Sie anschließend ein statisches Verzeichnis und ein Vorlagenverzeichnis in derselben Hierarchie wie manage.py. Legen Sie die CSS-Datei im statischen Verzeichnis und die HTML-Datei im Vorlagenverzeichnis ab.

/etc/httpd/conf.d/django.conf


#Nachtrag
WSGIApplicationGroup %{GLOBAL}
WSGIPythonHome /usr/local/bin/pyenv/versions/anaconda3-4.4.0/

Alias /static/ /var/www/komon/static/
<Directory /var/www/komon/staitc>
  Require all granted
</Directory>
# python manage.py collectstatic

Lass uns das machen.

Führen Sie das Programm für maschinelles Lernen aus

Da Sie möglicherweise OpenCV, Keras, Tensorflow usw. verwenden, installieren Sie diese.

# pip install opencv-python==4.4.0.44
# conda install keras=2.2.4
# conda install numpy=1.16.2
# conda install tensorflow=1.13.1

Wenn Sie keras = 2.2.4 installieren, wird numpy1.18 installiert, aber ein Downgrade ist erforderlich, da es damit nicht kompatibel ist.

libstdc++.so.6 version cxxabi_1.3.8' not found Dies ist der Fehler, der beim Ausführen von Apache aufgetreten ist. Anscheinend gibt es in libstdc ++ kein cxxabi_1.3.8. So.6

# strings /usr/lib64/libstdc++.so.6 | grep CXXABI_
CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7

Anscheinend gibt es keine 1.3.8, also muss ich das irgendwie bekommen.

# cp /usr/local/bin/pyenv/versions/anaconda3-4.4.0/lib/libstdc++.so.6.0.26 /usr/lib64/
# mv libstdc++.so.6 libstdc++.so.6.bak
# ln -s libstdc++.so.6.0.26 libstdc++.so.6
# string /usr/lib64/libstdc++.so.6 | grep CXXABI_
(CXXABI_1.3.8 ist alles was Sie brauchen)
# systemctl restart httpd

Wenn Sie dies tun und es funktioniert, finden Sie es in views.py des Django-Projekts.


import tensorflow as tf

Ich denke, es ist in Ordnung, wenn der Bildschirm durch Eingabe der IP von einem externen PC nach dem Hinzufügen angezeigt wird, wie z.

Wenn Sie "Japanisch" auf einem Bild zur Bilderkennung usw. anzeigen möchten.

Wenn es alphanumerisch ist

cv2.putText(Bildpfad,Zeichen, die Sie anzeigen möchten, (x, y), cv2.FONT_HERSHEY_PLAIN, 2,Farbe, 1, cv2.LINE_AA)

Es kann mit angezeigt werden, Japanisch kann jedoch nicht mit opencv angezeigt werden. Verwenden Sie daher ein Kissen

from PIL import Image, ImageFont, ImageDraw

Durchläuft das Programm, aber wenn Japanisch angezeigt wird, muss die Schriftart gelesen werden. Lesen Sie sie daher mit dem folgenden Code.

font = ImageFont.truetype(fontpath, fontsize)

Dies kann in einigen Fällen zu Fehlern führen

The _imagingft C module is not installed

Wenn wird, sollte die Lösung wie folgt sein.

# yum install freetype-devel libjpeg-devel libpng-devel
# pip uninstall pil pillow
# pip install pillow
# pip list
(Überprüfen Sie, ob es Kissen damit gibt)

Es hat in meiner Umgebung funktioniert.

Recommended Posts

Führen Sie Keras mit CentOS7 + Anaconda + Django + Apache aus
Führen Sie das alte Vivado mit Dockers Gastbetriebssystem als CentOS 7.4 aus
Verwenden von CentOS mit LXD
Führen Sie Payara mit Docker aus
Baue Growai mit Centos7
[Vagrant] Bereiten Sie die LAMP-Entwicklungsumgebung mit Vagrant vor (Centos + Apache + MySQL + PHP).