Python関連のことを調べてみた

Python関連のことを調べてみた

DeepL API FREEを使ってみて感想やらなんやら書いてみる

# 前書き
経済系の学部4年生で、ITコンサルから内定をいただいております一般大学生です。
卒論でニューラルネットを使ってみたく、先行研究を探していたらあまりにも英語の文献が多くて(~~めんどくさいなあ~~)大変だなと思っていました。そんな時にDeepLがAPIを無料で出していることを知り、試してみました。備忘録もかねて、感想と実装方法を記載しておこうと思います。

※**私は開発経験もなく、実証分析でしかプログラミングを触ったことがないため、厳密性に欠く文章かもしれません。使えればいいやくらいの発想で書いています。誤植などが万一ありましたら、遠慮なくご指摘いただけますと幸いです。**

# アジェンダ
1. DeeoLAPIとは
2. 実装
3. 感想
4. 参照

# 1. DeepLAPIとは
ドイツのDeepL社が提供しているサービスである。
https://www.deepl.com/ja/pro-api/?utm_term=&utm_campaign=JP%7CSearch%7CC%7CDSA%7CJapanese&utm_source=adwords&utm_m

元記事を表示

Azure FunctionsからBlob Storageのファイルを取得する

FunctionsからBlob Storageに保管しているファイルを取得する備忘録

# 環境
## Azure Functions
こちらの記事を参照して用意する。VSCodeでの開発環境の構築も含んでます。

https://qiita.com/t-sho/items/857f330122f9e45d7845

## Blob Storage
ストレージアカウントを新規に作成する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/534b46a3-de9d-12ed-2c79-6bfda11f5fd6.png)

詳細タブの匿名アクセスは有効にしない。ほかはデフォルトのまま作成までやる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/3f50a653-7612-4350-7d02-cd4a37fdef20.png)

# ストレージのコンテナにファイルをアップロ

元記事を表示

How to install Stable Diffusion WebUI A1111 with TensorRT

自分自身への備忘録を兼ねて、Windows環境にStable Diffusion WebUI A1111をインストールし、尚且つTensorRTをもインストールする手順書を作成しました。

TensorRTを使用するので、基本的に12GB以上のVRAMを持つnVidia製VGAを搭載しているパソコンへのインストールを前提にした記述です。

また、GeForce用のドライバーは最新のものに更新しておいてください。

Python 3.10.6以降の3.10.xバージョンとgitはインストールしている前提で以下、記述します。

まず、任意のインストール用フォルダを作成し、下図のようにそのフォルダにパスを通した状態でpowershellを起動してください。管理者権限である必要はありません。
![タイトルなし.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3661150/0cc6ee5c-4998-a8b0-5e1c-6e075d789822.png)

次に下図のように、「git clone https://

元記事を表示

BedrockとLCELでAdvancedRAGのクエリ拡張をやってみる

LLMでretrieveの前処理を行い、クエリを書き換え、または分割してからナレッジベースに対してn件のretrieveを行い、LLMで回答を生成するRAGをLCELで書いてみます。
※この記事ではretrieveの後処理は実装していません。

クエリを書き換えるがretrieveは1件のみで作った例は以下

https://qiita.com/cyberBOSE/items/fd65de9f857d36180fa5

# 参考文献

https://aws.amazon.com/jp/blogs/news/verifying-the-accuracy-contribution-of-advanced-rag-methods-on-rag-systems-built-with-amazon-kendra-and-amazon-bedrock/

https://github.com/langchain-ai/langchain/blob/master/cookbook/rag_fusion.ipynb

※上記以外にもLangChainのDocumentは色々あります。

http

元記事を表示

時系列

# 周期性の確認

## 自己相関関数
“`python
import statsmodels.api as sm

# 自己相関係数の計算
p_acf = sm.tsa.stattools.acf(daily_counts)
print(p_acf)

# 自己相関係数の可視化
fig, ax = plt.subplots(figsize=(16, 10))
sm.graphics.tsa.plot_acf(daily_counts, lags=70, ax=ax)
ax.set_title(“自己相関”, fontsize=30)
ax.set_ylabel(“相関係数”, fontsize=30)
ax.set_xlabel(“日数”, fontsize=30)
ax.tick_params(labelsize=25, width=4, length=10)
plt.grid()
“`

