- 1. Pythonで愛媛県感染症情報センターの新型コロナウイルスの患者報告数の週推移を取得する
- 2. ローカルでMD5つけてからAWSコンソールでアップしてみる
- 3. 自宅環境でLLM(Youri 7B Instruction GPTQ)使ってみた
- 4. polarsでLazyFrameからピボットテーブルを作る方法とその速度比較
- 5. controlnet inpaintで画像の一部を入れ替えたり、表情を変えたり、描き加えて拡張したり
- 6. Pythonで親ディレクトリのモジュールをimportする
- 7. Workatoで長時間実行アクションを使わずに一定時間待つ方法
- 8. データから作成した確率密度関数におけるエラーバーの作り方
- 9. Pythonの力を借りて、ComputerCraft (CC:Tweaked) でネット上の画像を表示する
- 10. 統計学メモ
- 11. 変数・値・参照・代入
- 12. Django Rest Framework VS Code おすすめ拡張機能
- 13. macでのpyenvインストール
- 14. 将棋の駒の画像分類アプリ
- 15. 麻雀AIプログラミングを行う際に有用となるサイト
- 16. モーニングコーヒー中に学ぶDjangoで使う基本コマンドとデータ作成
- 17. Xの長さと長方形の面積「数学 長方形の面積 問題」をsympyとFreeCADでやってみたい。
- 18. 「sympyのTriangleで、三角形に三角形を追加した。」自作プログラムmyTr02
- 19. Pythonでのバイトデータ処理: struct.packとstruct.unpackの使い方
- 20. 炎の揺らぎ(1/f)をデジタル実装する
Pythonで愛媛県感染症情報センターの新型コロナウイルスの患者報告数の週推移を取得する
https://www.pref.ehime.jp/site/kanjyo/39800.html
愛媛県感染症情報センターの新型コロナウイルス・インフルエンザの患者報告数の週推移を取得する
シンプルな表なのでpandasのread_htmlで変換
“`python
import pandas as pdurl = “https://www.pref.ehime.jp/site/kanjyo/39800.html”
df = pd.read_html(url, match=”患者報告数の週推移”)[0]
df
“`結果を確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/36151/329f8d13-e635-f32d-2f37-64c965858c97.png)
なぜか保健所名、保健所名.1、保健所名.2と月が複数回表示される
ブラウザで確認すると
![image.png](https://qiita-image-store.s3.ap-northeast-1.
ローカルでMD5つけてからAWSコンソールでアップしてみる
“`python
import json
import hashlibdef calculate_md5(file_path):
“””ファイルのMD5ハッシュを計算する”””
hash_md5 = hashlib.md5()
with open(file_path, “rb”) as f:
for chunk in iter(lambda: f.read(4096), b””):
hash_md5.update(chunk)
return hash_md5.hexdigest()def add_md5_to_json(json_file_path, md5_value):
“””JSONファイルにMD5ハッシュ値を追加する”””
with open(json_file_path, ‘r’) as f:
data = json.load(f)data[“x-amz-meta-md5”] = md5_value
with open(jso
自宅環境でLLM(Youri 7B Instruction GPTQ)使ってみた
## はじめに
こんにちは。@ken101と申します。最近Sakana AIが話題ですね。
LLMを触ってみたくなりましたが、どうも自分のPCでは処理速度に問題があったため、
日本語に対応且つ軽そうなLLMを探しておりました。
LLM(Youri 7B Instruction GPTQ)というモデルを見つけたのでこちらで試してみます。## 目的
昔OpenAI Apiを利用したvoice to voice のchatbotを作成し満足していたが、
応答テキスト作成の時間がボトルネックになっており、もっと高速化できないかと考えていた。
ローカル環境内ですべて完結させれば早いのではないかと考え実行。## 環境
OS: WSL Ubuntu22.04LTS
GPU: RTX 4060Ti
メモリ 32GBmodel: Youri 7B Instruction GPTQ
## まずは開発してみる
下記サンプルから適当に編集
https://huggingface.co/rinna/youri-7b“`
import torch
import logging
import
polarsでLazyFrameからピボットテーブルを作る方法とその速度比較
# polarsでLazyFrameからピボットテーブルを作る方法とその速度比較
ピボットテーブルを作る(ここではクロス集計をするという意味)際、`pl.DataFrame`には`.pivot()`メソッドがあるが、`pl.LazyFrame`には用意されていない。ではどのようにすればよいのだろうか。
ここでは簡単な例を用意して、いくつか方法を考案し、速度を比較してみたい。
## 例題
次のようなデータがあるとしよう。
“`python:元データの例
import numpy as np
import polars as plrng = np.random.default_rng(42)
df = pl.DataFrame(
{
“upper”: rng.choice(list(“ABC”), 10),
“lower”: rng.choice(list(“abc”), 10),
“value”: rng.integers(0, 5, 10),
}
)print(df)
# shape: (10, 3)
controlnet inpaintで画像の一部を入れ替えたり、表情を変えたり、描き加えて拡張したり
この記事はdiffusers(Stable Diffusion)の**controlnet inpaint**機能を使って既存の画像に色んな加工をする方法について説明します。
# inpaintとは
**インペイント**(**inpaint**)というのは画像の一部を修正することです。これはStable Diffusionだけの用語ではなく、opencvなど従来の画像編集ライブラリーや他の生成AIもインペイント機能を持っています。
Stable Diffusionでinpaintをする方法は主に2つに分けられています。
– (従来の)inpaintを使う
– controlnet inpaintを使う従来のinpaintについてはこの前の記事の最後の部分で説明しました。
https://qiita.com/phyblas/items/eed011fd01f5afd0f759
しかしそこに書いた通り、あまり使い物にならなくて使うのを諦めました。
それに対しcontrolnet inpaintはかなり使い勝手がよくて凄いものです。だから今回の記事でcontrolnet i
Pythonで親ディレクトリのモジュールをimportする
# ディレクトリ構成
“`
parentdir
+-upper.py
+-subdir
+-lower.py
“`“`upper.py
def upper_method():
print(“Upper method”)
“`“`lower.py
import sys
import os# このlower.pyがあるディレクトリ(subdir)
current = os.path.dirname(os.path.realpath(__file__))
print(f'{current=}’)# このlower.pyがあるディレクトリの親ディレクトリ(parentdir)
parent = os.path.dirname(current)
print(f'{parent=}’)# その親ディレクトリをsys.pathに追加
sys.path.append(parent)# これで親ディレクトリのモジュールがimportできる
import upperupper.upper_method()
“`# 実行結果
“`
pyt
Workatoで長時間実行アクションを使わずに一定時間待つ方法
# はじめに
[こちらの記事](https://qiita.com/ykkoba/items/884c683f96e7f0b7134f)では、Workato の長時間実行アクション(Long Actions)には注意点があることをお伝えしました。
Workato には一定時間待つアクションが [scheduler by Workato] コネクターの [Wait for time duration] アクションとして用意されていますが、こちらは長時間実行アクションになっています。
単一のステップでは 90 秒でタイムアウトが発生するため、それ以上の時間に対応するためですが、待つ必要のある時間が 1 分程度の場合に長時間実行アクションの制限を回避する方法はないでしょうか?
# 実現方法
Python コネクターを利用することで、長時間実行アクションを使用せずに実現が可能です。
Ruby や JavaScript でも類似の機能は実現可能ですが、これらのコネクターはタイムアウト時間が 30 秒と通常のアクションより短いため、今回の用途では、タイムアウト時間が通常のアクションと同
データから作成した確率密度関数におけるエラーバーの作り方
## データからの確率密度関数の作成方法
データから確率密度関数$f$を作成する際のプロセスを振り返る。データを$\\{ x_j; j = 1, 2, \cdots, n \\}$とし、データがサンプルされてきた確率変数を$X$と記す。
1. bin $b_0 < b_1 < \cdots < b_i < b_{i+1} < \cdots$を決める 2. binの各区間$[b_i, b_{i+1})$に入るデータ点の個数を数える: $\\# \\{ j; b_i \leq x_j < b_{i+1} \\} = n_i$ 3. 個数を全データの個数で割り、そのbinの区間に入る確率を求める: $p(b_i \leq X < b_{i+1}) \approx \frac{n_i}{n}$ 4. 確率をbin幅で割ることによって確率密度にする: $f_i \equiv f(\frac{b_i+b_{i+1}}{2}) \approx \frac{p(b_i \leq X < b_{i+1})}{b_{i+1}-b_i}$ このようにしてpdfを作ると次を満たす。 $$ \sum_{i
Pythonの力を借りて、ComputerCraft (CC:Tweaked) でネット上の画像を表示する
![mc.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/310556/43b1022b-1d22-ba62-6bb0-cabcbac06dfd.gif)
(表示されているのは音楽ゲーム『CHUNITHM』の楽曲『World Vanquisher』のジャケット画像です)## おことわり
本記事で使用しているMinecraftのMODは『CC:Tweaked』です。これはComputerCraftを元のMODとは別の作者がMinecraft 1.12.2以降に対応させた別物ではあるのですが、高度な互換性がありほとんど同じものと言っても過言ではないので、本記事内では一貫して『ComputerCraft』と呼ばせていただきます。本記事で使用しているMinecraftは1.20.1、CC:Tweakedのバージョンは1.111.0です。
## 概要
Pythonで画像加工のAPIを作り、それをComputerCraftのHTTP APIを利用して引っ張ってきています。
画像加工自体はComputerCr
統計学メモ
“`
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt# サンプルデータ
data = [1, 2, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 7, 7, 7, 8, 9, 9]# 度数分布を計算
frequency_distribution = pd.Series(data).value_counts().sort_index()# 相対度数分布を計算
relative_frequency_distribution = frequency_distribution / len(data)# 累積度数分布を計算
cumulative_frequency_distribution = frequency_distribution.cumsum()# 累積相対度数分布を計算
cumulative_relative_frequency_distribution = relative_frequency_distribution.cumsum()
変数・値・参照・代入
# これは何?
変数ってなに? という話。
値なのか、参照なのか、代入したらどうなるのか、とか。そのあたり。# いくつかの言語の事例
いくつかの言語の事例を書いてみる。
## C言語の場合
C 言語の変数は(概念としては)型が付与された一連のメモリである。この文脈ではオブジェクトと言ってもいい。
変数の型が決まれば、バイト数が決まる。オブジェクトの正体は、構造体かもしれないし、ポインタかもしれない。
「概念としては」と書いたのは、コンパイルの結果その変数自体が消滅したり、いろいろあり得るから。
C言語では、同じ「一連のメモリ」を別の変数が直接指すということはできない。そうしたければポインタを使う。
あるいは `union` を使えば異なるメンバが同じ「一連のメモリ」を指すことが出来る。Pascal なんかも同じだと思う。
“`C:C
a=b;
“`という代入文は、暗黙の型変換が入らない場合「b が指す一連のメモリを a が指す一連のメモリにコピーする」という意味になる。
つまり、代入が行われても依然として a は b と別のもの(アドレスが異なる)であ
Django Rest Framework VS Code おすすめ拡張機能
# 概要
本記事では、Django Rest Frameworkで開発を行う上で、おすすめの拡張機能を紹介する# 拡張機能一覧
| 拡張機能名 | 作成者 |
| —- | —- |
| [Git History](https://marketplace.visualstudio.com/items?itemName=donjayamanne.githistory) | Don Jayamanne |
| [Django](https://marketplace.visualstudio.com/items?itemName=batisteo.vscode-django) | Baptiste Darthenay |
| [Django Template](https://marketplace.visualstudio.com/items?itemName=bibhasdn.django-html) | bibhasdn |
| [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.
macでのpyenvインストール
# 概要
本記事では、macでのPyenvインストールから、Pythonのインストールまで行う## pyenvのインストール
“`
~ % brew install pyenv
==> Downloading https://ghcr.io/v2/homebrew/core/pyenv/manifests/2.4.8
######################################################################### 100.0%
==> Fetching pyenv
==> Downloading https://ghcr.io/v2/homebrew/core/pyenv/blobs/sha256:45459a58894d
######################################################################### 100.0%
==> Pouring pyenv–2.4.8.arm64_sonoma.bottle.tar.gz
🍺 /opt/homebrew/Cellar
将棋の駒の画像分類アプリ
# はじめに
はじめまして。
私は大学で統計学やデータサイエンスを専攻しており、Rという統計向きのプログラミング言語を使って学習しておりました。社会人になってからはエンジニアとして主にjavaを用いて開発をしております(2024年7月時点)。
AIがここ数年で凄まじい発展を遂げる中で興味が再燃し、転職やスキルアップを目指してオンラインスクール[「Aidemy」](https://aidemy.net/)の「AIアプリ開発講座」に通い始めました。:::note info
このブログはAidemy Premiumの講座カリキュラムの一環である、受講修了条件を満たすために作成した成果物について記載しています。
:::# 目次
学習モデルについて
実行環境
学習データの準備
モデルの作成
モデルの評価
webアプリ作成
終わりに# 学習モデルについて
私が趣味で将棋をやっていることから、将棋の駒の画像分類モデルを作成したいと思いました。
技術としてはすでにHEROZ株式会社の[「棋神アナリティクス」](https://heroz.co.jp/release/2023/11/16_p
麻雀AIプログラミングを行う際に有用となるサイト
### 概要
麻雀AIプログラムを作成する際に有用となるサイトの紹介。### 麻雀AI対戦サーバ「Mjai」
rubyで作成された麻雀AI対戦用サーバ。
Socketで接続を行い、jsonデータを送信する。
* 仕様
* プログラミング言語:Ruby
* 接続方式:socket
* 公開サイト:[Mjai 麻雀AI対戦サーバ – namespace gimite](https://gimite.net/pukiwiki/index.php?Mjai%20%E9%BA%BB%E9%9B%80AI%E5%AF%BE%E6%88%A6%E3%82%B5%E3%83%BC%E3%83%90)
* インストール手順:[麻雀AI対戦サーバMjaiのインストール](https://qiita.com/techmilestone/items/06a273f85763f8a87428)### 公開対戦サイト「RiichiLab」
公開サイトでプログラムをアップロードすることで公開対決が可能。
* 仕様
* プログラミング:Python
* 接続方式
モーニングコーヒー中に学ぶDjangoで使う基本コマンドとデータ作成
「モーニングコーヒー中にDjangoについて勉強したいな…」
そんな風に思うことあると思います。
この記事では、Djangoについてよく使う基本的なコマンドとマイグレーション、テストデータ作成について説明します。
モーニングコーヒーの時間を有効活用して、Djangoについて詳しくなっていきましょう。
# Djangoのプロジェクトで仮想環境〜Djangoプロジェクト作成まで
まずは作業用のディレクトリを作成する
“`$ mkdir djnago_blog“`
“`$ cd djnago_blog“`
### 仮想環境の構築
“`$ python3 -m pip install pipenv“`
### 仮想環境に入る
“`$ pipenv shell“`
仮想環境に入ると以下のようになります。
“`(blog) ….blog $ “`
### djangoのインストール
“`$ python3 -m pip install Django“`
### djangoプロジェクトの作成
“`$ django-admin startp
Xの長さと長方形の面積「数学 長方形の面積 問題」をsympyとFreeCADでやってみたい。
・**「相似」と「一般化」の勉強中です。**(2024/07/22)
・座標変換(回転)を使わなくても。錯角???を利用。# オリジナル
・数がくラブ 様 (0:00〜7:49)
>ちなみに私は学校では習わない事を含めた…# sympyで
**ver0.1 CAD風に。右上の三角形から下方向に順に。片押しで?**
・CADなら速攻?
・オリジナル 様と違う補助線?
???良さそうなDOCを探しています。
https://docs.sympy.org/latest/modules/geometry/lines.html#sympy.geometry.line.Ray2D.closing_angle
“`python
# ver0.1 CAD風に。右上の三角形から下方向に順に。片押しで?
from sympy import *
var(‘X’,real=True,poitive=True)
A,E=map(Point,[(-28,0),(0,-4)])
X=abs(Line(E,E+(A-E).rotate(rad
「sympyのTriangleで、三角形に三角形を追加した。」自作プログラムmyTr02
・いつかは、作ってみたかった関数。
・tr1の[0]と[2]に、tr2を連結しています。(結局? tr1の[1]は、使っていません。)
・**2点に三角形をとりつけただけじゃないの?**
**直線上に三角形をとりつけただけじゃないの?**
**その通りです。** 三角形に三角形を連結と言えば、高級に聞こえるかも。
keywordが使えるという事で。# myTr02の使い方
・右上、tr1の[1]と[2]に、tr2を連結したい時、引数の順番をずらす。# sympyで
・直角三角形を2個組み合わせて、長方形をつくった。
class sympy.geometry.polygon.Triangle(*args, **kwargs)
https://docs.sympy.org/latest/modules/geometry/polygons.html#sympy.geometry.polygon.Triangle
“`python
from sympy import *
var(‘X’,real=True,poitive=True)
def myMatrixToPoint(m
Pythonでのバイトデータ処理: struct.packとstruct.unpackの使い方
## はじめに
Pythonの`struct`モジュールは、バイトデータを扱う際に便利です。特に、C言語の構造体(struct)のようにデータをバイト列としてパック(pack)したり、バイト列からアンパック(unpack)したりする機能を提供します。## structモジュールの概要
`struct`モジュールは、主に以下の2つの関数を提供します:
– `struct.pack()`: データをバイト列に変換(パック)
– `struct.unpack()`: バイト列からデータを取り出す(アンパック)## 基本的な使い方
### struct.packの使い方
`struct.pack`は、指定したフォーマットに従ってデータをバイト列に変換します。
“`python
import struct# 整数2つをバイト列にパック
packed_data = struct.pack(‘ii’, 1, 2)
print(packed_data) # b’\x01\x00\x00\x00\x02\x00\x00\x00′
“`ここで、`’ii’`はフォーマット文字列
炎の揺らぎ(1/f)をデジタル実装する
# はじめに
炎のゆらぎを始めとして,自然界に多く存在するといわれる1/fゆらぎをデジタル上で再現します.今回は実際にLEDを光らせて,1/fゆらぎを表現します.
![無題の動画 ‐ Clipchampで作成.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3459012/7927b405-f4c4-091f-9253-9730dc557174.gif)
# 1/fゆらぎとは
1/fゆらぎの正体とは,-10dB/decつまり周波数がパワースペクトルを持つノイズのことです.ピンクノイズとも呼ばれたりします.
一方ホワイトノイズ(一様乱数)は,周波数に依らず一様のパワーを持っています.
![図2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3459012/2eb40af2-8699-6c13-7ce4-8a8e65a343ad.png)# 1/fゆらぎの生成方法
ホワイトノイズを生成するライブラリは多く