dockerでlaravel環境構築したお話。 #hosts

2022.12.08

Logging

おはようございます、今日は早朝に明日の記事を書いています😆。

さて、dockerでlaravel環境構築したお話を書いていきます、Dockerの環境でApacheをインストールし、バーチャルホストを設定してwindows側のhostsも変更しDocker側のhostsも設定、起動確認も取れたので、一旦Dockerを終了し再度立ち上げるとDocker側のhostsが初期値に戻っている🤔。

これDockerの仕様らしいので、下記のようにdocker-compose.ymlを設定(extra_hosts)するか、Docker runでコンテナを立ち上げる場合はパラメーター–add-hostを付与してあげないといけない😳。

version: "3"
services:
  web:
    image: almalinux:latest
    container_name: Apache_v2.4
    ports:
      - 80:80
    privileged: true
    command: /sbin/init
    extra_hosts:
      - "example1.com:127.0.0.1"
      - "example2.com:127.0.0.1"
    volumes:
      - E:\var\www\html:/var/www/html
docker run --add-host=example1.com:127.0.0.1 .....

尚、Docker側のhostsを変更しないまま、立ち上げてもLaravelは動かないと思います。何故、動かないかはここでは割愛させて頂きます🙇。

タグ

--add-host, , almalinux, ap, Apache, container, docker, docker-compose, extra, hosts, image, Laravel, latest, name, quot, run, services, Version, web, Windows, yml, インストール, お話, これ, こんてな, バーチャル, パラメーター, ホスト, 一旦, 下記, 今日, 仕様, 付与, , 再度, 初期, 場合, 変更, 早朝, 明日, 構築, 環境, 確認, 終了, 記事, 設定, 起動,

TensorFlow(テンソルフロー)で画像分類させたら車も人の顔って😇

2022.08.07

Logging

こんにちは、今日もまだ呟くこともしないで日が暮れるかもです。

今日は機械学習で画像分類させることを昨日からゴニョゴニョとしていて、やっとこさ自作のモデルから判定することが出来たのですが、あまり精度が良くないので正直な所、残念です。もっと精度の良いものを作れれば良いのになって思いますが、今の力量ではココらへんですね。

因みにココから画像判別の精度を上げるためにはコードをある程度、作り込まないといけないです。あとはデータ量ももう少し多くのデータが必要です。今回作っていてPythonもなかなか面白いなってね感じました。そして結構、書きやすいなとも思ったのですが、まだまだゴリゴリとコードをPythonで書けるわけではないので、もっと勉強しないとなって事です。

Python言語は結構人気だし、機械学習は花形なんですよ。そういう言語を自在に使えるようになりたいなって思います、そしてPHPやJSなどやフレームワークもゴニョゴニョと絵の具のように思い通り使いたいなって未だに思います。知れば知るほど未だまだ勉強で、おそらくコード書きは引退しても学び続けるだろうなって思います。

import numpy as np
import tensorflow as tf
import tensorflow_hub as hub
import PIL.Image
tf.get_logger().setLevel("ERROR")
def preprocess_image(image_path):
    image = PIL.Image.open(image_path).convert("RGB").resize((150,150))
    image = np.array(image) / 255
    image = np.expand_dims(image, 0)

    return image

def test_model(imgurl):
    image_path = imgurl
    model_file_name='human_or.h5'
    labels = ["human","dogs"]
    model = tf.keras.models.load_model(model_file_name, custom_objects={"KerasLayer": hub.KerasLayer})
    predictions = model.predict(preprocess_image(image_path))
    print("検証 %s 人の顔である確率 %3d%%" %(image_path,int(predictions[0][0]*100)) )

test_model("ai_image_test\\test1.jpg")
test_model("ai_image_test\\test2.jpg")
test_model("ai_image_test\\test3.jpg")
test_model("ai_image_test\\test4.jpg")
test_model("ai_image_test\\test5.jpg")
test_model("ai_image_test\\test6.jpg")

https://taoka-toshiaki.com/ML/human_or.zip ←モデル

タグ