## パワースペクトル
“`python
from scipy.signal import argrelextrema
plt.rcParams[‘figure.figsize’] = [

元記事を表示

VSCodeで現在のファイルをデバックする: Python

# 目的

VSCodeのデバッグ機能を使用して、現在開いているファイルをデバッグしたい。

# つまづきポイント

sys.pathがディレクトリ全体ではなく、そのmoduleが存在するパスしか読み込みません。なので、自作moduleをインポートする場合importエラーが出ます。

例えば、以下のようなディレクトリ構造で、retriever.pyからutils.normalize_text.pyをインポートするとエラーなります。

“`text
├── keyword_retriever
│ └── retriever.py
├── utils
│ └── normalize_text.py
“`

“`python
from utils.normalize_text import normalize_documents
“`
importエラーが発生
“`
例外が発生しました: ModuleNotFoundError
No module named ‘utils’
File “/usr/src/app/keyword_retriever/retriever

元記事を表示

生成AIは抽象度を変えて返事するのが苦手だよね

技術的な質問に答えるときに、質問そのものには回答していないけど、ひとつ抽象度高めの観点からアドバイスをすることってありますよね。

例えば今日あったのが、
「PythonコードをLangChainのTextSplitterで分割したいとき、separatorはどのように書くべきですか?」
と聞かれて、
「RecursiveCharacterTextSplitterのfrom_languageメソッドの引数でlanguage=Language.PYTHONとするのが楽で良いと思います」
と答えました。

この私の回答って、質問自体には答えてないんですよね。separatorの書き方を答えていないので。
でも、質問の内容からそもそもの問題を推測して、それに答えるためにひとつ抽象度高めの観点から回答しています。
こういうやりとりって生成AIって苦手だよなーと思った次第です。

実際LLM(GPT-4o)に聞いてみたところ、具体的にseparatorに書くべきコードを教えてくれました。
これはこれで間違ってないし有益だけど、質問に回答するだけが質問に回答することじゃないよなー(?)と思いました

元記事を表示

PythonからPDALを呼び出してDEM作成

