- 1. はじめに
- 2. 環境構築
- 2.3. 【個人開発】コンビニ✖️コンビ;コンビニの商品組み合わせを自動で提案してくれるWEBサービスを作りました【暇つぶしクソアプリ】
- 2.4. Windowsのファイルの保存場所を開く(Open File Location)コマンドをPythonで実行する
- 2.5. nginxでクライアントがリクエストした元のURLを取得する
- 2.6. 【Python】matplotlibを使うならとりあえず読むべき記事
- 2.7. 【Python】matplotlibのpltとaxの書き方の違いについて
- 2.8. 【随時更新】プログラミング学習に役立つ解説ブログ&サイトまとめ
- 2.9. Keras+Colaboratoryでハーフタレントの顔識別したときのメモ
- 2.10. 加速度センサの鉛直方向の値を使って1歩判定してみた
- 2.11. 【個人開発】Pubmed Trans:日本語で薬の名前を入力すると自動で英語論文を検索するWEBアプリを作りました【医師・薬剤師・MR向け】
- 2.12. 【統計】標準化と正規化の応用シーンの違い
- 2.13. 波の伝搬と干渉の3次元シミュレーションをしてみた(波動方程式、ダブルスリット、python)
- 2.14. [Python]BigQueryにクエリを実行する
- 2.15. ABC 270 回答メモ
- 2.16. NuitkaでPlotlyをアプリケーション化する
- 2.17. 【PyTorch】Androidでの推論実行方法 Python編
- 2.18. scikit-learnで子豚検知モデルを作る
- 2.19. Flaskでラズパイの状態を確認するWebアプリを作ってみた(其の三)
- 2.20. 結晶構造をjupyterlabでインタラクティブに可視化する
openai / whisper を使ってマイクに話した言葉を文字起こしする Python スクリプトを書いた
# Intro
OpenAI が開発した音声認識モデルが日本語を良い感じに認識できるという評判を Twitter 上で見かけました。
文字起こし器が前々から欲しかったので、マイクに話した言葉を文字起こししてくれる Python スクリプトを書きました。# 実行してみる
?️ < "はい、ということで今日はOpenAIが開発した Whisper について勉強していきたいとおもいます。Whisper は音声認識モデルです。" 実行結果 ``` $ python main.py * recording ^C* done recording Detected language: ja はい、ということで今日はオープンAIが開発したMISPER、マイツイテレンキをしていきたいと思いますMISPERは大さな仕込でです ``` Whisper が MISPER になってしまっています。"音声認識モデル" に至っては、"大さな仕込"になっています。マイツイテレンキ?? 私の滑舌が悪いのか、それとも Whisper がまだまだなのかは、是非自身の声で確かめてください。 # 実装 ###
Djangoで簡易検索エンジンを作ってみた~Youtubeキーワード検索エンジン~
はじめに
この記事ではYoutub DATA APIを利用して、キーワード検索エンジンを作成しました。
任意のキーワードを入力することで上位10個の動画をランキング形式で表示することができます。環境構築
実行環境
言語:Python, HTME&CSS(Bootstrap)
OS:Windows11
ツール:Git/GitHub, DockerDockerを利用した環境構築
Dockerを利用したDjangoの環境構築は[こちらの記事]を参考にしてください。
今回はDockerfile, docker-compose.yml, requirements.txtを以下のように記述します。“`txt:requirement.txt
Django==3.1
psycopg2-binary==2.8.6
“`“`Dockerfile:Dockerfile
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
COP
【個人開発】コンビニ✖️コンビ;コンビニの商品組み合わせを自動で提案してくれるWEBサービスを作りました【暇つぶしクソアプリ】
# はじめに
こんにちは。
コンビニって本当に便利ですよね。
でも商品多すぎて、お昼に結局何をを購入しようか迷う時があるので、
コンビニの組み合わせを自動で提案してくれるWEBサービスを作りました。
ちなみに2品合わせて800キロカロリー以下のものしか提案してくれないので、
高カロリー摂取、栄養の偏り防止にもなリます。本家様、情報を拝借しております。
# サービス生み出しの背景
コンビニでカロリーを見てお昼を選んでいた女性MRが
その姿を顧客に見られてニヤニヤされたため、
先に組み合わせを選んであとはコンビニで取るだけのサービスを作りたかった。# サービス概要
[コンビニ×コンビ](https://conviconvi0810.herokuapp.com/polls/top/ “コンビニ×コンビ”)
https://conviconvi0810.herokuapp.com/polls/top/
![conviniconvi.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28
Windowsのファイルの保存場所を開く(Open File Location)コマンドをPythonで実行する
# 実現目標
:::note
・スタートメニューから `More > Open File Location`
・ショートカットから `右クリック > Open File Location` すると、対象のフォルダへ移動してファイルがアクティブになる。上記の操作をPythonで実行する
:::# 用途
:::note warn
たとえば、Imageビューアなどで右クリックして画像の保存場所を開けます。
:::# コード
“`python
import os
import subprocessdef open_file_location(absolute_path):
# windows用のパスへ変換
path = os.path.realpath(absolute_path)
# subprocessでコマンドシェルを実行
subprocess.Popen(f’explorer.exe /select, {path}’)open_file_location(“C:/Images/image1.jpg”)
“`# ポイント
su
nginxでクライアントがリクエストした元のURLを取得する
## 概要
Webサーバのフロントエンドとしてnginxを使った際に、バックエンドのWebアプリでもクライアントがリクエストした元のURLの情報(プロトコル、ホスト名、パス)を取得する方法を紹介する。
## 環境情報
#### 構成
* **リバースプロキシ : nginx**
* ホスト名 : hogehoge.com
* プロトコル : https
* ポート : 443
* **Webアプリ**
* ホスト名 : 192.168.1.4
* プロトコル : http
* ポート : 5000#### nginx.confの設定
以下はserver部分のみ抜粋したもの。
“`nginx.conf
server {
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
listen 443 ssl;
listen [::]:443;
# (中略。サーバ証明書のファイルパス等の指定が実際は必要)location
【Python】matplotlibを使うならとりあえず読むべき記事
## 背景
– matplotlibの理解を深めるのにすごく役に立った記事をまとめておく。(自分用としても)## 目標
– 紹介している記事を読んでmatplotlibへの理解を深める。## matplotlibの理解に役立った記事たち
– matplotlibの基本概念がざっとわかる、最初の方の流し読みだけでもいいので読むべき。https://qiita.com/nkay/items/d1eb91e33b9d6469ef51
– 上の記事より、もうちょっと硬派な感じで詳細に解説してくれている記事。
https://qiita.com/skotaro/items/08dc0b8c5704c94eafb9
– 軸周りの設定解説の神記事。
https://www.yutaka-note.com/entry/matplotlib_axis
– MATLABスタイル(pltの書き方)の設定についての引数解説の神記事。
https://www.yutaka-note.com/entry/matplotlib_pyplot
– 以下、MATLABスタイルとオブジェクト指向
【Python】matplotlibのpltとaxの書き方の違いについて
## 背景
– pythonの可視化に使用されるライブラリとしてmatplotlibには、書き方がややこしく理解が難しい。
– 理解を難しくさせる要因として、そもそもmatplotlibの書き方の流儀的に2つの方法(pltとax)があることが挙げられる。
– matplotlibの可視化をサクッとできるようになるために自分なりに調べた知見をまとめておく。## 目標
– matplotlibの2つの書き方について理解する。## matplotlibに存在する2つの書き方
– 上記で述べたように、matplotlibには主に2つの書き方があるらしい。
– 公式でどのように呼ばれているかはわからないが、いくつかのサイトを調べたところ主に、「plt」を使用する書き方は、MATLABの書き方に似ているらしいのでMATLABスタイル、「ax」を使用する書き方は、オブジェクト指向の書き方なので、オブジェクト思考スタイルなどと呼ばれていた。– matplotlibの2つの書き方
1. MATLABスタイル(pltを使用する方法)
2. オブジェクト指向スタイル(axを使用する方法)##
【随時更新】プログラミング学習に役立つ解説ブログ&サイトまとめ
## 背景
– 先日公開した以下の記事がとても好評だった。https://qiita.com/takuma-1234/items/ec837143f41a73317cb2
– 公式サイトではないけど、めちゃくちゃわかりやすく解説してくれている個人ブログなども世の中にたくさんある。
– 自分が勉強の際にお世話になっている公式ではないブログをまとめておく。## 各種解説ブログ&サイトまとめ
– note.nkmk.me
Pythonのよく使うライブラリなどの使い方を解説しているブログ。
あまりにも詳細に解説されているので、最初はPyhtonの日本の公式の団体か何かが解説しているのかと思ったレベル。
Pythonの基本文法等で迷ったら大体ここの解説を見るとよく理解できる。https://note.nkmk.me/python/
– YutaKaのPython教室
個人的にmatplotlibの解説の充実度合いに驚愕した。
ここの管理人さんぐらいmatplotlibで自由に解説できるようになりたい。https://www.yutak
Keras+Colaboratoryでハーフタレントの顔識別したときのメモ
# 概要
Keras+GoogleColabで顔識別を試してみた。 ハーフ系タレントを見事見分けられるか??# 目的
– 顔認識システムを作りたい。
– 過去に試した時の備忘録が消えてしまったので、再度やってみた。今回はメモを残す。# やったこと
スクレイピングでデータ収集、データ前処理、モデル定義、Tensorboadで学習過程の可視化、Prediction、GradCamなど。試行錯誤なので無駄なこともやってるかも。## データ準備
画像はスクレイピングで収集。([顔認識のテストのためにスクレイピングでハーフタレントの画像収集してみた](https://qiita.com/kiwsdiv/items/8aa53e4afaf3b148ca3f))今回はハーフタレント(ハリー杉山、Joy、ウエンツ、ユージ、+ ラウール)で試してみた。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/599506/89333490-f298-8d4f-abcf-bc787b26cff4.pn
加速度センサの鉛直方向の値を使って1歩判定してみた
# はじめに
屋内位置測位のPDR(歩行者自律航法)を使ったコードを書く上で1歩判定のコードを書いたので解説します.# PDRとは
PDRは**Pedestrian Dead Reckoning**の略で
**Pedestrian**が歩行者、**Dead Reckoning**が自律航法という意味です.**Dead Reckoning**とは[フルノ製品情報サイトより](https://e-words.jp/w/BLE.html)以下のような説明があります。
> ジャイロセンサーや加速度センサーなど、各種センサーからの情報と合わせて演算処理することにより、GPS(GNSS)単独では測位を続けることが難しい環境下でも、高い精度で測位できる技術がデッドレコニング(Dead Reckoning /自律航法)です。カーナビゲーションシステムでも多く活用されております。センサ情報をもとに演算処理をすることで位置を求めるので、センサ情報の正確さが大事になります.
# 1歩判定
加速度センサの鉛直方向の値から1歩判定します.### 概要
鉛直方向の出力は波のようになります.
![
【個人開発】Pubmed Trans:日本語で薬の名前を入力すると自動で英語論文を検索するWEBアプリを作りました【医師・薬剤師・MR向け】
# はじめに
こんにちは。
Qiita見る専を貫いていましたが、ついに初投稿。
今回は日本語の医療用医薬品名(商品名・一般名)を入力したら
自動で英語一般名に変換し、文献を検索してくれるWEBアプリを作りました。
医師や薬剤師、MRに使ってもらえたら嬉しいです。# サービス生み出しの背景
病院で処方される薬剤は、2つの名前を持っています。
①一般名 ②商品名と言われ、医薬品の文献(データ)を探す際には、
日本語で①一般名 ②商品名入力しても文献サイトでヒットしません。
①の一般名を英語に変換して検索しなければヒットしないのです。。。(誰も英語の名前なんて覚えていないし、英語に変換する時間もったいない)
自分の業務効率化させたいなぁと
その意気込みだけで作成に至りました:open_hands:# サービス概要
[PubmedTrans](https://pubmedtrans1.herokuapp.com/cms/ “PubmedTrans”)
https://pubmedtrans1.herokuapp.com/cms/
![pub medtransmi
【統計】標準化と正規化の応用シーンの違い
データの前処理する時、よく標準化と正規化をどちら使うか困ったりするので、
自分の経験と感想を軽く整理してメモします。## 標準化とは?
標準化(Standardization)とは元のデータ集合がどのような分布でも、
「平均値0、標準偏差1」の分布にする変換です。
“`math
z_i = \frac{x_i-\bar{x}}{s}
“`
$x_i:$ 元のデータ
$\bar{x}:$ 元のデータの平均
$s:$ 元のデータの標準偏差## 正規化とは?
正規化(Normalization)とは元のデータ集合を「0~1」に抑える変換です。
“`math
x_i’ = \frac{x_i-x_{min}}{x_{max}-x_{min}}
“`## 使うシーン
簡単に言うと
#### 1. データの分布を知りたい時は標準化(Standardization)を使います
例えば、クラスのある生徒Chenの英語成績を調査するとします。
満点が100点の中、60点は低いと思うかもしれないですが、
本当は標準化の分布を見ないとわからないですね。| 科目 | 名前 | 成績(
波の伝搬と干渉の3次元シミュレーションをしてみた(波動方程式、ダブルスリット、python)
こんにちにゃんです。
水色桜(みずいろさくら)です。
今回は波の伝搬と干渉の3次元シミュレーションについて書いていこうと思います。
実行結果は下のgifみたいな感じになります。
![wave_rect.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2847349/0f2bbfc1-cd9b-338a-753d-72f9b826f599.gif)まず背景について説明いたします。
波の挙動は波動方程式によって記述されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2847349/371c6210-8b90-8d96-3fc0-833814e950e6.png)波動方程式はスライドに示すような定数係数二階線形偏微分方程式です。そのままでは機械で分析ができないため、スライドに示すように数値的に微分を行います。
結果として一番下のような形になります。
この式を元にしてプログラムを書いていきます。
境
[Python]BigQueryにクエリを実行する
# はじめに
n番煎じかもしれませんが、PythonでBigQueryにクエリを実行するクラスを実装したので載せてみました。
色々と雑ですが少しでも参考になれば。# 目次
– 準備
– コード
– まとめ
– 最後に# 準備
bigqueryのライブラリを使用するには次の準備が必要です。
### ライブラリのインストール
ターミナルからpipコマンドでライブラリをインストールします。
“`Bash
pip install –upgrade google-cloud-bigquery
pip install –upgrade db-dtypes
“`### クレデンシャルの取得
今回のAPIの使用には、サービスアカウントのクレデンシャル認証を使用します。
サービスアカウントのクレデンシャル取得方法は下記。
*すでにBigQueryの権限を持っているサービスアカウントを発行済みの場合は4までスキップ1. GCPにログイン
https://console.cloud.google.com/welcome
2. 「IAMと管理」→「サービスアカウント」をクリック
ABC 270 回答メモ
0.はじめに
全体的に難易度が高く感じました。
苦手問題を避けても、他の問題ができるわけでもなく
勝手にノルマと定めている3問クリアも達成できませんでした。1.A – 1-2-4 Test
パッとみ、なにか簡単な解法がありそうな気がするも
愚直に場合分けしたコーディングし、クリア。
50行の大作になったけど、解説見たら2行で終わってて
悲しくなりました。https://atcoder.jp/contests/abc270/submissions/35096458
2.B – Hammer
大変てこずりました。
初めに、愚直に場合分けすればいけるやろと、場合分けして
提出したのですが、数例**WA**に。
仕切り直して、まず、ゴールが正負で場合分けしていたのを
最初にゴールが負の場合X,Y,Zにー1をかけてゴールは正に寄せました。結局、あーだこーだやっててダメなポイントに気づきました。
“`python:
if(Y>X and Y<0): ``` ゴール(X)の前に壁がない事の判定で、 上記のように書いていたのですが、Y<0がすべて含まれる
NuitkaでPlotlyをアプリケーション化する
# NuitkaでPlotlyをアプリケーション化する
NuitkaにはいくつかPluginが用意されているが、Plotlyは用意されておらず、
かなり悩んだので、ここにメモしておきます。### 0. 前提、使用環境など
* Windows10 64bit
* Anaconda使用
* Python 3.8.13
* Nuitka用にAnaconda内に仮想環境を新しく作って、そこで作業しました。
>NumpyとPandasはバージョンを少し下げています。最初の思考錯誤でエラー回避のため下げましたが
結果的に下げる必要があったかは定かではありません。
あとは、Plotlyもconda-forgeでinstallして、最新版にすればエラー回避??と期待してやったのですが、
たぶん結果的には関係なかったと思います。
“`shell:仮想環境nuitka内のlist
# Name Version Build Channel
blas 1.0
【PyTorch】Androidでの推論実行方法 Python編
# 概要
既存のJava製AndroidネイティブアプリにPyTorchベースの推論処理を実装する必要があったので、備忘として調べた結果をまとめます。
1. [PyTorch Java APIで推論処理を記述する](https://qiita.com/ta-sr/items/e9b83743d182dc2a8ed4)
2. Python(Chaquopy)で記述した推論処理を呼び出す(本記事)# 環境
ハードウェア: SHARP SH-T01
プロセッサ: Snapdragon 665 (2GHz & 1.8GHz – Octa)
メモリ: 4GB
OS: Android 12# 推論実行方法
推論処理をJavaやC++で書き直すのは大変なので、Pythonで書いた処理をそのまま使いたいという場合、ライブラリ([Chaquopy](https://chaquo.com/chaquopy/))を使ってJavaからPythonスクリプトを呼び出すことができます。
※[Kivy](https://kivy.org/#home)などAndroidアプリ全体をPythonで開発
scikit-learnで子豚検知モデルを作る
### はじめに
去年、子豚の出産を検知する装置を作成して、知り合いの畜産農家の方に使ってもらっていたのですが、Lobeで作成した画像認識の精度がいまいちなような感じがしたので、教科書に載っている内容を参考に、自分で学習モデルを作ってみました。https://www.shoeisha.co.jp/book/detail/9784798158341
私の場合、子豚がいるかいないかの分類ですが、別の画像があれば同じようにモデル作成ができると思うので、参考にしていただければ幸いです。
### やったこと
1.「子豚あり」「子豚なし」の画像をフォルダごとに分割する
2.画像を読み込んで、画像データと教師ラベルのリストを作成する
3.学習用とテスト用に分割する
4.学習用データを使ってモデルに学習させる
5.テスト用データを使ってモデルを評価する#### 1. 「子豚あり」「子豚なし」の画像をフォルダごとに分割する
画像はあらかじめ、現地から収集したものから作っています。
元の画像に対して、グレースケール処理とマスク処理することで学習用の画像を作成します。![image.png
Flaskでラズパイの状態を確認するWebアプリを作ってみた(其の三)
## 今回導入した機能
+ テンプレート継承の導入
+ メモリ・CPU・IOの状態を確認できるように __free__ と __vmstat__ コマンドを追加
+ ~~ユーザーログイン認証~~ (其の四で紹介)
+ ~~SQLite3でのユーザーデータ管理~~ (其の四で紹介)![index.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699739/324a3457-43e3-d309-d45c-53c580ad46c6.png)
### ファイル構成
“`
RaspiApp
├─ static
| ├─ css
| | └─ style.css
| └─ images
| └─ raspi-logo.png
├─ templates
| ├─ base.html
| ├─ get_disk.html
| ├─ get_ip_addr.html
| ├─ get_mem
結晶構造をjupyterlabでインタラクティブに可視化する
## はじめに
マテリアルズインフォマティクスの研究をしていると、jupyterlabで結晶構造を可視化したいことがよくあります。適当にグラフに原子をプロットすることも可能ですが、マウスでインタラクティブに動かしながら、様々な角度から見られれば便利です。
今回は結晶構造の可視化を簡単に行える、crystal-toolkitを紹介します。## インストール
“`shell
pip install crystal-toolkit
“`
jupyterlabのバージョンは3以上にしてください。2だと追加でextensionをインストールする必要があります。## 結晶構造を可視化してみる
jupyterlabで以下を実行することで、簡単に可視化可能です。
“`python
from crystal_toolkit.renderables import StructureGraph
from pymatgen.analysis.local_env import MinimumDistanceNN
from pymatgen.core import Structurestruct