- 1. もう間に合わない、夏休みの宿題の読書感想文の作り方
- 2. Weaviateの初歩 Pythonでcollectionを作ってみる
- 3. ノイズ除去【TensorFlow入門①】
- 4. EC2インスタンスに関連するEBSボリュームにタグを設定するPythonコードを生成AIで
- 5. 【計算科学】浮動小数点における数値誤差についてまとめた
- 6. AWS EC2のインスタンスを起動・停止するためのPythonスクリプト
- 7. Jupyter でもコードフォーマットしたい! on Docker
- 8. Python Tkinter ツールチップ (マウスホバーでメッセージ表示)
- 9. 東大・松尾研が公開した大規模言語モデル「Tanuki-8B」をMacBook(M2)で動かしてみた
- 10. 小さな日本語GPTのエンジニアリング。僕だけの日本語GPTを作るというゲーム。
- 11. Macで`python3.10.x`のvenv環境をつくる際の備忘録
- 12. パッケージ化用pyproject.tomlボイラープレート
- 13. 夢が叶うために、どんなことをすればよいのかということだと思う。 その答えは「今」にある。小さなGPTのエンジニアリング。 Chat with GPT という日本語チャットゲーム。
- 14. 画面が汚れているな。 カラフルなパーティクル掃除機ゲーム。スペースキーで吸引です。
- 15. 米国テクノロジー業界の職場におけるメンタルヘルスデータセットを分析してみた。
- 16. Pythonで〇×ゲームのAIを一から作成する その112 弱解決の AI であるかの判定と枝狩りによる探索の効率化
- 17. タイタニックの名前データを特徴量化
- 18. AWS で ハイブリッド検索+リランクを実装(AmazonOpenSearch(HybridSearch) + Kendra(Rerank))
- 19. 『Docker × Django』とりま、開発環境をつくるゾイ!
- 20. 【Python】Tkinterで動的に要素を追加する(仮)
もう間に合わない、夏休みの宿題の読書感想文の作り方
もう間に合わない 夏休みの宿題の読書感想文を
geminiに作ってもらう・・でしたが、
夏休みも終わっちゃいました。前回までの要約
https://qiita.com/bono0/items/4a992dc388527d3b99f4今更ですがgeminiの使いかたの説明です。
https://ai.google.dev/aistudio?hl=ja
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/237930/8b5fffa0-29df-f243-4594-f8859333885b.png)
上記から入って、サンプルコードを出力してもらって
ローカルにコピーして apikeyを追加したら出来上がりです。
自分で使うだけの開発環境なら 引数と戻り値を半固定にしても良いでしょう。
pip install ライブラリはコメントをご参照ください。これだけです。
あとはプロンプトに資料を丸ごと 200万トークン たっぷり入力してください。専用LLMの出来上がりです。取説で
Weaviateの初歩 Pythonでcollectionを作ってみる
[以前の記事](https://qiita.com/yasuyuki_terashi/items/a52358705720698caecc)でWeaviateをk3sクラスタ上に構築したので、コレクションを作ってみましょう。RDBで言うところのテーブルみたいなものでしょうか。
# どのようなコレクションを作るか
ER図で示すのが正しいのか分かりませんが、以下のような関係性を持たせたいと思います。
“`mermaid
erDiagram
TestA ||–o{ TestB:””TestA{
text title
text summary
}
TestB{
int chapter
text text
}“`
・TestAのエンティティにはtitleとsummaryがあります。
・TestAは複数のTestBエンティティを持ちます。
・TestBのエンティティにはchapterとtextがあります。# 事前準備
“`
$ pip install weaviat
ノイズ除去【TensorFlow入門①】
### このページについて
TensorFlowというライブラリを使ってノイズ除去をします.### 今回紹介するコードの大まかな流れ
今回紹介するプログラムは、ノイズ除去オートエンコーダーを使って、ノイズが追加された画像を元の画像に復元することを目的としています。以下で,このプログラムの流れを簡潔に説明します。##### ライブラリのインポート:
必要なライブラリ(numpy, matplotlib, tensorflow.keras, mnistデータセットなど)をインポートします。##### データの準備:
MNISTデータセットをロードし、CNNで扱いやすい形に変換して正規化します。##### ノイズの追加:
マスキングノイズとガウシアンノイズを追加する関数を定義し、トレーニングデータとテストデータにノイズを追加します。##### オートエンコーダーモデルの構築:
エンコーダーとデコーダーからなるオートエンコーダーモデルを構築します。
EC2インスタンスに関連するEBSボリュームにタグを設定するPythonコードを生成AIで
こんにちは、インサイトテクノロジーの松尾です。
本記事では、AWS アカウント内の EC2 関連リソースへのタグ付けを、Python と boto3 を使って実施した例をご紹介します。また、Python コードの生成は ChatGPT でさせてみました。
## はじめに
自チームの AWS アカウントで利用状況をコスト管理をするのにあたりタグをつける運用を行っています。厳密にやるならアカウントを分ければいいとは思いますが、利便性の確保を現時点で選択しています。
一方で、以下のようなことに困っていました。* EC2 インスタンスにはタグは付与されているものの EBS ボリュームに設定されていない
* AMI や AMI に関連する EBS のスナップショットにタグが設定されていない
* AMI を削除するときにスナップショットを残したまま我々のチームでは EC2 と RDS の利用が圧倒的に多く、RDS の利用でも同様の課題があるのですが、ここでは EC2 のみにフォーカスします。
## スクリプトで対応しよう
そこそこの数があったので、さすがに AWS コンソールで目
【計算科学】浮動小数点における数値誤差についてまとめた
## これは何?
コンピュータを使った計算を行うと,実際の計算と異なる結果が得られることがあります。
これはコンピュータが有限ビット数を使って計算している関係上,特定の数値を完全に表現することはできません。
例えば,1/3は数学では正しく表現できますが,コンピュータでは0.3333333333333333333333333333333…と表現するため,有限の値で表現されます。本記事ではよく発生する浮動小数点の誤差についてまとめました。
—
## 丸め誤差(round error)
> [計算と誤差](https://www.ritsumei.ac.jp/se/rv/joen/program06/program2_06.html)
コンピュータは、10進数を2進数になおして記憶する。このとき、小数点以下を含む10進数は、2進数に変換される時に変換誤差を生ずる。これが丸め誤差という。具体例をpythonで書いてみました。pythonのfloat型では扱える小数点の数は15桁となっているので丸め誤差を発生させてみます。
“`python3
print((1.3 +
AWS EC2のインスタンスを起動・停止するためのPythonスクリプト
AWSのEC2インスタンスは動かしっ放しだと当然お金がかさみますので、使う時だけ起動、使い終わったら停止させたいですよね。いちいちAWSコンソールにログインして操作するのも大変面倒ですので、起動・停止するためのスクリプトを作りました。作成にあたって、Claude 3.5 Sonnetに手伝ってもらいました。
# 事前準備
“`
pip install boto3
“`
# 起動スクリプト
“`python:EC2_Start.py
import boto3
# EC2クライアントを作成
ec2 = boto3.client(
‘ec2′,
region_name=’ap-northeast-3′, #リージョンIDを記述
aws_access_key_id=’xxxxxxxxxxxxxxxxxx’,#本当は直接記述しない方がいいのですが
aws_secret_access_key=’yyyyyyyyyyyyyyyyyyyyyyyyyyyyy’#本当は直接記述しない方がいいのですが
)# 操作対象のインスタンスIDのリスト
instan
Jupyter でもコードフォーマットしたい! on Docker
昨今のプログラミングでは自動でコード整形されるのは当たり前で、人間が手でコードを綺麗にしたりレビューで指摘したりといった作業は過去のものである。Python においても black + isort や Ruff といったツールが盛んに使用されており、IDE と連携することで簡単に自動フォーマットを実現できる。
…そんなプログラミング環境に慣れていると、たまに Jupyter Lab を触ったときに「フォーマットされねぇのかよ〜」となってしまう。自分が Jupyter を使うときはたいてい書き捨てのコードなのでそこまできれいに書く必要ないのだけど、それでも自動フォーマットしてくれたほうが読みやすいし気分もいい。
## JupyterLab Code Formatter
なんと JupyterLab Code Formatter[^jupyterlab-code-formatter] という便利パッケージがあり、これを入れてちょっと設定するだけで簡単に実現できる。[^jupyterlab-code-formatter]: [JupyterLab Code Formatter](
Python Tkinter ツールチップ (マウスホバーでメッセージ表示)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423803/46cc92fd-102b-57b9-4fc2-d730bf76d747.png)
“`
import tkinter as tkclass ToolTip:
def __init__(self, widget, text):
self.widget = widget
self.text = text
self.tooltip_window = Noneself.widget.bind(“
“, self.show_tooltip)
self.widget.bind(““, self.hide_tooltip) def show_tooltip(self, event):
if self.tooltip_window or not self.text:
東大・松尾研が公開した大規模言語モデル「Tanuki-8B」をMacBook(M2)で動かしてみた
[Supership](https://supership.jp/)の名畑です。[国立新美術館](https://www.nact.jp/)で開催されている[CLAMP展](https://www.clamp-ex.jp/)を見に行ったのですが、積み重ねてきた歴史を堪能させていただきました。その時代時代の作品に触れることによって自らの思い出も湧き上がってくる、素晴らしい展示でした。
## はじめに
人工知能に関して興味をお持ちであればどこかで必ず名前を目にするであろう[東京大学松尾・岩澤研究室(松尾研)](https://weblab.t.u-tokyo.ac.jp/)が大規模言語モデル「**Tanuki-8×8B**」を公開しました。
> – 経産省及びNEDOが進める日本国内の生成AI基盤モデル開発を推進する「GENIAC」プロジェクトにおいて、松尾・岩澤研究室が「Tanuki-8×8B」を開発・公開。
> – 本モデルは、フルスクラッチで開発されており、対話、作文能力を評価する指標「Japanese MT-Bench」において「GPT-3.5 Turbo」と同等以上の性能を
小さな日本語GPTのエンジニアリング。僕だけの日本語GPTを作るというゲーム。
前回のあらすじ。
https://qiita.com/tetsutakamurata76/items/619369c2651a80d02cd9
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/2d24aa37-c9e1-e727-1601-0dac46f5d33b.png)
Google corab GPU で実行です。
### 実行結果。日本語トークナイザーと日本語モデルを使用。
生成されたテキスト: エポック75
### Generated Text: 健一の次の挑戦は、aiの可能性をさらに探求することでした。 田中健一は、新しいaiモデルの設計のアイデアに興奮しました。 彼は二次元テンソルを掛け合わせることで、これまで不可能とされていたものを実現でき、しかも、それが瞬時に実現できることに確信しました。Generated Text: 健一の次の挑戦は、aiの可能性をさらに探求することでした。 四次元テンソルを使用した計算は、オイラーシャフト と g
Macで`python3.10.x`のvenv環境をつくる際の備忘録
Macで`python3.10.x`のvenv環境をつくる際の備忘録
# 背景
記事作成時点の最新環境だと`python3.12.x`が使われる。
しかし、`python3.10.x`を使いたい場合もある。# install
`homebrew`により`python3.10`をインストールする
“`sh
brew install python@3.10
“``python3.10`の`venv`を利用
“`sh
python3.10 -m venv venv3.10
“``activate`して、バージョンが`3.10.x`になっていればOK
“`sh
$ source venv3.10/bin/activate
(venv3.10)$ python –version
Python 3.10.14
“`ubuntu環境でも同様のことをしたい場合、上記に沿って`pyton3.10.x`をインストールすればOK
https://gist.github.com/rutcreate/c0041e842f858ceb455b748809763ddb
>
パッケージ化用pyproject.tomlボイラープレート
# プロジェクトのパッケージ化
自分のプロジェクトをパッケージ(厳密にはライブラリ)として扱わない場合、プロジェクト内のモジュール間でのimportが通常のようにできなく、マニュアルでsys.pathをいじる必要があります。これはものすごく不便です。ので、poetry・pipを使ったプロジェクトのパッケージ化方法をまとめます。## 基本方針
基本手順はpoetry・pipに変わらず同じ。(PEP 621のおかげっぽい)
1. パッケージ化する際に、プロジェクトの設定(どのフォルダーをパッケージとしたいのか、パッケージ化際どのツールを使うかなど)を記述する必要がある。これにはpyproject.tomlファイルを使う
2. パッケージ化するコマンドを使う想定ディレクトリ構造
“`
.
└── project/
├── src/
│ └── package_name/
│ └── # python files
└── pyproject.toml
“`## pip + setuptools
### pyproject
夢が叶うために、どんなことをすればよいのかということだと思う。 その答えは「今」にある。小さなGPTのエンジニアリング。 Chat with GPT という日本語チャットゲーム。
#### 東京のプログラマとリアルタイムのAI対話
東京の片隅に住むプログラマ、山下誠は、技術革新の最前線に立つエンジニアだ。彼は、日々の生活に追われながらも、新たなプロジェクトに取り組んでいた。彼の目標は、未来を感じることができるインターフェースを作り上げることだった。山下の手元には一つのコードがあった。これを実行することで、ブラウザでGPT-2とリアルタイムでチャットできるインターフェースが表示されるのだ。![スクリーンショット 2024-09-02 050454.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/a279d1a7-ba6f-f587-ab5b-885b565d8a53.png)
未来をつなぐコード
山下は、Pythonのコードに目を通しながら、自分の作業が未来のコミュニケーションの一端を担うことを意識していた。このコードは、HTTPサーバーを立ち上げ、ウェブブラウザで簡単にアクセスできるインターフェースを提供する。そこに、彼のこだわりが込められていた。
画面が汚れているな。 カラフルなパーティクル掃除機ゲーム。スペースキーで吸引です。
![スクリーンショット 2024-09-02 042744.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/5eb4e299-da54-7c85-9a41-351ad72a1e51.png)
![スクリーンショット 2024-09-02 042805.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/d4f4a9f1-ee2a-5cae-5083-4044968f9838.png)
### マウスでノズルを移動してスペースキーを押すと吸引です。
“`html
カラフルなパーテ
米国テクノロジー業界の職場におけるメンタルヘルスデータセットを分析してみた。
# 概要
テクノロジー業界における精神的健康が仕事に与える影響について分析した。
米国テクノロジー業界のメンタルヘルスアンケートのデータセットを使用し、機械学習を用いて影響する要因を抽出し改善策を提案する。
アンケート内容のwork_interfere(精神的問題が仕事に影響している頻度)を目的変数として、仕事に影響があるグループ、ないグループに分けた。
work_interfereから、テクノロジー業界の職場の4人に1人が精神的な問題を抱えている可能性があることが示唆された。このことから、精神的健康問題が仕事に影響を与えることを予防することが重要であると考える。
与えられた特徴量から、要因を個人的要因、労働環境要因、組織のメンタルヘルス資源要因、周囲のメンタルヘルス資源要因に分けて考えた。
それぞれを分析し、Catboostでのモデル学習から特徴量重要度・shap値を取得。分散分析・カイ二乗検定を用いて影響している特徴量について考察した。
考察から導かれた傾向と先行文献を参考に、以下の対策を提案するに至った。
1.個人は精神的問題についての家族の既往歴を把握し、解決に向けた治療を受
Pythonで〇×ゲームのAIを一から作成する その112 弱解決の AI であるかの判定と枝狩りによる探索の効率化
# 目次と前回の記事
https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0
https://qiita.com/ysgeso/items/7cb0c709f6d5884d925e
## これまでに作成したモジュール
以下のリンクから、これまでに作成したモジュールを見ることができます。
| リンク | 説明 |
|:–|:–|
| [marubatsu.py](https://github.com/ysgeso/marubatsu/blob/master/112/marubatsu.py) | Marubatsu、Marubatsu_GUI クラスの定義|
| [ai.py](https://github.com/ysgeso/marubatsu/blob/master/112/ai.py) | AI に関する関数 |
| [test.py](https://github.com/ysgeso/marubatsu/blob/master/112/test.py) | テストに関する関数 |
| [util.py]
タイタニックの名前データを特徴量化
前回タイタニックの欠損値を大真面目に埋めたり削除しましたけど、
https://qiita.com/murasaki1994/items/ed8b77f5d953f46e2ae9
今度はタイタニックの名前データも特徴量にしてみました。
参考↓https://qiita.com/jun40vn/items/d8a1f71fae680589e05c
# コード
“`Python3
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
“`## 訓練データの読み込み
“`Python3
df_train = pd.read_csv(“train.csv”)
df_train
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278288
AWS で ハイブリッド検索+リランクを実装(AmazonOpenSearch(HybridSearch) + Kendra(Rerank))
:::note info
– 参考記事
Amazon OpenSearch ServiceをRAG用のナレッジベースとして整える
https://qiita.com/moritalous/items/1520f03fb6d038fd6fd9
:::– AWS の OpenSearch で インデックス登録、ハイブリッド検索、リランク を使用する為の備忘録
– ハイブリッド検索には Amazon OpenSearch Service (マネージド型クラスター)を使用
– リランクには Amazon Kendra Intelligent Ranking を使用
– 図では OpenSearch から Kendra にリランクを飛ばしていますが、
その部分は実装出来なかった(プラグインの導入部で打ち切り)のでユーザ側からリランク処理を飛ばした
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424166/40109c17-bf64-95d1-d828-983ba870e5fe.png
『Docker × Django』とりま、開発環境をつくるゾイ!
# 概要です
pythonのフレームワークであるdjangoを触ってみたかったので、とりあえずdockerで環境構築してみます。
※ docker公式サイトをもとに作成してます。docker公式のままやると、エラーが発生したので若干変更しています。https://docs.docker.jp/compose/django.html
# 手順です
#### 1. ディレクトリを作成する
“`bash
mkdir django-sample
cd django-sample
“`#### 2. Dockerfileを作成する
“`
vi Dockerfile# pythonは現時点で最新版の3系
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
“`#### 3. requirements.txtを作成する
“`
vi req
【Python】Tkinterで動的に要素を追加する(仮)
:::note warn
※この記事で紹介する方法はあくまで自己流です。セキュリティ面でのリスクがあるので、一般向けにデプロイするソフトウェアなどには極力使用を避けた方が良いと思います。
:::
## 1.概要
Tkinterを使ってGUIソフトを作っている時、ユーザーがGUI内の要素・ウィジェットを増減させられるようにしようとしました。ネットで調べてみたところ、・ウィジェットを非表示にしておき、適宜表示を切り替える
・クラスで管理する等の方法が見つかったのですが、下の理由で却下しました。
・追加できるウィジェット数に上限がある
・単純にクラス構文が嫌い(インスタンスが増えていくのがなんか嫌)一部、超個人的な理由が入っていますが許してください。
これら以外の手段を考えた結果、下の結論に至りました。
### 辞書で管理する
簡単に言えば、dict型でウィジェットを管理し、辞書の各要素のキーとして各ウィジェットの一意のIDを、その内容としてリストを格納します。
そのリストにTkinterのウィジェットのインスタンスと、作成日時等のデータを格納します。# 2.メリット