# はじめに
[PDAL](https://pdal.io)と呼ばれる航空機LiDARで取得した点群向けのソフトウェアがあります。このPDALはコマンドライン上で引数を渡して点群処理を行うのが一般的な使用方法ですが、Pythonから呼び出せます。
今回は、PythonからPDALを呼び出して点群からデジタル標高モデル(DEM)を作成する方法を共有します。

# コマンドライン上での処理方法
PDALはjsonに処理対象のファイルや、点群処理の内容を記述するのが一般的なやり方です。
今回は、点群から地面の点群だけを抽出してDEMを作成します。
この場合のJSONは以下のように作成します。
“`json:pipeline.json
{
“pipeline”: [
“./08ME3552.las”,
{
“type”:”filters.expression”,
“expression”:”Classification == 2″
},
{
“fil

元記事を表示

クラスでVertex AIのファインチューニング済みコードチャットモデルにリクエストする

## 背景

最近、Vertex AIのモデルをファインチューニングする機会がありました。
回答精度を上げるために、条件を変えて学習させた複数のモデルを比較していました。
Vertex AIでは、各モデルにリクエストするためのPythonサンプルコードが提供されていますが、このコードは抽象化されておらず、各モデルの管理が難しいと感じました。

そこで、デプロイしたモデルごとにモデル情報を管理するクラスを作成すれば、モデルの比較が楽になると考えました。
今回は、Vertex AIのサンプルコードを参考にして、Pythonでクラスを作成してみました

## 前提条件
ファインチューニングしたモデルがデプロイされていることが前提です
また以下を実行し、`~/.config/gcloud/application_default_credentials.json`を生成する必要があります
“`sh
gcloud auth application-default login
“`
## リクエスト先のモデルを管理するクラス

“`python:requester.py
import vert

元記事を表示

Flask – 個人的NOTE / 公式DOC>Tutorial (Templates~BlogBluePrint) 2/3

# Templates
render_template()でhtmlファイルを呼び出している。
このhtmlファイルはflaskrパッケージの中のtemplatesディレクトリに保存する必要がある。

### Jinja template
Templatesフォルダには、静的また動的なデータファイルがありtemplateはその中のデータと共に最終的なドキュメントを作成する。FlaskではJinjaというtemplate ライブラリを用いている

[・Jinjaの詳細ページ](https://flask.palletsprojects.com/en/3.0.x/tutorial/templates/#:~:text=Flask%20uses%20the-,Jinja,-template%20library%20to)

今回のアプリケーションの中では、ブラウザ向けのHTMLファイルにレンダリングするためにtemplatesフォルダを用いる。

**自動エスケープ機能**
Flaskではユーザが入力した値で の様にHTMLを混乱させる様なものがあっても安全な値に置換してくれる

元記事を表示

MagicAnimateをUbuntuで動かす

# この記事を読むと何がわかる?
Magic Animateを使って、自分で用意した人物の静止画を、自分で用意した動画の動きで動かす方法が分かります。

**用意するもの**
・人物が写った画像1枚
・人物の動きを表現する動画1つ

**出来上がるもの**
・画像の人物が、動画の動きをする動画

# 時間のない方へ
いろいろやったらこんな感じでできました。
![gird.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3746743/56e89ce8-26ca-2845-b5f8-ba9f3b5620bc.gif)
左の静止画と真ん中の動画を入れると、一番右の動画が出力されました。
これ以降の文章は、なるべく手短にこれをお手元のPCでこれを再現する手順をご説明いたします!

# そもそもMagic Animateって何?

拡散モデルベースの人物画像のアニメ化のフレームワークです。
 ・時間的一貫性の向上
 ・参照画像の忠実な保持
 ・アニメーションの忠実度の向上
が特徴です。CVPR2024でこの技術の

元記事を表示

[自分用メモ]Google Colab ProでどのGPUを使えばいい?

#### 背景

現在Kaggleのコンペに参加していて、KaggleのNotebookに参加しています。
Kaggle NotebookだとGPUの処理速度に限界を感じた為、Google Colab pro(月額約1,100円)に課金。処理速度を上げるべくGPUを使用するよう設定変更を行いました。

#### 各GPUによって処理時間がどう変わるのか
最強GPUはA100とのことでまずは設定。
Kaggle NotebookをGoogle Colabで開くことで自動生成される、以下のコードを各GPUで実行してみた・

~~~
# IMPORTANT: RUN THIS CELL IN ORDER TO IMPORT YOUR KAGGLE DATA SOURCES
# TO THE CORRECT LOCATION (/kaggle/input) IN YOUR NOTEBOOK,
# THEN FEEL FREE TO DELETE THIS CELL.
# NOTE: THIS NOTEBOOK ENVIRONMENT DIFFERS FROM KAGGLE’S PYTHON
#

元記事を表示

COVID-19とU-NEXTのGoogle Trendデータを用いた時系列解析

Googleトレンドでは過去5年間分の人気度データを見れます.
コロナによる行動変容を見る上で,ある時系列データをSTL分解して,ある時系列データへのグレンジャー因果性を見たいなーと思って作りました.

①Google Trendで調べたいワードを過去5年分のデータで探す.日中はサーバーが重いのかよくエラーになるのでF5連打しているとそのうち表示される.

②得たcsvデータを以下の画像のように加工.(上2行を消し,未満という文字が入っているところがあったら未満を消す)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3064963/3fa5a53d-b308-d98a-d7f4-69944031908f.png)

③以下のプログラムを回す

“`python
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.seasonal import STL

Data1=pd.read_csv(‘C

元記事を表示

JSONパーサー作る(逆ポーランド記法を使用)

# JSONパーサーを逆ポーランド記法を使用して作成する
JSONのパーサーを作成します

* 構文解析
* 逆ポーランド記法へ変換
* 逆ポーランド記法からJSONデータを作成

この順番で実行していきます

前回逆ポーランド記法を作成してみたのですが、逆ポーランド記法はJSONパースにも使えるのでは?と思ったので実装してみました
[前回の記事](https://qiita.com/ikuo0/items/561ade15966fde1130ce)

# 設計
基本的には中置記法を逆ポーランド記法にするロジックを使いまわします
配列([])、辞書型({})については関数として扱います

中置記法を逆ポーランド記法のロジックそのままで作成すると、配列と辞書型は順序を保つのが困難だったり、要素数が0個~1個の時に解析不能となったりするので [], {} が現れた時は「配列を作成する関数である」と解釈して作成します

## 配列の処理

“` [1, 2, 3, 4] “`
という配列は逆ポーランド記法で記載し
“` 1 2 3 4 4 [] “`
という表現とします
1 2

元記事を表示

音声認識APIを用いて動画データからLLM用の発言データセットを作る

## はじめに
2024/04/10〜2024/05/21の期間で音声認識APIの記事執筆キャンペーンが開催されています。

https://qiita.com/official-events/23333339b694ca71810a

今回は上記音声認識APIを用いてYoutubeの動画を文字起こし、LLM用の発言データセットを作ってみたいと思います。

## 前提: AmiVoice API
音声をテキストに変換する音声認識APIであるAmiVoice APIを使います。

AmiVoice APIを使えば音声対応可能なアプリケーションを作成できるのが特徴です。(今回は音声認識アプリを作る訳ではありませんが。)

また今回詳細は触れませんが、複数音声からの話者推定機能や感情分析機能などがあります。

https://docs.amivoice.com/amivoice-api/manual/

## 動画データの準備

今回は先輩である「北サブ」さんに、データの提供を全面的にご協力いただいています。
北サブさんの直近の動画はドライブメインです。

https://www.yout

元記事を表示

マルコフ連鎖で遷移(ランダムウォーク)するプログラム

前回マルコフ過程のプログラムを作って確率を出すまでやりました。

https://qiita.com/murasaki1994/items/86d1c4adada224b0c545

そのため今度はその確率から遷移するプログラムを作ってみました。

# 関数
## マルコフ過程
“`Python3
import pandas as pd
def marcov(arr):
dic = {}
for i in range(1, len(arr)):
if arr[i-1] in dic:
if arr[i] in dic[arr[i-1]]:
dic[arr[i-1]][arr[i]] = dic[arr[i-1]][arr[i]] + 1
else:
dic[arr[i-1]][arr[i]] = 1

元記事を表示

SUUMOにて割安賃料物件を見つけよう_アプリ作成編

![suumo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2664262/abb34c4e-889e-71ee-7a36-257fedaa8146.png)
# 概要
SUUMOにて割安な賃料物件を探しました。

#### 調査の流れ
調査は以下の3つに分割しました。
1. [データ基盤構築編](https://qiita.com/delta_K/items/ed61b64048cfb86083b5)
2. [モデル作成編](https://qiita.com/delta_K/items/9b8b09d44e352c728f90)
3. [アプリ作成編](https://qiita.com/delta_K/items/2579d99966d3d7bc7df2)(今回の記事)

# アプリ作成編
以下のアーキテクチャ図の構成でモデルの挙動の可視化をするアプリを作成しました。

![SUUMO_賃料予測ツール.drawio.png](https://qiita-image-store.s3.ap-n

元記事を表示

データセットを使ってみる

# はじめに
bdrccです。
データ分析に関心がある、職業訓練生です。
Pythonに関する記事(備忘録?)、初めてあげてみます。

# 背景
GW明けにPython3エンジニア認定データ分析試験を受験し、合格しました。
その後、何かを分析してみたいとデータを探し、下記記事・サイトを発見しました。

https://qiita.com/mitamura/items/3dba898eafb8ae39670c

【保存版】オープンデータ・データセット100選 -膨大なデータを活用しよう!

その中で、[UC Irvine Machine Learning Repository](https://archive.ics.uci.edu/) に遭遇。

復習しながら、使ってみます。

# 目的
1. UC Irvine Machine Learning Repository 内のデータセットの使い方を知る
2. Pythonの分析(特に、ランダムフォレスト)を復習する

# 環境
### 言語
     Python 3.10.6
### モジュー

元記事を表示

Google Colabでstreamlitを動かす方法

## 本日のお悩み
Google Colabでstreamlitアプリを動かしたい

## 本日の処方箋
`ngrok`を使用してurlを取得して動かす

### 以下手順を記載

* ngrokのアカウントを作成し設定する

* ngrokへアクセスしgithub経由でアカウントを作成しAuthtokenを取得
* ngrokのHPは[こちら](https://ngrok.com/)
ngrokで、接続するために必要な「Authtoken」を設定。
以下のコードの、
!ngrok authtoken YourAuthtoken
における
YourAuthtokenの箇所を、自分のAuthtokenに置き換える。

* “`sh
!ngrok authtoken YourAuthtoken
“`

* アプリの起動

+ streamlitのrunコマンドでアプリを起動
+ “`sh
# (&>dev/null&)で出力を表示させず、バックグラウンドで実行する
!streamlit run app.py &>/

元記事を表示

PythonでGithubのリポジトリの特定のディレクトリ直下にあるファイルを全て取得してローカルに保存する

ファイルを取ってくる時は `https://github.com/~`じゃなくて`https://raw.githubusercontent.com/~`なんですね。

URLが分かれば直打ちで取ってくることはできたけど、`ディレクトリ内のファイルをリストで取得する`という点に苦戦してネット調べてみたら [`PyGithub`](https://github.com/PyGithub/PyGithub) という便利なOSSがすでにありました。

# お試し一式
コードや試し方はこちらをご参照ください。

https://github.com/yagrush/python-get-filelist-from-github

元記事を表示

OTHERカテゴリの最新記事