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

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

非自己回帰型の Mask Predict 画像キャプショニングプログラムにおいて、CTCLoss を導入して学習を行い、良い精度を得ました。

## 新しい仕組みを試してみた理由と工夫点。

画像キャプショニングに Mask Predict を導入して学習、推論を行って、一定の精度を得たことを、記事

https://qiita.com/toshiouchi/items/dbe7b923b11ad2e595e2

で報告した。ここから、非自己回帰型で精度の改善ができないかということを模索していた。downsample による学習、推論

https://qiita.com/toshiouchi/items/b991d3ada79f0e1f6ce5

の改良を試みたが、うまくいかなかったため、Mask Predict を基本に改善できないか考えたところ、Mask Predict で推論する場合、キャプションの長さの予測に推論結果が依存することに思い当たった。CTCLoss を使えば、この長さ予測による推論への影響が少なくなるのでは、と考えた。そこで、Mask Predict であるが、損失の計算に CTCLoss を使う方法を考えた。二つの工夫が必要であった。一つ目は、デコーダーの q 入力(target 入力)である capt

元記事を表示

AudioCraftを用いてテキストから効果音を生成する🎶

# はじめに
今回はMetaのAudioCraftを用いてText to Audioを試してみたいと思います!
ChatGPTを台頭にGAI(General AI)が流行しており,画像や動画,テキスト間で自由に生成をすることが可能になっています.もちろん音もその対象であり,様々なモデルが公開されています.
しかし,調べてみると,意外とText to Speechのものが多く,音楽や効果音を生成するのではなく,テキストの読み上げを行うものが多いです.

:::note warn
このSpeechやAudio(Sound)の定義は曖昧で,モデルによってAudioと書かれていてもSpeechに該当するものなどがあります(ここではAudio = 効果音とします).
:::

