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

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

Djangoのライブラリ「i18n」を使用した翻訳の流れ

# はじめに
最近Djangoを使った案件で画面の翻訳を行うことがあったので備忘録としてまとめます。

# やること
Djangoのテンプレート(HTML)内のメッセージを日本語から英語(指定した翻訳)に切り替える

# 必要な環境等
・Visual Studio Code
・Python
・Django(環境構築がされている前提)

# 手順
#### 1.「setting.py」の設定
下記設定を「setting.py」に行う。
 ①MIDDLEWAREに「django.middleware.locale.LocaleMiddleware」を追加する(追加する場所には注意!)
 ②LANGUAGE_CODE(デフォルトの言語)を設定する
 ③翻訳とロケールの日付のフォーマットを設定する
 ④LANGUAGESパラメータを設定する(ここで翻訳に使用する言語を指定する)
 ⑤翻訳ファイルのディレクトリパスを設定する(LOCALE_PATHS)

#### 2.「urls.py」でルーティングの設定
・「urls.py」に「i18n_patterns」をインポートする
・ルーティングの

元記事を表示

Seleniumでの明示的待機と暗黙的待機の使い分け

## はじめに
Seleniumでの明示的待機と暗黙的待機の使い分けに関しての備忘録です。
初心者です😅
間違えてる部分多々あると思います。
もし見つけた場合、ツッコミいただけると助かります🙇

## 🦁**結論**🦁

# 基本は「明示的待機」を使う

:::note info
明示的待機と暗黙的待機の違い
* 「明示的待機」は特定の条件の成立を待つ。
* 「暗黙的待機 」はすべての要素検索に一律の待機時間を適用して待つ。
:::
***

:::note warn
明示的待機を使う時
* ページが表示完了するのを待機
* ポップアップやモーダルウィンドウの待機
* ファイルダウンロード完了の待機
* 特定の状態までの待機(例:チェックボックスがチェックされる、ドロップダウンリストで特定のオプションが選択されるなど)
:::

***

:::note alert
注意点
* 明示的待機と暗黙的待機を同時に使用すると、予期しないタイムアウトやパフォーマンスの問題が発生する可能性がある。
* 明示的待機はより柔軟で信頼性が高いため、特定の条

元記事を表示

Gemini Pro APIを使ってみる