array, convert, custom_objects, expand_dims, get_logger, hub.KerasLayer, image, imgurl, int, labels, model, predictions, print, quot, resize, setLevel, フレームワーク, 力量, 絵の具, 花形,

androidアプリをはじめて申請しました。リリースされるかは?

2021.07.21

Logging

高知県も梅雨明け宣言したころだと思います、そんな事を考えながら雷の音を聞きながらこの記事を書いています。
この記事が公開された時にはandroidアプリがリリースされている頃だと思います。
この記事はアンドロイドアプリ(Flutterアプリ)を作ったときに戸惑ったところなどを本人しかわからない形で箇条書きにしたものです。他人が見てもわかるようには書いていません。

尚、参考にしたサイトはこちらになります。
https://passe-de-mode.uedasoft.com/ja/tips/software/device/flutter/flutter04.htm

flutter_icons:
  android: true
  ios: true
  image_path: "lib/assets/icon.png"
flutter pub get
flutter pub run flutter_launcher_icons:main
keytool -genkey -v -keystore C:\android\jks\key.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias key
    signingConfigs {
        release {
            storeFile file("C:\\android\\jks\\key.jks")
            storePassword "Password"
            keyAlias "key"
            keyPassword "Password"
        }
    }
    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.release
        }
    }
flutter build appbundle

タグ

04, Android, assets, com, device, fl, flutter, GET, htm, https, icon, icons, image, iOS, ja, lib, passe-de-mode, path, png, pub, quot, run, software, tips, true, uedasoft, アプリ, アンドロイド, こちら, ころ, サイト, とき, ところ, もの, リリース, , 他人, 公開, 参考, 宣言, , , 本人, 梅雨明け, 申請, 箇条書き, 記事, , , , 高知県,

TensorFlow Lite(テンソルフロー ライト)をインストールしモデル実行まで。

2021.06.14

Logging

ラズベリーパイ3にTensorFlow Lite(テンソルフロー ライト)をインストールしモデル実行まで軽く字幕で紹介した動画が下記になります。インストール方法は公式に書かれた通りに実行すれば上手くインストール出来るはずです。比較的に低スペックのマシンでも動くはずなのです、どうしてもエラーが出て動かないようであれば、それはおそらくあなたのマシンに問題があります?。

テンソルフローライト

動画でハマりどころがあるという事をブログで解説しますと書いていますので、そのハマりどころを解説します。。。

TensorFlow Lite(テンソルフロー ライト)で動かす場合、label_image.pyの修正箇所が公式に書かれていると思いますが・・・?、ここで自分がハマり、実行するコマンドを打ってもパラメーターがどうたらというエラーが出力されて動きませんでした。結論から言うと原因はマスターのソースコードにあったのです。修正を要領よく修正しては駄目だった。直接的な原因となったのは–num_threadsのパラメーターを投げていたのが原因でした。

公式では下記の内容に変更しなさいと書かれています。tf.lite.Interpreterの部分を置き換えればよいだろうと思っていたのです。

interpreter = tf.lite.Interpreter(model_path=args.model_file)

マスターのソースコードは若干、公式とは違ってこのようなソースコードになっていました。

  interpreter = tf.lite.Interpreter(
      model_path=args.model_file, num_threads=args.num_threads)

渡す引数が一つ増えていたので、自分はそれを残していたのですが・・・?、これでは動かないのです。そう・・num_threads=args.num_threadsは削除してあげないとモデルを動かすことが出来なかったのです。それがわからず渡すパラメーターが駄目なんだとか思って四苦八苦していました。

自分みたいな修正方法している方も中にはいると思ったので、今回、初心者がハマった沼を紹介しました?。

タグ

, image, label, LITE, py, tensorflow, あなた, インストール, エラー, コード, ここ, コマンド, スペック, ソース, それ, テンソル, はい, パス, パラメーター, フロー, ブログ, マシン, マスター, モデル, ライド, ラズベリー, 下記, , 修正, 公式, 出力, 動画, 原因, 問題, 場合, 字幕, 実行, 方法, 箇所, 紹介, 結論, 自分, 解説, 通り,