代表的なText-to-Audioツールとして以下のものがあります
– [stale-audio-tools](https://github.com/Stability-AI/stable-audio-tools)
– [AudioLDM2](https://github.com/haoheliu/AudioLDM2)

元記事を表示

動画を画像・画像を動画に変換 | Python

# はじめに
研究で動画をイベントデータに変更したいという場面がありました。
その際、直接動画をイベントデータに変更できるものもあれば、画像からイベントデータに変更するものもありました。
そこで、動画と画像を自由に変換できるプログラムを作成しました。
また、pythonに慣れたいというモチベーションもあったので、今後も使う機会のありそうなツールをpythonで作成しようと思いました。

# Video2Frame
作成したプログラムが以下になります。
最初は動画をフレーム画像に変換する目的だったため、Video2Frameと題しましたが、後からFrame2Video機能も実装しました。。

https://github.com/ryhara/Video2Frame

### 機能
主に以下の機能があります
– **video2frame**
動画をフレームごとに切り出して、画像として保存します。
– **frame2video**
1つのディレクトリにある複数の画像から動画を作成します。画像は名前順で使用されます。
– **cut**
開始時間と終了時間を指定して、その間のみを動画とし

元記事を表示

[Python] 導入・便利ツール紹介 [初学者向け] 2024年

![Python%E5%B0%8E%E5%85%A5%E8%A8%98%E4%BA%8B%E3%82%B5%E3%83%A0%E3%83%8D.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3682370/836ec3ad-2f95-68ec-2faa-6c131e673344.png)

## 概要

– Python 入門者であっても、わかりやすい内容でまとめる
– Python とは何か
– Python 導入 (ダウンロード) 方法
– Python 使用 / 便利ツールまとめ

## [ Python ] とは

– 1991年に初めて公開されたプログラム言語
– Google、Yahoo!、Instagram、Pinterest などのサービスも、2000年ごろから Python を採用している

### 導入方法

– Python ダウンロードページにアクセスする
– URL : [https://www.python.org/downloads/](https://www.p

元記事を表示

初心者向けのTensorflowオブジェクト検出

# 概要

TensorFlowのオブジェクト検出モデルをダウンロードし、一般的なコードをスクラッチから実装します。任意の画像を入力として、実装したコードを実行することで、画像内の物体を検出することを目標とします。

初心者向けのチュートリアルとして作成されたYouTube動画を参考にしています。

# 動作環境

Google Colaboratory

# 前準備

[coco.name](https://github.com/haroonshakeel/real_time_object_detection_cpu/blob/main/model_data/coco.names)ファイルをダウンロードします。
このファイルには、オブジェクト検出モデルによって検出されるクラス名が含まれています。

動画で説明されている通り、coco.nameの1行目に`__Background`を挿入します。

#

元記事を表示

Postfixのキュー監視

“`monitor_postfix_queue.py
import json
import csv
from pathlib import Path
from datetime import datetime, timedelta
import re
import subprocess
import sys
import os
import socket
import logging
import argparse
from collections import Counter
from shutil import copy2

BASE_DIR = Path(__file__).resolve().parent.parent
LOG_DIR = BASE_DIR / ‘log’
DEF_DIR = BASE_DIR / ‘def’
TMP_DIR = BASE_DIR / ‘tmp’

POSTQUEUE_J_01_FILENAME = “postqueue-j_01.json”
POSTQUEUE_J_02_FILENAME = “postqueue-j_02.json”

#=

元記事を表示

sphinxで生成したhtmlファイルに、検索エンジンから検索されないようにするためmetaタグを追加する

# 環境
* Python 3.12.1
* sphinx 7.2.6

# やりたいこと
sphinxでHTMLを生成しています。
生成したHTMLはインターネット上に公開していて、誰でもアクセスできる状態です。
しかし、検索エンジンからは検索されないようにしたいです。

# 現在の状態

“`
$ tree
.
├── Makefile
├── _build
├── _static
├── _templates
├── conf.py
└── index.rst
“`

“`python:conf.py
project = ‘test’
copyright = ‘2024, yuji38kwmt’
author = ‘yuji38kwmt’

extensions = []

templates_path = [‘_templates’]
exclude_patterns = [‘_build’, ‘Thumbs.db’, ‘.DS_Store’]

html_theme = ‘alabaster’
html_static_path = [‘_static’]
“`

元記事を表示

BedrockのナレッジベースでRAGを実装し、資料を元にした回答をClaude 3にLambda経由でしてもらった(ベクトルストアはAurora)

[Supership](https://supership.jp/)の名畑です。たくさんの思い出を生み出してくれた中野のシンボルとも言える中野サンプラザとのお別れイベントである[中野サンプラザプロジェクションマッピング](https://www.city.tokyo-nakano.lg.jp/kanko/city-promotion/0686357420231212172102894.html)、とても素晴らしかったです。別れを惜しみながらも、再会を楽しみに待っております。

## はじめに

前に「[LambdaでBedrockのClaude 3を呼び出してみた](https://qiita.com/nabata/items/5bcc3beb76182f626040)」という記事を書きました。[Anthropic](https://www.anthropic.com/)による**LLM**である[Claude 3](https://www.anthropic.com/news/claude-3-family)を[AWS](https://aws.amazon.com/jp/)の[La

元記事を表示

Databricks Serverless SQL のすゝめ

![plotly – app.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2789179/d0290486-2376-0a26-808d-553589d13585.gif)
> Databricks の SQL Warehouse – Serverless を使用したWebアプリケーション例

# 目次
– [はじめに](#はじめに)
– [ Databricks の SQL Warehouse とは?](#DatabricksのSQLWarehouseとは?)
– [ServerlessSQLの推しポイント](#ServerlessSQLの推しポイント)
– [起動時間が早い](#起動時間が早い)
– [パフォーマンス最適化の機能が充実している](#パフォーマンス最適化の機能が充実している)
– [コストパフォーマンスが高い](#コストパフォーマンスが高い)
– [使い始める](#使い始める)
– [活用例](#活用例)
– [おわりに](#おわりに)

# はじめに
皆様は

元記事を表示

ABICを用いて増減法でパラメータ選択を行う重回帰分析用ソフト

ABICを用いて増減法でパラメータ選択を行う重回帰分析用ソフト。
そのpython版がほぼ固まりつつあります。
関心のある方はRes:してください。
その数によって、ソースをupするかどうか決めます。
------
このソフトは、特定の医療検査項目の測定の異常を検出する目的で作ったBASICのそれがベースにあります。
百項目近い検査データ相互の関連から、検査結果の異常や一見正常に見える結果を示している病的異常を検出しようとするものでした。
検査項目1つをチェックする重回帰式に必要な説明変数は1つから多くて数項目。
ただその項目を全項目について、各々百項目近い中から探さねばなりませんでした。
40数年前の8-bit-PCとしては莫大な計算量です。そこでこの仕様となった次第です。
このソフトでは検査項目の方がサンプル数よりも多いことも想定されています。
ABICが変数増減法で最小になれば、そこで説明変数の捜索は打ち切られます。
モデルが過学習になる前にパラメータの増加が打ち切られるのです。
なお、開発当初のものはAICを用いていました。
それは、今振り返ると過学習をしていたことがよくわかり

元記事を表示

マイクラサーバーをディスコードBOTから起動、終了出来るようにした

# 初めに
マイクラサーバーを自分のPCに立てたけど、複数人でやるとき自分がいちいちPCで起動、終了コマンド打つのめんどいなーと思ってこの記事を書きました。24時間鯖起動は電気代的にちょっと…って人向けです。
*PCは24時間起動で常に自分のディスコードBOTが動くことを想定しています。
*マイクラ以外でも同じPCで実行するものなら何でもできます。
## この記事でできること
– ディスコードでコマンドを入力すると自動的にマイクラ鯖が起動、終了します。
– いま鯖が起動しているかどうかもコマンドで確認できます。

もし起動コマンドを2連続で打っても1回しか起動しませんので安心してください。

### この記事で解説していないこと
– マイクラ鯖の構築方法

## サーバー起動シェルスクリプト作成
みなさんが普段入力しているサーバーの起動コマンドがあると思いますので、コマンドを記述したシェルスクリプトファイルを作成します。
僕の場合のコマンド↓
“`
java -Xms20G -Xmx20G -jar mohist-1.20.1-550-server.jar
“`
以下にsh

元記事を表示

Python で ACLibrary の modint を再現するために C++ Template もどきを作って CRTP もどきで実装した話

# 経緯いきさつ

筆者は普段 C++ を使っていますが、今日はエイプリルフールなので Pythonista になりました。
なので、 Python の記事(?)を書きます。

# C++ と Python で modint クラスを作る話

私の所属する競プロサークルで C++ と Python の競プロライブラリを作ることになりました。
とりあえず modint は必要だろうということになり、私がその担当になりました。

「みんな ACLibrary の modint に慣れてるだろう」と思った私は、 ACLibrary の `atcoder::static_modint` および `atcoder::dynamic_modint` と同じようなインターフェースで作ることにしました。

# CRTP で modint を実装した話

まずは C++ 版。
`static_modint` と `dynamic_modint` はほとんど同じなので、2回実装するのは面倒です。
しかし、継承を利用して基底クラスに実装すると、計算結果が基

元記事を表示

内なる自分を可視化してみた(画像生成AI)

## 内なる自分
日常の中で、私は時折、自分の内なる心の声と実際の発言で食い違う瞬間がありますよね。まるでアニメのように、内なる自分がリアルな世界に登場するとしたら、それは一体どんな風に表現されるのでしょうか?

今回は、内なる自分がどのような姿なのか、画像生成AIを用いて可視化してみました。

内なる自分は、自分の姿と性格を反映していると仮定し、自身の写真と[性格診断(MBTI)](https://www.16personalities.com/ja/ “MBTI”)の結果をもとに画像生成した姿を内なる自分としました。

↓の画像が生成した私の内なる自分です。

## 開発環境
Google Colab
python 3.10.12

## 画像生成
[日本語版Stable Diffusi

元記事を表示

Jupyter Labを使用する

## Jupyter Labとは

Webブラウザ上でPythonのコードを記述・実行できるツール
ちなみにJupyterNotebookはLabの前任(できることは同じみたい)

## 手順

インストールの仕方は色々あるようだが、今回は以下の手順で実施。

### 1. Pythonインストール

3系のPythonをインストールする。

https://www.python.org/downloads/

### 2. Anacondaインストール

Anacondaをインストールする。
※Anacondaとは、Pythonなどの言語を用いた特定のタスク(データサイエンスや機械学習など)を助けるために集成されたツールとライブラリのパッケージのこと。

Free Download

### 3. 起動

AnacondaをインストールするとAnaconda Navigatorを使用できるようになるため、起動する。

起動後の画面でJupyterLabのLaunchを押下
![image.png](https://qiita-image-sto

元記事を表示

Python 3 エンジニア認定データ分析試験 用語一覧

## 試験概要/出題範囲

以下参照

Pythonのプログラミングお作法

出題範囲(主教材)は「Pythonによるあたらしいデータ分析の教科書」

## 1章 データ分析エンジニアの役割

### データ分析

| 用語 | 説明 |
| – | – |
| データ分析 | データをもとに事象の予測や分類を行う技術 |
| データ分析に利用される言語 | Python、R、Julia、Excel VBAなど |
| Pythonの特徴 | 言語としての仕様がわかりやすい、コンパイル不要な動的スクリプト言語、豊富な標準ライブラリと外部のパッケージ、データ分析以外にも応用範囲が広い、オープンソース |
| Pythonが得意とする分野 | データ分析、サーバ系ツール、Webシステム構築、IoTデバイス操作、3Dグラフィックス |
| Pythonが苦手とする分野 | Webアプリなどのフロントエンド、デスクトップGUI、低レイヤー処理、大規模かつミッショ

元記事を表示

[Python, chatGPT] 非同期処理がよく分からなかったのでchatGPTに聞いてみた

# はじめに
筆者は去年4月にIT系の企業に入社したばかりの、新米ITエンジニアだ。
情報系のバックグラウンドもなく、大学院にいた頃の研究分野は全く関係ない分野で、プログラミングも趣味や研究で軽く触れた程度だ(よく入社できたな)。
何が言いたいかというと、この記事はプログラミング初心者が書いた記事なので正確性等は保証できないという話だ。

## 記事執筆の経緯
業務や社内の勉強会など色んな場面で「非同期処理」という言葉を聞くようになった。研修でもやった気がするが、その場では理解できず、復習する時間も取れなくてそのまま放置になっていた。
流石に理解しとかないとマズそうだなと思い、本記事の執筆に至る

## chatGPTに聞いてみた
というわけで本題。「非同期処理」を理解しよう!
ただ、今までも非同期処理そのものをググったりchatGPTに聞いたりしたことはあったのだが、いまいちパッと理解ができなかった記憶がある。
そこで、「プログラマたるもの手を動かしてなんぼっしょ」ということでchatGPTに非同期処理の振る舞いを実感できるコードを書かせて、それを実際に動かしてみた。

### 投げ

元記事を表示

FlaskでAPIを作って、受け取ったデータをGoogleスプレッドシートに書き出す

# つくるもの

Pythonで取得したデータを順次GASに返却し、GAS側で受け取ったデータをスプレッドシートに書き込む。
GASには時間制限があるため、開始位置と終了位置を指定し、細かく区切って返却するようにする。

– Flask側アプリ
– Flaskで作成
– Herokuで公開
– 処理内容:開始位置と終了位置を受け取りデータ(今回は仮データ)を返す
– GAS側
– 実行時、開始位置と終了位置をFlaskアプリに投げ、受け取ったJSONデータをGoogleスプレッドシートに書き込む
– 一回の実行で10ずつデータを受け取り、50受け取るまで繰り返し実行する

# 環境
– MAC
– Python 3.11.3
– Flask 3.0.2

# Flask側アプリの作成

### flaskのinstall

“`
pip install Flask
“`

### 開発フォルダの作成

“`
mkdir my-test-api
cd my-test-api
“`

### APIの作成

pythonファイルのファイル名は

元記事を表示

【生成AIアプリ100チャレンジ】(8)アイコン生成アプリ

https://ai.nuevo.jp/icon/
ユーザーのみ

# 開発環境

| | |
|:————:|:————:|
| Server | lightSail |
| Language | Python3.11 |
| Framework | Django |
| DB | sqlite3 |

ローカル環境ではPythonのvenvを使用。エディタはvs codeです。

# 目的
トップページのアイコンがあまりに統一感がないので、統一感が出るようにプロンプトを作成した。
日本語よりも英語の方が精度がアップするだろうと考え、イメージのみDeeplで英語に翻訳している。
フォームはセレクトボックスにして、固定。
プロンプトにもプレースホルダーを設置し、変数を外から挿入できるようにした。

# コード
“`python:qiita.rb
@login_required
def index(request):

元記事を表示

Pythonで〇×ゲームのAIを一から作成する その68 ipywidgets と ipympl の使い方とイベント駆動型プログラミング

# 目次と前回の記事

https://qiita.com/ysgeso/items/2381dd4e3283cbed49a0

https://qiita.com/ysgeso/items/8ac83f1b50b2706b8319

## これまでに作成したモジュール

以下のリンクから、これまでに作成したモジュールを見ることができます。

https://github.com/ysgeso/marubatsu/blob/master/068/marubatsu.py

https://github.com/ysgeso/marubatsu/blob/master/068/ai.py

## ルールベースの AI の一覧

ルールベースの AI の一覧については、下記の記事を参照して下さい。

https://qiita.com/ysgeso/items/10d1d01192c014173e4b

# 〇×ゲームの GUI の入力機能

前回の記事では、〇×ゲームの __ゲーム盤__ を __画像で表示__ するという、__GUI__ の __出力機能__ を __実装__ しました

元記事を表示

ABC-071 B – Not Found 解説

# あいさつ
皆さん、こんにちは&お久しぶりです!
今回はABC-071のB問題「Not Found」について解説していきたいと思います!
(https://atcoder.jp/contests/abc071/tasks/abc071_b)

# 目次
– 問題概要
– 制約
– 入力形式
– 解説

# 問題概要
英子文字からなる文字列 $S$ が与えられる。
$S$ に登場しない英子文字のうち、辞書順最小のものを出力せよ。
$S$ にアルファベットすべてが登場している際には `None` を出力せよ。

# 制約
$S$ の長さは $1~10^5$
$S$ はすべて英子文字。

# 入力形式
“`text:input.txt
S
“`

# 解説
今回必要なのは 「$S$ に含まれているアルファベットが何か」のみです。
そのため、$S$全体を記憶しておく必要はありません。
$S$の入力を終えたらsetに入れてしまいましょう。

下記の例のように、本問では「Sにはa,cのみ含まれている」という情報のみが必要なので、setを利用しても問題ないことがわかります。
`ccccccaa

元記事を表示

OTHERカテゴリの最新記事