Exécutez Keras avec CentOS7 + Anaconda + Django + Apache

Je voulais lancer un programme de traitement d'image réalisé avec Anaconda avec Apache + Django, donc une simple note pour moi-même. Je ne fais rien comme SSL ou la sécurité. C'est une continuation de https://qiita.com/hinoma/items/5b881b8ac531a0ba7953. Pour le moment, c'est le personnage principal. Je n'ai pas encore préparé les images, donc je les posterai quand je le pourrai.

Projet Django

CSS ne fonctionnera pas si l'article précédent est tel qu'il est. Par conséquent, modifiez setting.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')

Après cela, créez un répertoire statique et un répertoire de modèles dans la même hiérarchie que manage.py. Placez le fichier css dans le répertoire static et le fichier html dans le répertoire templates.

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


#Postscript
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

Faisons cela.

Exécuter le programme d'apprentissage automatique

Puisque vous pouvez utiliser opencv, keras, tensorflow, etc., installez-les.

# 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

Si vous installez keras = 2.2.4, numpy1.18 sera installé, mais une rétrogradation est requise car elle est incompatible avec cela.

libstdc++.so.6 version cxxabi_1.3.8' not found C'est l'erreur qui s'est produite lorsque j'ai exécuté apache. Apparemment, il n'y a pas de cxxabi_1.3.8 dans libstdc ++. 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

Apparemment, il n'y a pas de 1.3.8, donc je dois l'obtenir d'une manière ou d'une autre.

# 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 est tout ce dont vous avez besoin)
# systemctl restart httpd

Si vous faites cela et que cela fonctionne, vous pouvez le trouver dans views.py du projet django.


import tensorflow as tf

Je pense que ce n'est pas grave si l'écran est affiché en tapant l'adresse IP d'un PC externe après l'ajout d'un tel que.

Lorsque vous souhaitez afficher «japonais» sur une image pour la reconnaissance d'image, etc.

Si c'est alphanumérique

cv2.putText(Chemin de l'image,Caractères que vous souhaitez afficher, (x, y), cv2.FONT_HERSHEY_PLAIN, 2,Couleur, 1, cv2.LINE_AA)

Il peut être affiché avec, mais le japonais ne peut pas être affiché avec opencv, utilisez donc un oreiller

from PIL import Image, ImageFont, ImageDraw

Passe par le programme, mais lors de l'affichage du japonais, il est nécessaire de lire la police, alors lisez-la avec le code suivant.

font = ImageFont.truetype(fontpath, fontsize)

Cela peut provoquer des erreurs dans certains cas

The _imagingft C module is not installed

Quand devient, la solution devrait être la suivante.

# yum install freetype-devel libjpeg-devel libpng-devel
# pip uninstall pil pillow
# pip install pillow
# pip list
(Vérifiez s'il y a un oreiller avec ceci)

Cela a fonctionné dans mon environnement.

Recommended Posts

Exécutez Keras avec CentOS7 + Anaconda + Django + Apache
Exécutez l'ancien Vivado avec le système d'exploitation invité de Docker en tant que CentOS 7.4
Utilisation de CentOS avec LXD
Exécutez Payara avec Docker
Construisez Growai avec Centos7
[Vagrant] Préparez l'environnement de développement LAMP avec Vagrant (centos + apache + MySQL + PHP)