- 1. 【解説】人工ニューロン
- 2. python で int で値を入れつつ、json 化の際には文字列を使う Enum の作り方
- 3. 写真から路面のひび割れ範囲を解析する
- 4. pyzbarでlibiconv.dllが見つからないエラー
- 5. Pyenvについて
- 6. tree commandについてまとめてみた。
- 7. 【自由研究】Python × AWS Lambda で、コールドスタートでもキャッシュを使う
- 8. 文系エンジニア、束論を学ぶ #2 pythonライブラリ
- 9. 画像処理のガンマ補正とコントラスト強調/低減を理解する
- 10. LightGBMの最良モデル3つでどこまで予測改善できるか
- 11. 「Amazon Bedrock 生成AIアプリ開発入門」レビュー #Bedrock開発入門
- 12. テトリス風落ち物パズルを作る part07 ハードドロップの実装
- 13. [C++]Pythonに追いつきたい! subprocessの実装
- 14. Python: Quart での Debug 設定の調査記録
- 15. LINE WORKS の掲示板の投稿の既読/未読リストを API で取得する
- 16. GCNの実装をちゃんと理解する
- 17. NVIDIAの株価を線形回帰で予測
- 18. 空のPandas データフレームに対して apply を実行した際に発生するエラーについて
- 19. [アルゴリズム] ランキングづけの問題
- 20. Google Cloud Vision APIとOpenAIを組み合わせて猫の画像を判別してみた
【解説】人工ニューロン
# 経緯
最近, 個人的にDeep Learningを学習しています.
各概念の備忘録として, まずは基礎の基礎であるパーセプトロン($\fallingdotseq$人工ニューロン)についての記事を作成しました.私の理解が誤っている可能性も多分にありますので, ご指摘等ありましたら, コメントをお願いいたします.
# 目次
– [動作環境](#動作環境)
– [パーセプトロンとは](#パーセプトロンとは)
– [パーセプトロンの仕組み](#パーセプトロンの仕組み)
– [1. 入力信号の線形和](#1-入力信号の線形和)
– [2. バイアス項の加算](#2-バイアス項の加算)
– [3. 活性化関数](#3-活性化関数)
– [4. まとめ](#4-まとめ)
– [パーセプトロンの実装](#パーセプトロンの実装)
– [パーセプトロンの予測モデル](#パーセプトロンの予測モデル)
– [1. データの準備](#1-データの準備)
– [2. データの前処理](#2-データの前処理)
– [3. モデルの実装](#3-モデルの実装)
– [4.
python で int で値を入れつつ、json 化の際には文字列を使う Enum の作り方
“`py
class Int2StrEnum(StrEnum):
def __new__(cls, int_value, string_value):
obj = str.__new__(cls, string_value)
obj._value_ = string_value
obj.int_value = int_value
return obj@classmethod
def from_int(cls, value: int):
for member in cls:
# noinspection PyUnresolvedReferences
if member.int_value == value:
return member
raise ValueError(f”{value} is not a valid value for {cls.__name__}”)class
写真から路面のひび割れ範囲を解析する
http://trianglelist.home.blog/2024/06/19/%e5%86%99%e7%9c%9f%e3%81%8b%e3%82%89%e8%b7%af%e9%9d%a2%e3%81%ae%e3%81%b2%e3%81%b3%e5%89%b2%e3%82%8c%e7%af%84%e5%9b%b2%e3%82%92%e8%a7%a3%e6%9e%90%e3%81%99%e3%82%8b/
pyzbarでlibiconv.dllが見つからないエラー
### エラー内容
Pythonにpyzbarをインストールして、実行したがDLLが見つからないとエラーが出る。“`
FileNotFoundError: Could not find module ‘libiconv.dll’ (or one of its dependencies). Try using the full path with constructor syntax.FileNotFoundError: Could not find module ‘C:\…\lib\site-packages\pyzbar\libzbar-64.dll’ (or one of its dependencies). Try using the full path with constructor syntax.
“`### 解決策
Microsoft公式から、Viaual C++ 2013 再配布パッケージをダウンロードして、インストールする。
https://learn.microsoft.com/en-us/cpp/windows/latest-support
Pyenvについて
## TL; DR
この記事ではPyenvのインストール方法からPythonインタープリターのバージョンの変更まで調べてみました。
調べたきっかけとして、Pyenvを使用して様々なバージョンのPythonをインストールできるということがとても印象的だったので、もっと詳しく知りたいと思ったからです。
いつでも最新版のPythonが使えればいいのですが、Amazon Linux 2023で用意しているLambda用のPythonがほんのちょっとだけ古かったり、機械学習で用いるDockerイメージでは3.10.xでなければ動作保証外だったりすることがあります。
pyenvを用いることでPythonのインストールとバージョン選択が楽になると知ったので、ここにまとめます。## 概要
Pyenv、Pythonのバージョン管理ツールで、開発環境でのPythonバージョンの切り替えや管理を容易にするためのツールです。以下に、Pyenvの主な利点を紹介します。### 複数のPythonバージョンの共存
Pyenvを使うと、システムに複数のPythonバージョンをインストールして、それらを簡単に切
tree commandについてまとめてみた。
## はじめに
tree commandに関しての備忘録。## 🦁**結論**🦁
ディレクトリ構造を誰かに伝えたかったり、自身で把握したい時に使う。## **treeとはこんなやつ。**
“`py
.
├── .env
├── .gitignore
├── archive
├── installer
│ ├── bin
│ └── src
├── test
│ └── test.process.py
“`よく見たことあったが素晴らしいツールだと思った。
:::note info
押さえておくべき点
* オプションによって特定のディレクトリを表示できる
* 隠しフォルダもオプションによって表示できる
* オプションによって階層を制限できる
* オプションによって特定のファイルなどを非表示できる
* 結果をテキストに出力できる
:::
***:::note warn
利用シーン
* ディレクトリ構造を誰かに教える時
* ディレクトリ構造を見やすくしてわかりやすくしたい時
:::
***:::not
【自由研究】Python × AWS Lambda で、コールドスタートでもキャッシュを使う
## TL;DR
たいして速くならないし、速くしたいならコールドスタートを避けるようなプラクティスを採用しましょう
:::note warn
「みなさんぜひやってみてね」というよりは自由研究シリーズです。
実運用には使わない方がいいかもしれません。
:::## はじめに
[AWS Lambda](https://aws.amazon.com/jp/lambda/) はサーバーレスでバックエンドサービスのコードを簡単に実行できるサービスです。
AWS Lambda でプログラムを実行した環境は、一定時間経つと破棄されてしまうため、次の実行時にまたソースの取り込みと環境作成分の時間がかかります(コールドスタート)。
定期的に実行したり Provisioned Concurrency を使って環境を保つようにすれば、いざ実行するときに時間があまりかからないし Python のコンパイルキャッシュも効くのですが、私はなぜか「コールドスタートでもキャッシュを効かせてみたい」と思いました。
キャッシュをためるファイルシステムの分だけお金がかかるんですが、やってみようと思います
文系エンジニア、束論を学ぶ #2 pythonライブラリ
# はじめに
# ▶️はじめに
計算機科学において、順序集合関連の理論は、データ構造、アルゴリズム、プログラム分析、型システムなど、多くの領域で重要な役割を果たしています。これらを自分の「🧑💻力」に組み入れていきたい。そのために、束論についての勉強をはじめました。
その勉強過程のノートになります。#1
https://qiita.com/ymgc3/items/67269adf350a55578bfe
# python ライブラリ
圏論と束論を扱うpythonのライブラリをまとめます。
## 圏論ライブラリ
| ライブラリ名 | 特徴 | インストール方法 |
|———————————————————————-|——————-
画像処理のガンマ補正とコントラスト強調/低減を理解する
# はじめに
※今回のサンプル画像として、[乃木坂46の西野七瀬さん](https://www.amazon.co.jp/%E8%A5%BF%E9%87%8E%E4%B8%83%E7%80%AC1st%E3%83%95%E3%82%A9%E3%83%88%E3%83%96%E3%83%83%E3%82%AF%E3%80%8E%E3%82%8F%E3%81%9F%E3%81%97%E3%81%AE%E3%81%93%E3%81%A8%E3%80%8F-%E8%A5%BF%E9%87%8E-%E4%B8%83%E7%80%AC/dp/4087808378)の写真を使用します。元がいい写真なので、今回の処理は蛇足です。
画素値を補正する手法の一つにガンマ補正、コントラスト強調/低減があります。画素値の補正を行うことで、画
LightGBMの最良モデル3つでどこまで予測改善できるか
三人寄れば文殊の知恵なんて言葉がありますが、LightGBMを単体で使う場合と過学習抑制をした最良モデル3つを使ってどこまで精度が向上するかやってみました。
使ったデータはirisデータとWineデータと乳がんデータの3つです。
# ライブラリのインポート
“`Python3
from sklearn.metrics import classification_report
from sklearn.model_selection import train_test_split as tts
from lightgbm import LGBMClassifier
from scipy import stats
import lightgbm as lgb
import pandas as pd
“`
## アヤメ
“`Python3
df = pd.read_csv(“iris.csv”)
y = df[“category”]
x = df.drop(“category”, axis=1)x_train, x_test, y_train, y_test = tts(x, y,
「Amazon Bedrock 生成AIアプリ開発入門」レビュー #Bedrock開発入門
ありがたい事に著者の @minorun365 さんに献本頂きましたので、
「Amazon Bedrock 生成AIアプリ開発入門」の特徴を見ていきたいと思います。# 想定される読者
どれぐらいの知識があれば内容についていけるのか?という部分ですが、「AWSアカウントを
テトリス風落ち物パズルを作る part07 ハードドロップの実装
[前回](https://qiita.com/comet725/items/d6d66a6005ab0c25287f)はゲームオーバーを追加した
今回はハードドロップを実装する
ハードドロップ:即座に地面へ落下してその状態に固定して次のミノを出現させる
上級者とかこれ連打してとてつもない設置速度になっている。# キー入力の追加
今回ハードドロップさせるキーとして上キーを追加する、
左右の回転と同様に長押しで連続にハードドロップすると困るのでDASやARRのため押しで連続発動する動作は実装しない。“`py:key.py
class Key:
# 各キーの押下状態を保持
is_pushed = {
“z”: False,
“x”: False,
“UP”: False, # 追加
“DOWN”: False,
“LEFT”: False,
“RIGHT”: False
}
[C++]Pythonに追いつきたい! subprocessの実装
# この記事の対象読者
**Python**の**subprocess**モジュールの使われ方を見たとき、「えっ、こんな手軽な使い方が出来るんだ!」と、感じた事はないでしょうか?C++でも手軽に子プロセスを使いたい、そんな方向けの記事です。Windows固有の非同期IOのアーキテクテャを使っていますので、他のOS向けへの移植は出来ません。`OVERLAPPED`構造体、`ReadFileEx`、`WriteFileEx`など、stdライブラリより下層のAPIを使い、**シングルスレッド**、**ノンプリエンティブマルチタスク**向けの、古風な記法で書かれています。
また、このプログラムを使ったSSHの接続の仕方の記事を、次回以降に紹介したいと思っています。
そんなニッチなプログラム技法に、興味がある方向けの記事です。
また、このクラスの実装には、https://qiita.com/GoldSmith/items/1de197c10c05c054461a
の、メモリープールの技術を使って、OVERLAPPED構造体を使いまわしています。こちらの記事も、よろしければご覧くだ
Python: Quart での Debug 設定の調査記録
# 背景
サンプルアプリで、Flask から Quart になった
で、Debug mode って文字が見えたので、有効化しようとした記録“`text: こんな感じのやつ
* Serving Quart app ‘app’
* Debug mode: False
* Please use an ASGI server (e.g. Hypercorn) directly in production
* Running on http://localhost:50505 (CTRL + C to quit)
“`
app.run(debug=true)
が一番楽そう
だったんだけど今回はこれは出来なかった為の調査# 結論
– 提起のやつなら、環境変数で以下を設定すれば OK
“`powershell: QUART_DEBUG
$Env:QUART_DEBUG = “True”
“`– Class を用意して、Config に読み込む場合は以下な感じ
“`python: config pattern
LINE WORKS の掲示板の投稿の既読/未読リストを API で取得する
LINE WORKS の掲示板の投稿の既読/未読リストを API で取得できるようになりました。
この記事では、Google Colab で Python を使用してAPIから掲示板の既読メンバーリストを取得し、既読者と未読者を分けて表示してみます。
やってみました。#LINEWORKS https://t.co/vUVehLNLIy pic.twitter.com/iSmxYDL8dq
— iwaohig (@iwaohig) GCNの実装をちゃんと理解する
# はじめに
GCN,ちゃんと理解していますか?
グラフ深層学習屋さんなら誰でも知っている叩き台ことGCNですが,有名すぎてネットのそこら中に実装が転がっていて,コピペすれば動いてしまいます.
なんとなく何をしているかは知っていても,具体的な実装を見たことはない……そんな状況を解消するため,GCNの実装を細かいところまで見ます.
GCNの論文
[Semi-Supervised Classification with Graph Convolutional Networks](https://arxiv.org/abs/1609.02907)# 基本
GCNは隣接ノード間で属性情報を伝播し,畳み込んでノードの埋め込みとする.
何度か繰り返すと,2-hop, 3-hop先の情報を取れる.
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/609800/c526eb71-1d84-4a9a-ce5b-040510522de9.png)
# 元コード
[pygcn](http
NVIDIAの株価を線形回帰で予測
# 1.本投稿の目的
**このブログはAidemy Premiumのカリキュラムの一環で、受講修了条件を満たすために公開しています。**今年2024年4月より、Pythonの文法のイロハから機械学習のモデル・ディープラーニングの手法など、データサイエンスの基礎を学習しております。駆け足で学習してきましたが、ひとまず形にするところまで来ています。
今回はモデルの精度はさておき、一番簡単な線形回帰を使って簡単な機械学習に挑戦します!
# 2.自己紹介
簡単に自己紹介させていただきますと、都内で金融機関に勤める30代の普通のサラリーマンです。私自身は高校3年までは数学ⅢCまで学び、一応”理系”だったわけですが、その後の大学ではいわゆる文転し、文系の大学を卒業しました。(理系の大学も受かっていたのになぜそっちに行かなかったのか、、、汗)
よって、数学は全然得意じゃないし、プログラミングも業務で簡単なエクセルVBAをちょこっと書く程度。
統計も概念だけを”なんとなく”理解している、そんなレベルです。そんなことを言い訳にしてプログラミングから逃げ続けてきたのですが、やはり自分
空のPandas データフレームに対して apply を実行した際に発生するエラーについて
## 概要
Pandas が空の場合に、 apply 実行した際に下記のエラーに遭遇しました。私はデータフレームが空の場合にはスキップすれば要件を満たせたため、その対応方法を共有します。
> ValueError: Expected a 1D array, got an array with shape (0, 2)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/24e51ff5-6f45-13c0-b7c0-4342d757bc3c.png)
## エラーの再現方法と対応方法
### 1. エラーを再現
“`python
import pandas as pdpdf = pd.DataFrame(columns=[‘col_1’])
tmp_col_name = “temp”
tmp_col_delete_flg = “temp_delete”
encoding = “cp932”
col_names_and_bytes = {
“col_1”
[アルゴリズム] ランキングづけの問題
## モチベーション
ランキングづけのアルゴリズムの問題で少し悩んだので,少し考察してみました.
なお,単純化のため,個別のパターンの計算量最適化は考慮していません.
あくまで,ランキングづけ問題の複数のパターンを一般化して整理してみよう!というモチベーションです.## 発想
すべての問題について,各参加者のエントリを定義することで,考えやすくなります.
エントリ内に必要な情報を,
+ 入力される情報
+ 参加者のランキング
+ 出力時に必要な情報の3つに分けて考えると良いかなと思います.
## 問題例
以下の各パターンでは,参加者のテストの点数が与えられるので,それをランクづけした上で,所定の形式で出力することが求められます.### 例1
入力:参加者の名前とスコアの組が,順番に与えられる
出力:参加者の名前とそのランキングを,入力の順に出力する“`
# 入力
shinji 60
rei 100
asuka 95
mari 80# 出力
shinji 4
rei 1
asuka 2
mari 3
“`### 例2
入力:参加者の名前とスコアの組が,順番
Google Cloud Vision APIとOpenAIを組み合わせて猫の画像を判別してみた
## 概要
猫の画像を読み込んで、色、柄、猫種を解析し、結果をmd形式で出力するプログラムを作成しました。## 環境
– M2 Macbook
– Poetryで仮想環境を作成
– Python 3.12.3
– shellはzsh## 流れ
OpenAIは無料期間が終わってクレジットを購入済みのため、Vision APIの有効化から行っていきます。
※GCPは初めて使ったのですが、無料で90日間つかえる$300分のクレジットがついたので、これからガンガン触っていきたいです。### ■Vision APIの有効化
GCPでプロジェクトを作成し、「APIとサービス」 > 「ライブラリ」を選択しましょう。
![スクリーンショット 2024-06-17 16.58.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/506559/efc54c3a-743e-9ad2-bebb-1c4f756bc04d.png)検索バーに「Vision API」と入力し、Google Cloud Vision