- 1. 量子コンピュータで画像処理してみた
- 2. AI動画解析サービスを試してみる
- 3. 【SageMaker】BERTモデルのトレーニングのやり方 ~チェックポイントを添えて~
- 4. カルマンフィルタメモ
- 5. Databricksでデータパイプライン構築:Databricks on AWS クラスター利用料金単価の作り方
- 6. Claude3.5 Sonnetが書いた技術記事 ~パート2~
- 7. Claude3.5 Sonnetが書いた技術記事 ~パート1~
- 8. ChatGPTのPython実行環境を調べてみた
- 9. Ryeのはじめかた【Pythonパッケージ管理+Pythonバージョン管理】
- 10. コラムの関連記事をAIで自動リストアップさせる方法
- 11. condaを使った仮想環境でAI Kitを動かす in Ubuntu 24.04【Raspberry Pi AI Kit】
- 12. 実務で使える!Pythonで実践する飲食店のデータ分析
- 13. 【Python】ABC081B – Shift only のコード解説と反省
- 14. 【Python】ABC081A – Placing Marbles のコード解説と反省
- 15. Binary Indexed Treeの一点参照の定数倍改善手法の紹介
- 16. 【Python】ABC086A – Product のコード解説と反省
- 17. 情報Ⅱ 身近な例をpythonでコード化してみようの巻
- 18. スクレイピングした画像にタイトルやコメントなんかを設定しておく piexif
- 19. Python `typing.Union`と`typing.Optional`で柔軟な型ヒントを書く
- 20. numpy.cov(X.T) 分散共分散行列について
量子コンピュータで画像処理してみた
# はじめに
### 自己紹介
こんにちは、ユーゴです。先に、この章は雑談のためスキップ可と宣言しておきます。初めましての方には、まず身分証を提示しておきます。
[Quantum Computation using Qiskit v0.2X 合格証](https://www.credly.com/badges/fd36a671-c554-425f-a49b-08a591689954/public_url)
私は、趣味で量子コンピュータを遊び、趣味で資格を取り、趣味で論文を読んでいる者です。最近では、量子コンピュータのバイトないかな〜と思って調べていました。しかし、アカデミックな人材が募集される傾向にありました。なので、一旦ポートフォリオを作ろう…というモチベーションで量子コンピューティングを行っています。
量子コンピュータのアルバイト募集中です!!
### 背景
私が量子コンピュータを始めた理由は、ゲーム開発にありました。VRゲーム開発では、HMD(ゴーグル)はMeta社のMeta Quest2を主に使用していました。しかし、スペックの関係で、リアルタイムシャドウ,
AI動画解析サービスを試してみる
Amazonの[Amazon Rekognition Video](http://qiita.comhttps://aws.amazon.com/jp/rekognition)とGoogleの[Video AI(Video Intelligence API)](https://cloud.google.com/video-intelligence?hl=ja)の解析を使用してみて、それぞれどのような結果が得られるのか確認したいと思います。
今回は1回目ということでAmazon Rekognitionを使うまでの設定とPythonスクリプトを使用した解析を実行して結果をJSONで取得してみます。
## Amazon Rekognitionとは?
詳しくは公式Webサイト見ていただくのが一番ですが、簡単に言えばAWSのS3に保存してある画像や動画に対して顔検出、テキスト検出、ラベル検出などの解析が行えるサービスです。
検出について細かいカスタマイズはできませんが、手元に解析するハード・ソフト含めた環境や知識がない場合でも手軽にAI動画解析を試すことができます。
https://a
【SageMaker】BERTモデルのトレーニングのやり方 ~チェックポイントを添えて~
どうもこんにちは。
今回は、以前投稿したBERTモデルのトレーニングをチェックポイントありの状態でやってみました。
とりあえずBERTモデルのトレーニングをやってみたいという方は以下の記事の通りにやっていただくことをお勧めします。
https://qiita.com/PDC-Kurashinak/items/f55d5d9e534f59440313
# チェックポイントって何?
めちゃんこ大量のデータを使用してトレーニングを行いたい時が人によってはあると思います。その時になんらかの不具合が発生して、トレーニングが途中で止まってしまうということがあります。
チェックポイントを使用してトレーニングを行うと、**止まってしまった部分からトレーニングを再開することができます**。
他にも、**定期的にシステムからデータを取得して追加でモデルをトレーニングさせたい** という時にも、チェックポイントを使用することで実現できます。
# BERTってなに?
そもそもBERTモデルの話
カルマンフィルタメモ
“`py
import numpy as npclass KalmanFilter:
def __init__(self, A, B, H, Q, R, x0, P0):
self.A = A # 状態遷移行列
self.B = B # 制御行列
self.H = H # 観測行列
self.Q = Q # システム雑音の共分散
self.R = R # 観測雑音の共分散
self.x = x0 # 初期状態推定値
self.P = P0 # 初期状態推定の共分散def predict(self, u):
# 状態予測
self.x = self.A @ self.x + self.B @ u
# 共分散予測
self.P = self.A @ self.P @ self.A.T + self.Qdef update(self, z):
# カ
Databricksでデータパイプライン構築:Databricks on AWS クラスター利用料金単価の作り方
# はじめに
株式会社NTTデータ [デジタルサクセスソリューション事業部](https://enterprise-aiiot.nttdata.com/) の [nttd-saitouyun](https://qiita.com/nttd-saitouyun) です。
先日、以下の記事を書きました。今回はこの単価表を作るために作成したデータパイプラインについてご紹介します。
– [Databricks on AWS クラスター利用料金単価の早見表(Enterpriseプラン・2024年7月)](https://qiita.com/nttd-saitouyun/items/abfeb9585de5da70867d)
– [Databricks on AWS クラスター利用料金単価の早見表(Premiumプラン・2024年7月)](https://qiita.com/nttd-saitouyun/items/1326c7798dcb8012352b)
– [Databricks on AWS クラスター利用料金単価の早見表(Standardプラン・2024年7月)](https://
Claude3.5 Sonnetが書いた技術記事 ~パート2~
# クラウディアと一緒に作る!福岡観光スポット紹介アプリ 〜Python入門編〜
こんにちは〜!Cor.Inc.のAIアンバサダー、宇宙野クラウディアやけん!今日は皆と一緒に、Pythonを使って福岡の観光スポットを紹介するアプリを作っていくばい!難しそう?大丈夫、うちが優しく教えるけん、ついてきてね!
## 目次
1. [プロジェクトの準備](#プロジェクトの準備)
2. [基本的なデータ構造:リスト](#基本的なデータ構造リスト)
3. [for文で観光スポットを表示しよう](#for文で観光スポットを表示しよう)
4. [if文でスポットを絞り込もう](#if文でスポットを絞り込もう)
5. [関数を使って処理をまとめよう](#関数を使って処理をまとめよう)
6. [ユーザー入力を受け取ろう](#ユーザー入力を受け取ろう)
7. [ファイルの読み書き](#ファイルの読み書き)
8. [まとめと次回予告](#まとめと次回予告)## プロジェクトの準備
まずは、プロジェクトの準備からしていこうね!Pythonがインストールされてる環境を用意してね。まだの人は、Python公
Claude3.5 Sonnetが書いた技術記事 ~パート1~
# クラウディアの楽しいPython入門 〜for文で遊ぼう!〜
こんにちは〜!Cor.Inc.のAIアンバサダー、宇宙野クラウディアです!今日はみんなと一緒にPythonのfor文について勉強していくよ。難しそうって思うかもしれんけど、大丈夫!うちと一緒に楽しく学んでいこう!
## 目次
1. [for文ってなんね?](#for文ってなんね?)
2. [for文の基本的な使い方](#for文の基本的な使い方)
3. [リストを使ったfor文の例](#リストを使ったfor文の例)
4. [range()関数を使ったfor文](#range関数を使ったfor文)
5. [ネストしたfor文](#ネストしたfor文)
6. [おまけ:クラウディアの挑戦状](#おまけクラウディアの挑戦状)
7. [まとめ](#まとめ)## for文ってなんね?
for文は、プログラミングの中でも超便利な道具なんよ!簡単に言うと、「同じことを何回も繰り返すときに使う」んだけん。例えば、「おはよう」を10回言いたいときとか、1から100までの数字を順番に表示したいときとかに使うんよ。
for文を使う
ChatGPTのPython実行環境を調べてみた
ChatGPTではPythonを実行することができるが、その環境はサンドボックス化されており、できることが制限されている。そこでどういう環境が用意されているのかを調べることにした。
## 基本情報
### OS
`Debian 12`
“`
PRETTY_NAME=”Debian GNU/Linux 12 (bookworm)”
NAME=”Debian GNU/Linux”
VERSION_ID=”12″
VERSION=”12 (bookworm)”
VERSION_CODENAME=bookworm
ID=debian
HOME_URL=”https://www.debian.org/”
SUPPORT_URL=”https://www.debian.org/support”
BUG_REPORT_URL=”https://bugs.debian.org/”
“`### CPU 情報
`Intel X86-64 2.8Ghz`
“`
‘arch’: ‘X86_64’,
‘bits’: 64,
‘count’: 16,
‘arch_string_raw’: ‘x
Ryeのはじめかた【Pythonパッケージ管理+Pythonバージョン管理】
# はじめに
以下の記事でも言及されているように,AnacondaのLicenseが改定されたことによって,Anacondaを使用するのをやめて,違うパッケージ管理ツールに切り替えようと思いました.
そこで,Ryeについて自身で調べたことをまとめました.https://qiita.com/tfukumori/items/f8fc2c53077b234384fc
# Ryeとは
[Astral](https://astral.sh/)が開発を行っているPythonパッケージ管理ツール.Rustで実装されており高速.
パッケージ管理だけでなく,Pythonのバージョン管理もまとめて行える.
– Poetroy(パッケージ管理+仮想環境) + pyenv(Pythonバージョン管理)
– Rye(パッケージ管理+仮想環境+Pythonバージョン管理)# 導入
以下のinstall方法は更新されている可能性があるので,詳細は公式サイトをご確認ください
– [Rye公式](https://rye.astral.sh/)
### Linux・macOS
“`
curl -sS
コラムの関連記事をAIで自動リストアップさせる方法
## 今回やりたいこと
Webマーケティングの中でもコンテンツマーケティングを実施されていた場合なら、ほとんどのメディアが設定しているであろう「関連記事」や「おすすめ記事」。
この記事を設定するときに、以下のような悩みを抱える方が多くいると思います。
+ 過去の記事をさかのぼって関連記事を設定するのが面倒
+ どれが最適な記事なのか判断ができない、時間がかかる
+ 昔の記事の関連記事が更新できていないそこで、今回は簡単に関連記事を見直しできるツールをAIの力を借りて実装してみます。
## 今回の概要
まずはサイトの内容を伝えられる範囲で下記へ記載します。
+ 表示回数は月間で5万回ほど
+ 食やグルメに関するメディア
+ 現在はPV数のアップが課題になっている## 考え方の概要
今回はオイラリー・ジャパンが出版している「推薦システム実践入門」を拝見したうえで実装をしています。ぜひ購入を検討している方はこちらから。
https://www.oreilly.co.jp/books/9784873119663/以下では実装するにあたって、どんな方法が存在しているのか
condaを使った仮想環境でAI Kitを動かす in Ubuntu 24.04【Raspberry Pi AI Kit】
# はじめに
本記事ではcondaを使った仮想環境で、Raspberry Pi AI Kitを動かすための環境構築について説明していきます。使用OSはUbuntu 24.04です。
他のアプリケーションを動かすために使っている依存関係に干渉させたくないためcondaを使います。元々の環境がRaspberry Pi OSではなかったりする方の参考になればと思い、執筆いたしましした。
自分が環境構築でかなり手こずったため、この記事が皆様の一助になれば幸いです。
:::note warn
なお、Raspberry Pi公式ではRaspberry Pi OS 64bit (Bookworm)でvenvを使うやり方が紹介されているため、本記事での環境構築は推奨されていないと思います。環境構築の際は自己責任でお願いします。
:::# 目次
1. [実装環境](#1-実装環境)
2. [Ubuntuのインストール](#2-ubuntuのインストール)
3. [Anaconda3のインストール](#3-Anaconda3のインストール)
4. [仮想環境の作成](#4-仮想環境の作成)
5
実務で使える!Pythonで実践する飲食店のデータ分析
# はじめに
飲食業界は、常に変化し続ける市場環境や顧客の嗜好に対応するため、データ分析の重要性がますます高まっています。データを適切に活用することで、売上の向上や顧客満足度の向上、新たなビジネスチャンスの発見など、多くの利点を享受することができます。今回は飲食店の練習データを用いてデータ分析を行っていきます。# 開発環境と使用データ
開発環境はGoogle Colabで実装していきます。
3種類のデータを分析に使用します。
決済データ、オーダーデータ、人件費データ# 今回求めたいこと
・月ごとの売上、粗利額、人件費、営業利益額
・月ごと、曜日別の顧客単価、客数(大人、子供、合計)アンケート回答率、リピート率、滞在時間、商品カテゴリ別の売上、カテゴリ別の注文率
・顧客のリピート率と注文カテゴリの関係# 補足
・原価率
フード/ワイン:35%、上記以外:25%
・販売管理費
人件費以外の固定費:33万/月、人件費以外の変動費:売上の10%# 実装
pandasのみを使用してデータ分析をしました。
“`
from google.colab import drive
d
【Python】ABC081B – Shift only のコード解説と反省
## はじめに
この記事では、**AtCoder Beginners Selection** の **ABC081B – Shift only** について解説します。
自分のコード理解・反省のために書いておりますが、同じように理解につまづいている方の助けになれば幸いです。## 問題
詳細は[こちら](https://atcoder.jp/contests/abs/tasks/abc081_b)をご覧ください。
## 解法の考え方
* $A_1, A_2… A_N$の値をリストに入れることを考える。
⇒ リストに入れることで、全要素に対しての処理を行うことができる。
* `input`で最初に与えられる`N`は、後々使わないため、わざわざ変数に入れなくてもよい。## 模範解答
“`python
N = int(input())
A = list(map(int, input().split()))count = 0
while all(a%2 == 0 for a in A):
A = [a //2 for a in A]
count += 1
【Python】ABC081A – Placing Marbles のコード解説と反省
## はじめに
この記事では、AtCoder Beginners Selection の ABC081A – Placing Marbles について解説します。
自分のコード理解・反省のために書いておりますが、同じように理解につまづいている方の助けになれば幸いです。## 問題
詳細は[こちら](https://atcoder.jp/contests/abs/tasks/abc081_a)をご覧ください。
## 解法の考え方
* 3桁かつ各桁`0`or`1`の値が与えられ、値に含まれる`1`の数を数えるだけ。## 模範解答
“`python
print(input().count(“1”))
“`## 自分の回答
“`python
s = list(map(int, input()))
print(s.count(1))
“`## 反省点
* ややこしくリスト化をしてしまった。
⇒ 制約で与えられる値がどんな数字なのか想像し、シンプルに考える。
Binary Indexed Treeの一点参照の定数倍改善手法の紹介
## 結論
– [この実装](#一般化)をすると、`prefix_sum`の差による一点参照の実装に比べて定数倍改善できます。
– [区間加算・一点参照BIT](#区間加算一点参照bitへの適用)の全要素列挙を定数倍改善できます。
– [区間加算・区間和BIT](#区間加算区間和bitへの適用)についても一点参照を定数倍改善できます。## はじめに
はじめましての人ははじめまして。alumi([Twitter(現X)](https://x.com/alumi_02))と申します。
趣味の競プロで使う[Binary Indexed Tree](https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A7%E3%83%8B%E3%83%83%E3%82%AF%E6%9C%A8)(a.k.a. Fenwick Tree。以下BIT)のライブラリをいじっていたら、自明な一点参照の実装である`prefix_sum`の差から導出する手法が改善できた[^1]ので、考察の過程と実装結果を紹介します。[^1]: 車輪の再発明ですが、考察の過程がほかの人の理
【Python】ABC086A – Product のコード解説と反省
## はじめに
この記事では、AtCoder Beginners Selection の ABC086A Product について解説します。
自分のコード理解・反省のために書いておりますが、同じように理解につまづいている方の助けになれば幸いです。## 問題
詳細は[こちら](https://atcoder.jp/contests/abs/tasks/abc086_a)をご覧ください。
## 解法の考え方
* 入力は`a b`の形で与えられるため、変数`a`と`b`を用意し、与えられた文字を`split`メソッドで分割してそれぞれに代入する。* `if`文で偶数を**Even**、奇数を**Odd**と表示させればよいため、2で割ったときのあまりが0(=偶数)の場合を条件式とする。
※ `a * b % 2 != 0`でも`a * b % 2 == 1`でも良いとは思いますが、自分がパッと見てわかりやすいものを選択するようにしましょう。## 模範解答
“`python
a, b = map(int, input().split())
print(“Even” if
情報Ⅱ 身近な例をpythonでコード化してみようの巻
あ
スクレイピングした画像にタイトルやコメントなんかを設定しておく piexif
# この画像どこのだっけ
Webサイトから画像を一括で取得するのに便利な[スクレイピング](https://www.sbbit.jp/article/cont1/71102)ですが、後々その画像をどのURLから取得したかを知りたくなるときがあります。
**いちいちメモ帳などに保存しておくのもめんどくさい…**
ということで画像のここら辺に保存しておこうというのが今日やろうと思うことです。
![スクリーンショット 2024-07-19 220509.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3549938/827cea7b-717b-5732-13b1-d04e0eed3df9.png)
**※今回紹介するコードはJPEG形式の画像しか対応しておりません**
# 画像に情報を付加するExif
上記の画像はWindowsで画像のプロパティを開いたときに出てくる表示です。これらの情報は[**Exif**](https://wa3.i-3-i.info/word120.html) と
Python `typing.Union`と`typing.Optional`で柔軟な型ヒントを書く
## はじめに
Pythonの型ヒントは、コードの可読性を高め、潜在的なバグを早期に発見するのに役立ちます。特に`typing`モジュールの`Union`と`Optional`を使うことで、より柔軟で表現力豊かな型ヒントを書くことができます。この記事では、これらの使い方と利点について解説します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2648069/baeee174-2876-2096-4534-88ec31dd5d01.png)
## `typing.Union`とは
`Union`は、複数の型のいずれかを取り得ることを示すために使用します。
“`python
from typing import Uniondef process_data(data: Union[str, int]) -> str:
return str(data)# 使用例
print(process_data(“Hello”)) # 出力: Hello
print(proce
numpy.cov(X.T) 分散共分散行列について
## 背景
dataframeをndarrayへと変換した後、分散教分散行列を求める方法が調べても見つからなかったため、以下に方法を示す。
(見つからなかっただけで、絶対にどこかの記事に書いてあると思う…)## 分散共分散行列
“`python
import numpy as np
x = np.array([1,2,3,4,5,6,7,8,9])
y = np.array([9,8,7,6,5,4,3,2,1])
“`上記のデータxおよびyの分散共分散行列はどのように求めることができるだろうか。
“`python
np.cov(x,y)
“`![スクリーンショット 2024-07-31 20.37.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3845905/02c1ae0f-2e52-5509-2390-ab196603e563.png)
上記の通り書くことで分散共分散行列を求めることができる。
では、一方で以下のようなデータの場合どうだろうか。“`pytho