記事一覧
StreamlitのWebアプリをGoogleCloudに構築する
詳しく調べてないけどDockerとかを使ってできるらしいけど、まずはDockerを使わずに環境構築をしたかったので、VMインスタンスを生成して、一つ一つ設定していってみた。
構築したシステムは以下
至ってシンプルなもの
苦労したところStreamlitはnginxの設定が一捻りしないといけないみたいでStackOverFlowなどを漁ってChatGPT活用しながら解決
ChatGPT、Cla
FloatingIP
Floating IPとは
Floating IPは、クラウド環境や高可用性システムで使用される仮想IPアドレスです。物理的なサーバやネットワークデバイスに固定されず、異なるサーバやデバイス間で動的に移動できる特性を持ちます。これにより、システムの可用性と柔軟性が向上します。
Floating IPの利用目的
高可用性の確保:
サーバ障害時に迅速にIPアドレスを他の正常なサーバに移動させる
Streamlitを使ったWebシステム
Streamlitは、主にデータサイエンスや機械学習のプロトタイピングに使われるPythonベースのフレームワークであり、簡単にインタラクティブなWebアプリケーションを構築することができます。Streamlitアプリケーションは完全に動的コンテンツを生成しますが、以下の点を考慮する必要があります。
Streamlitのデプロイメントについて
単独での使用:
Streamlitは単独でHTT
Dockerを使ったシステム構築
Dockerの基本
Dockerは、アプリケーションをコンテナ化することで、一貫性のある環境で実行できるツールです。これにより、開発環境、テスト環境、本番環境で同じ環境を再現できるため、アプリケーションの移植性が向上します。
Docker ComposeのYAMLファイル
Docker Composeは、複数のコンテナを一つの定義ファイル(docker-compose.yml)で管理するため
Dockerを使う理由ってなんだろう?
前にDockerを勉強(1年前くらい)したけど忘れたので、忘れた記憶を呼び覚ますためにGeminiとChatGPTに質問して回答もらったメモ
Dockerを使う理由:単なる便利さだけではないDockerは複数のコンポーネントをまとめて起動できるため、小規模なシステムでもWebサーバー(Nginx)、データベースサーバー(MySQL)、WSGI(Gunicorn)、アプリケーションサーバー(Dja
Gunicornってなんだろう?WSGIってなんだろう?
WSGIWSGI (Web Server Gateway Interface):
WSGIはPythonの標準規格で、WebサーバとPythonウェブアプリケーション間の共通インターフェースを定義します。
これは仕様であり、実際のソフトウェアではありません。
WSGIとWebサーバの違い:
Webサーバ(例:Nginx、Apache): クライアントからのHTTPリクエストを受け取り、静的
Python Webシステム メモ
Webアプリケーションのデプロイにおいて、サーバの役割とその配置はプロジェクトの規模や要件に応じて異なります。以下に、Webサーバ(Nginx)、アプリケーションサーバ(Gunicorn)、およびデータベースサーバの基本的な構成とその役割を説明します。
基本的なサーバ構成
Webサーバ(Nginx):
役割:静的ファイルの提供、リバースプロキシ、負荷分散、SSL/TLS暗号化、アクセス制御な
GoogleCloud
Cloud Consoleとは?
Google Cloud Console(クラウドコンソール)は、GCP上のリソースを管理するためのWebベースのユーザーインターフェースです。クラウドコンソールを使用すると、以下の操作を行うことができます:
リソース管理:
プロジェクトの作成と管理
仮想マシン(VM)インスタンスの作成、削除、設定変更
ストレージバケットの管理
データベースの作成と管
Python joblib
保存と並列処理はじめに
Pythonで機械学習モデルを作成したり、大量のデータを処理する際に便利なライブラリとしてjoblibがあります。このライブラリを活用することで、モデルの保存と読み込み、並列処理を簡単に行うことができます。本記事では、joblibの基本的な使い方と、その具体的な活用方法について詳しく解説します。
Joblibとは?
joblibは、Pythonのデータサイエンスや機械
Updating the Database from a Browser Using Streamlit
I wanted to create a mechanism to edit data in the browser using Streamlit and save the edited data to the database, but it didn't work well.
After some investigation, I found out that sessions were
Streamlitを使ってブラウザからデータベースの更新を行いたい
Streamlitを使ってブラウザ上でデータを編集、編集したデータをデータベースに保存するという仕組みを作りたかったけど、なんかうまくいかない
いろいろ調べた結果セッションが関係していることがわかり、備忘録として記事にしました。以下、Webアプリ開発経験に乏しいためセッションについての情報、理解が正直自信がないため、所々間違っている箇所があるかもしれません。
まずインタラクティブな(ブラウザ上
自然言語処理 NLTK,spaCy,transformer
基本的な学習ステップ流れ自然言語処理(NLP)の基本的なフローチャート
基本的なフローチャート:
a. データ収集
b. データ前処理
c. 特徴抽出
d. モデル選択
e. モデルトレーニング
f. モデル評価
g. モデル最適化
h. デプロイメント
データの準備:
テキストデータ(文書、文章、単語など)
ラベル付きデータ(分類タスクの場合)
並列コーパス(翻訳タスクの場合)
データの収
Streamlit 複数ページ multipage
Streamlitのバージョン1.10.0以降では、マルチページアプリケーションの作成がサポートされています。
方法はいくつかあります。
一番簡単なのはプロジェクト内にpagesというディレクトリを作成するとその中のスクリプトファイルへの移動できるサイドバーを勝手に作ってくれる。欠点は細かいカスタマイズをするときは不便。
手順
1. ディレクトリ構造の準備:
まず、プロジェクトディレクトリを
Streamlitを使う
ディレクトリ構成myapp└── main.py# main.pyimport streamlit as stst.set_page_config(page_title="Streamlit App", page_icon=":shark:")st.title("This is a title")st.write("Hello World!")st.markdown("""## This is a
もっとみるPythonスクリプトをコマンド化したい
ターミナルで使える自作コマンドを作成する今回は、簡単なPythonスクリプトを自作コマンドとして実行できるようにする方法を紹介します。
手順1: スクリプトを作成する
まず、実行したいスクリプトをPythonで作成します。例えば、hello.pyというファイルを作成し、以下の内容を記述します。
#!/usr/bin/env python3import sysdef main(): if