Googleが出してきた[Gemini Pro API](https://ai.google.dev/)が気になったのでPythonでAPIを使ってみました。

![スクリーンショット 2023-12-14 14.14.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14768/0d56ab49-d047-806b-eec1-0df15c3efca7.png)

# サンプル

https://gemini-st.streamlit.app/

![スクリーンショット 2023-12-14 15.12.58.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/14768/35f393b9-41fe-037b-e5ca-0fc180de0845.jpeg)

適当な車の画像を入れただけなのに、やたら詳しいですね…(全て正しいかはわからないけど)

※APIキーが必要です

# 前準備

## APIキーの取得

APIキ

元記事を表示

[表情検出] 笑ったら寝ろを作ろう(手抜き記事)

# 「笑ったら寝ろwww」を作りたいなと思いました。

「笑ったら寝ろwww」ってありますよね。あれ、絶対寝てないので嫌いです。寝なさい。

ということで今回は笑ったら寝てもらうためのプログラムを書きました。
必要な技術は3つ
1. 笑っていることの判断(表情検出)
2. 部屋の電気を消してあげる
3. シャットダウンしてあげる

ってなわけで技術調査からどうぞ。

## 表情検出
表情検出をする基本的なコード。岡田の笑顔が映ってますね。

これはcolabとかで動きます。
https://gist.github.com/okdshinya/f5c7aba961195804d85c35bf23fdb404

## 部屋の電気を消す

自分の書いたプログラムで家電が操作できたらめっちゃ面白くないですか?
出来ます。

### NatureRemoの宣伝
Nature Remo、小さいデバイスをUSB-Bにつないだ状態で部屋に放置すると、そいつがリモコンになってくれるってやつです。赤外線の操作を覚えてくれます。正直電池で動いてくれると嬉しいです。

欲しいなら安いやつとか、安売りしてるタイ

元記事を表示

私がチームで作成し研究室に設置した図書館システム

# 想定読者
– 大学などでゆるい図書館システムを作りたいと考えていて概要を知りたい学生

# 概要
![23-09-23track.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1255098/f6ec7911-6cdb-93d5-d405-5e856e7396b6.png)

当時学科のラウンジの自由に持って行ってよい本置き場があった。この本を誰が借りたかを把握するために作成した。
– デスクトップアプリとして作成し、本棚の近くにあるデスクトップパソコン(windows10)で稼働
– pcのBIOSをいじり、22時に自動シャットダウン、10:30に自動起動&batファイルで図書館システムを起動
# 本を借りる際にどのように使うか
1. 学生が借りたい本を選んだ後PCに接続されているICカードリーダーに学生証をかざし、システムにログインする。
1. PC上のボタンを押し、本を借りる画面に移行する
1. 借りる本のバーコードをすべてバーコードリーダーでスキャンし、完了ボタンを押す
1. 履歴テーブルに

元記事を表示

CuPyの “cannot open source file”

# CuPyのエラー

Windows11
CuDa: 11.7

仮想環境を作り
“`bash
py -m veve venv
“`

“`bash
pip install cupy-cuda11x
“`

“`python
import cupy

A = cupy.arange(9).reshape(3, 3).astype(‘f’)
“`

エラー発生
> CompileException: … : catastrophic error: cannot open source file ” cupy/complex.cuh”

# 解決法
venvのフォルダ名に全角、スペースをいれない(どちらが要因かは未調査)

元記事を表示

そのシリアルコードよこせ

# そのシリアルコードくれよ
みなさんは原神というゲームをやってますか?
やってるいらっしゃる方がいるなら下の画像のシリアルコードについては知ってると思います。(下の画像の赤丸で囲ったところです)
![serial_code.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/557059/016dd685-207c-6867-0875-e47b79ba06db.png)

これわざわざ手打ちするのはめんどうですよね?
配信とゲームを行き来して確認するのはめんどうですよね?
なんならそれ以外のコピペできないやつを引っ張ってくるのもめんどくさいですよね?

**Tesseract OCR使いましょう**

# Tesseract OCR
早速ですがコード紹介
“`python
from PIL import ImageGrab
import os,pyocr,pyperclip
def get_tool():
os.environ[“PATH”]+=”;C:\Program Files\Tessera

元記事を表示

C/GMRES法による非線形モデル予測制御の例題実装 (Python)

# はじめに
プログラミングの練習としてC/GMRES法による非線形モデル予測制御(NMPC)のコードを書いたので,何番煎じかは分かりませんが備忘録として残しておきます.制御対象は [1] 例1.1のセミアクティブダンパ,使用言語はPythonです.実装にあたっては [2] などを参考にしました.モデル予測制御や解法についての詳細は他によい文献や記事があるためここでは省きます(気が向いたら追記するかもしれません).

# 問題設定
モデル予測制御では制御周期毎に現在のシステムの状態を初期値とした有限区間の最適制御問題を解き,得られた最適入力系列の初期時刻の値をシステムへの実際の入力とすることでフィードバック制御を行う.
本記事のMPCでは各時刻$t$で以下の最適化問題を解く.(正確にはC/GMRES法は直接この最適化問題を解いているわけではなく,解の時間変化を追跡している.)

“`math
\begin{alignat}{2}
&\min_{u(\cdot)} J \equiv &&\phi(x(t+T))+\int_{t}^{t+T}L(x(\tau), u(\tau))d\ta

元記事を表示

【PokeAPI】名前に「パピプペポ」が含まれるポケモンは弱いのか?

# 初めに

私が良くyoutubeで見ている「ゆる言語学ラジオ」というチャンネルの動画を見ているとこんな一幕がありました。

“`plaintext
「濁音は強いイメージを、半濁音はかわいいイメージを与えやすい」
“`

だから、ロングセラーのお菓子の名前は`パピコ` や `アポロ`などの半濁音が入りやすいし、怪獣の名前は`ゴジラ`や`バラモン`などの濁音が入っていることが多いそうです。

https://yurugengo.com/

また、ポケモンの名前でも伝説のポケモンは`グラードン`や`ディアルガ`など濁音が入っていることが多いし、マスコットキャラである`ピカチュウ`には半濁音が入っています。
そこで私は

“`plaintext
かわいいポケモンはかっこいいポケモンよりも弱いイメージがあるから、

名前に半濁音が多いポケモンはステータス上弱くなる傾向にあるのでは?
“`

と疑問に思ったので、軽く統計を取ってみることにしました。

# ドメイン知識

ポケモンのステータスは「HP」「こうげき」「ぼうぎょ」「とくこう」「とくぼう」「すばやさ」の6種類で示されています

元記事を表示

AWS Lambdaでサーバーレスプログラミングをマスターする🚀

## 🌱 プロジェクトの背景: 「スマートガーデニングシステムの革新」

考えてみましょう。あなたは「スマートガーデニング」という革新的なプロジェクトに取り組んでいます。目標は、植物の成長を最適化するために、温度、湿度、土壌の状態をリアルタイムに監視する高度なシステムを開発することです。しかし、一つの大きな課題が立ちはだかります。これらのデータを効率的に処理し、適切なタイミングで植物に水や栄養を供給するためには、連続して稼働するサーバーが必要ですが、これは高い維持費と管理の複雑さを意味します。

## 🌟 AWS Lambdaの導入

AWS Lambdaは、このようなシチュエーションに最適なソリューションです。サーバーのプロビジョニング(実際の物理サーバーを準備し、使えるように設定すること)や管理の必要がなく、必要な時にのみコードを実行するリソースを提供します。センサーからのデータがLambda関数をトリガーし、必要な処理を行います。処理が完了すれば、Lambdaは自動的にシャットダウンし、リソースの無駄遣いを防ぎ、コストを削減します。
なんかAirbnbみたいですよね。

## ✅

元記事を表示

ChatGPTとPythonで学ぶ 遺伝的アルゴリズムと差分進化

皆さんこんにちは。今日も引き続きChatGPT先生をお迎えして、「ChatGPTとPythonで学ぶ 遺伝的アルゴリズム」というテーマで雑談したいと思います。それではChatGPT先生、よろしくお願いします。

### **assistant**:

こんにちは、よろしくお願いします。

遺伝的アルゴリズムとは、自然界の進化のプロセスを模倣した最適化手法です。これを用いると、最大化または最小化したい何か(例えば、費用、時間、距離)を最適化するための解(可能な解の組み合わせ)を発見することができます。

遺伝的アルゴリズムは、以下のようなステップで動作します。

1. **初期化**:最初にランダムな解の集合(これを「個体」または「染色体」と呼びます)を生成します。
2. **適応度関数**:次に、各解の「適応度」(その解が問題をどれだけよく解決するか)を評価します。
3. **選択**:適応度に基づき、次世代に引き継がれる解を選択します。
4. **交叉(クロスオーバー)**:選択された解同士を組み合わせ(交叉)、新しい解を生成します。
5. **突然変異**:新たに生成

元記事を表示

PythonでリストとNumPy配列に要素を挿入する方法の備忘録

# はじめに

Pythonにおいて、リストやNumPy配列に要素を挿入する方法は多岐にわたります。この記事では、これらの方法を理解しやすいように、具体的な例を通じて説明してみます。

https://colab.research.google.com/drive/1tbN97bJrly9YXpl-Cb-RzVQbF5Mkh8PO?usp=sharing

がこの記事の google colab へのリンクです。

使い方としては、

– リストは + でくっつけることができるが、numpy は配列同士の演算になるので、要素の結合にはならない。
– リストは可変長なので、同じリストに新しい要素を追加できるが、numpy の配列は固定長なので新しい numpy 配列に追加になる。
– リストはスライス `a[i:i]=b` のように、同じ場所を指定してそこに挿入ができるが、numpy だとできない。

## 初期データの設定

まず、操作に使用するリストとNumPy配列を定義します。

“` python:
import numpy as np

a_list = [(1, 1), (

元記事を表示

【明示的待機】WEBサイトが完全に開いたら次のアクション

## はじめに
に関しての備忘録です。
初心者です😅
間違えてる部分、多々あると思います。
もし見つけた場合、ツッコミいただけると助かります🙇

## 🦁**結論**🦁

“`python:sample.py
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait

# WebDriverのインスタンスを作成
driver = webdriver.Chrome()

# ウェブサイトを開く
driver.get(“http://example.com”)

# ページが完全にロードされるのを最大3秒間待機する
WebDriverWait(driver, 3).until(
lambda x: x.execute_script(‘return document.readyState’) == ‘complete’
)

# ここにページが完全にロードされた後の処理を書く
# 例: 特定の要素の検索、データの取得、クリック操作など

元記事を表示

【11万文字越え】プログラミング初心者に贈る即戦力ガイド

この記事は[Nuco Advent Calendar 2023](https://qiita.com/advent-calendar/2023/nuco)の14日目の記事です。

::: note
弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。
また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、[こちら](https://www.recruit.nuco.co.jp/?qiita_item_id=27f5ad03d0c4b41241fc)まで。
:::

https://www.recruit.nuco.co.jp/?qiita_item_id=27f5ad03d0c4b41241fc

# 目次
[1.はじめに](#1-はじめに)
[2.VSCodeの拡張機能紹介](#2-vscodeの拡張機能紹介)
[3.コーディングのポイント](#3-コーディングのポイント)
[4.よく使われる英単語一覧](#4-よく使われる英単語一覧)
[5.エラーとの向き合い方](#5-エラーとの向き

元記事を表示

ABC332DをPythonとElixirで復習してみる

# はじめに

ABC332Dは、順列を全部ためして最小値を求める問題です。

Pythonで復習してみました。

itertoolsを使って書いてみたら、とてもシンプルに記述できました。

# Pythonの場合
Pythonで書いたコードはこんな感じです。

“`Python
inf = 1<<60 H,W = TII() A = [LII() for _ in range(H)] B = [LII() for _ in range(H)] def count_swap(p): L = len(p) ret = 0 for i in range(L-1): for j in range(i+1,L): if p[i]>p[j]:
ret += 1
return ret

ans = inf
for ph, pw in product(
permutations(range(H),H),
permutations(range(W),W)
):
for

元記事を表示

無償!GPU不要!完全ローカル動作!クソ-GPTを公開

ChatGPTとか今年は大規模言語モデルが流行りましたね。
ただ、無料でできる範囲が限られてたり、API必須だったりでなかなか使い勝手が悪いものが多いです。
それでは自作するしかないということになりますが、学習にはそれなりの性能をもつ高価なGPUが必要になります。

言語モデルの作成にそこまでのモチベーションは無いので、今回はGPU不要でも自然な出力ができる対話型言語モデルを作ってみました。

# できたもの

テキスト形式の学習データを用意して、それに対する質問文を入力してあげるとそれに対する回答を出力してくれます。
(今回は夏目漱石の[吾輩は猫である](https://www.aozora.gr.jp/cards/000148/card789.html)を学習データにしました。)
“`
—————- input —————-
吾輩に名前はありますか?
—————- output —————
聞いて見るがいい、誰でもいいえと答えるに極っている。
“`

“`
—————- inp

元記事を表示

Python in Excel ってどんなもの?

この記事は[NTTコムウェア Advent Calendar 2023](https://qiita.com/advent-calendar/2023/nttcomware)の14日目の記事です。

# はじめに
こんにちは、NTTコムウェアの北山です。普段の業務では Azure などの Microsoft のサービスを用いた開発や技術的なサポートを行いつつ、業務外ではサーモンランでたくさんのシャケからイクラを手に入れています。

最近は生成 AI に関わるサービスが数多くリリースされており、Microsoft においても同様に Azure OpenAI Service や Copilot などのサービスがリリースされています。そんな中、生成 AI とは異なる分野でも動きがありました。

# Python in Excel

Microsoft は、2023年8月22日に Python in Excel をパブリックプレビュー版でリリースしました。2023年12月1日時点でも継続してパブリックプレビュー版として公開されています。

https://techcommunity.micro

元記事を表示

論文読解シリーズ ③ ResNet

# まとめ

AlexNet以来、精度=レイヤ数という風潮があったが、本当にレイヤ数を増やすだけで精度は上げられるのか?という疑問を解消してくれる論文。

レイヤ数を増やしすぎると、ある段階でそれより浅いモデルの方が精度が良いという、「劣化」と呼ばれる現象が発生してしまうことがわかった。

こちらを解決するために、こちらの論文では新たに**Residual Learning** といったアプローチで学習をすることを提案している。このResidual LearningのキーとなるSkip Connectionを導入することで劣化問題が解決でき、CNNやPooling層のみで構成されているVGGなどの他モデルと比べ精度が向上した。

:::note
**Residual Learning**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3534551/d685bb01-a038-f3df-1b12-5cbbcbf999b1.png)
:::

**・論文**

https://arxi

元記事を表示

AIに負けるな! mecabでのkeyword生成

本記事は、[intimatemerger Advent Calendar 2023](https://qiita.com/advent-calendar/2023/intimatemerger) 14 日目記事です。

言語系の AI が非常に優れています。
そんなご時世ですが、Mecab などで使用される辞書について話していきます。
なぜかというと言語系の AI は、使うのも作るのもコストがかかります。
もちろん、金額に見合った結果を出すなら問題ないので使っていきたいです。

ただし、大量の文章を毎日解析する場合、コストと結果のバランスがちょっと悪いです。
このような状況で、効果的かつ経済的な手段が求められます。今回は、文章中のキーワードに焦点を当てています。
キーワード が何かというと、文章、またはコンテキスト内で重要な単語やフレーズを指します。
これを精度良く辞書に追加していきたいという話です。

## 辞書について

辞書にはいくつか種類があります。

1. unidic
2. neologd
3. ipadic

2,3 は更新がとまっています。
1 は、2023 年 11

元記事を表示

Milk-v duo上のPythonでpinpongライブラリを使ってBMP280で気圧と気温を測定

## はじめに
秋葉原ロボット部の有志で、milk-v duoを購入し、個々人が様々な実験を行って、勉強会内で報告しています。

Milk-v duoは9ドルのrisc-vコンピュータとして知られています。
ハードウェアは以下の通りです。

1. CPUはCVITEKのCV1800B (C906@1Ghz + C906@700MHz)
1. 最高1 GHzで動作するデュアルRV64コア
1. 64 MBのラム
1. オプションのアドオンボードを接続すると10/100Mbpsの速度でイーサーネットに接続可能## はじめに
秋葉原ロボット部の有志で、milk-v duoを購入し、個々人が様々な実験を行って、勉強会内で報告しています。

12月2日の記事では「BMP280をI2C接続したmilk-v duo上でPythonを使って温度と気圧を測定する」では、pimoroniのgithubに掲載の例を利用するために、pipを使ってPyPiからbmp280用ライブラリをダウンロードしてインストールしました。
pinpongにライブラリが存在すると、新たにライブラリをインストールすることなしに、セ

元記事を表示

OTHERカテゴリの最新記事