- 1. cannot import name ‘PaliGemmaForConditionalGeneration’ from ‘transformers’ と出た場合の解決方法
- 2. 【Python】モデルアウトプットのトラック・ベストトラック・摩擦係数の差を描くプログラム
- 3. Pytorch + CUDA インストールしてみよう
- 4. ABC353 with Python (A~E)
- 5. Python3: CSV の作成
- 6. Pythonエンジニア認定基礎 受験記録
- 7. AtCoder入茶まで半年かかった凡人がやったこと
- 8. pygameでゲームつくるよ!2024
- 9. 異文化交流した話【arduino/c++ ⇒ raspberrypi/python】
- 10. 【環境構築】Pythonの実行環境構築のベストプラクティス
- 11. PythonでPC用通知システムを作る
- 12. python GUI tcl/tk ウィンドウ全体リサイズ時にフォームサイズも伸縮させる
- 13. 【Python】「FileExistsError: [Errno 17] File exists: ‘xxx’」エラーには`exist_ok=True`オプションを
- 14. python GUI tcl/tk 子ウィンドウ起動 改善版:起動引数
- 15. Pythonの例外ハンドリング
- 16. 機械学習における重み減衰率を理解して過学習を防ごう
- 17. SMILES 化合物構造を文字列でPythonに入力する方法
- 18. pycordで作成したdiscord botのトークンをenvファイルに保存して、githubにpushしよう
- 19. Pythonの備忘録 (初心者)
- 20. Pythonの備忘録 (超初心者)
cannot import name ‘PaliGemmaForConditionalGeneration’ from ‘transformers’ と出た場合の解決方法
Googleの最新のPaliGemmaを使おうとして、ちょっと困ったので、記事を書きました。
実行環境はUbuntu 20.04環境下のPython 3.11.4、NVIDIA RTX 3090、64GB RAMです。>ImportError: cannot import name ‘PaliGemmaForConditionalGeneration’ from ‘transformers’
と出た場合の解決方法を見つけましたので、シェアします。
“`pip install git+https://github.com/huggingface/transformers.git“`
とすれば大丈夫です。どうやらHuggingFaceの最新のtranformersをインストールすれば良いみたいですね。(pipで普通にアップデートしてもPaliGemmaForConditionalGenerationがないと言われた)
参考文献:https://note.com/npaka/n/n1afc8f64e447
加藤 翼
株式会社インスパイアサーチ
代表取締役https://
【Python】モデルアウトプットのトラック・ベストトラック・摩擦係数の差を描くプログラム
# 1. 必要なデータ
* モデルアウトプットのトラックデータ(本記事ではcsv)
* モデルアウトプット(本記事ではscaleのnetcdfファイル)# 2.コード
“`: python
##########################################################################
#
# This python program is makeing figure of Shade; Cd, Contour; MSLP by SCALE netcdf output.
#
# Hiroaki YOSHIOKA, yoshioka-hiroaki-sn@ynu.ac.jp
# Research fellow at Yokohama National University, Typhoon science and technology Research Center
#
# –Released History–
# Jan,12,2024 – 1st released ; Making distributi
Pytorch + CUDA インストールしてみよう
この記事は自分のノートのため、Pytorchをインストールする方法をまとめる。
OSX持てないから、今回の記事では Linux / WSL と Windowsでインストールする。# 前提
WindowsでWSLを使用したいとき、必ず“`WSL2“`をインストールする
“`sh
wsl –install
wsl –version
wsl –update
“`wsl2をインストールしたあと、Ubuntu WSLをインソールする。今回は、“`Ubuntu 20.04“`を利用する。
Ubuntu WSL installation package
https://aka.ms/wslubuntu2004# CUDA インストール
“`Ubuntu“`をインソールする時に、元々の“`CUDA“`パッケージがあるかもしれませんので、とりあえず存在するパッケージを削除する。
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#removing-cuda-toolk
ABC353 with Python (A~E)
ABC353のA~E問題をpythonで解説していきます。筆者は予定があって参加できなかったのですが、後日自力で解けたのはA-Eまででした。
# A – Buildings
## 問題
$N$ 個のビルが横一列に並んでいて、左から $i$ 番目のビルの高さは $H_i$ です。
左から $1$ 番目のビルより高いビルが存在するか判定し、存在する場合その内最も左のビルは左から何番目か求めてください。https://atcoder.jp/contests/abc353/tasks/abc353_a
## 考察
1番左のビルの高さを基準とし、ビルを左から走査していって基準より高いものが見つかればその1-indexを、なければ-1を返すようにすればよいです。## コード
“`python:A.py
N = int(input())
H = list(map(int, input().split()))
base = H[0]
for i, h in enumerate(H[1:]):
if base < h: print(i + 2) exi
Python3: CSV の作成
ヘッダー付き、ダブルクォーテーション(二重引用符)囲いの CSV ファイルの作成方法です。
## プログラム
“`py:csv_write.py
#! /usr/bin/python
#
# csv_write.py
#
# May/14/2024
#
import sys
import csv
#
# ——————————————————————–
sys.stderr.write(“*** 開始 ***\n”)
file_out = sys.argv[1]
#
header=[“市区町村コード”,”宛名番号”,”個人履歴番号”,”個人履歴番号_枝番号”,”最新フラグ”]
data=[[“131016″,”12345678912″,”1″,”1″,”1”],
[“131016″,”12345678913″,”1″,”1″,”1”],
[“131016″,”12345678914″,”1″,”1″,”1”],
[“131016″,”12345678915″,”1″,”1″,”
Pythonエンジニア認定基礎 受験記録
先日Pythonエンジニア認定基礎を受験してきました。
自分の記録のため、勉強期間や資料などを記載しておこうかと思います。
[Python 3 エンジニア認定基礎試験](https://cbt.odyssey-com.co.jp/pythonic-exam/python3basic.html)## 結果
合格!
とりあえず11000円が無駄にならなかったことがうれしい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3780076/9335b88f-057b-6de0-2185-a6eed7075f68.png)## 受験の動機
アサインされていた案件が終了し、次が決まらず待機になったので、何か勉強しておこう、ついでに次の面接でプラスになりそうなものを、と思ったことが一番の動機です。
Pythonには興味津々だったものの実務経験がないので、どの程度使えるかの目安になれば未経験でもチャンスないかな?と思ったことがきっかけです。## 勉強前の予備知識とスキルレベル
Pyth
AtCoder入茶まで半年かかった凡人がやったこと
こんにちは、Yuyoです。プログラマーになるべく、日々精進している人です。
先日のAtCoderという競技プログラミングコンテスト(通称競プロ)のサイトで、色が一番下の灰色から一つ上がって茶色になりました!
![ScreenShot 2024-05-13 13.57.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/568092/074fb9bf-90de-75d4-3ee0-dceb48cd86fa.png)そこで、今回は私が茶色になるまでにやったこと、普段問題を解いている環境、これからどうしていくかについて書いていきたいと思います。
また、前置きが少し長いので、私の取り組んだことについて、知りたい方は4から読むことをお勧めします。# 目次
[1.AtCoderとは?](#1-AtCoderとは?)
[2.AtCoderのメリット・デメリット](#2-AtCoderのメリット・デメリット)
[3.使用してる言語・エディタ・便利機能](#3-使用してる言語・エディタ・便利機能)
[4.茶色に
pygameでゲームつくるよ!2024
# 1.はじめに!
__皆さんはじめまして!__
今回が初投稿の __たまねぎ(@onion0815)__ です!よろしくお願いします^^
早速ですが、今回からpythonでゲームをつくっていきます!!### おしながき ~ 今回の目標 ~
– 環境構築# 2.環境構築
はじめに __環境構築__ を行います!
僕はAnacondaを使っているのでそこに仮想環境を作っていきます。
とはいっても、pythonとpygameをインストールするですが(笑)
では早速やっていきましょう!# 2-1.仮想環境の立ち上げ
まずは”Anaconda prompt”でゲーム制作用の仮想環境を用意します。
ゲーム制作用とわかるように名前は “game_project”にして作ってみます!
※game_projectの部分を変えれば好きな名前にできます“`:仮想環境の立ち上げその1
conda create -n game_project
“`
コマンドを実行すると、proceed([y]/n)と「作っちゃうけどだいじょぶそ?」のような感じの確認が入りますが[y]を選択しちゃってく
異文化交流した話【arduino/c++ ⇒ raspberrypi/python】
arduinoの民が…ラズパイに…出会ったぁ~([10日ぶり2回目](https://qiita.com/kei_tnk/items/2815002705fcf4c994f0)
# はじめに
– GWの間はラズパイ5の環境構築ばかりしてたけど、さすがに飽きたので、ラズパイのパーツを動かしてみた。
– ラズパイ5より、arduino系統っぽいラズパイzero2w(以下、pi02)を購入したのでそちらで作業してみた。
– pi02は、ラズパイ5と同様に[usb接続でssh接続可能](https://qiita.com/kei_tnk/items/33b2d99b4c84c564237e#%E3%81%8A%E3%81%BE%E3%81%91%E3%81%AE%E3%81%8A%E3%81%BE%E3%81%91%E8%BF%BD%E8%A8%98zero2w%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AEusb%E6%8E%A5%E7%B6%9A)にしてある。なお、osはlegacy_64bit版を使用。古い奴の方が、困ったときの事例検索が楽そうだったので
【環境構築】Pythonの実行環境構築のベストプラクティス
– `python`の実行環境には`docker`を使用していたが、電力消費が多いのと接続クラッシュがしやすく悩んでいた。
– 仮想環境の構築が苦手だったが、一番良さそうな方法をLLMが教えてくれたのでメモ。はい、以下の手順でHomebrewを使ってpyenvをインストールし、pyenvで仮想環境を作成して、VSCodeで使用できるようにする方法をまとめました。
1. Homebrewでpyenvをインストールする
– ターミナルで以下のコマンドを実行 [1][2][4][10][13]
“`
brew install pyenv
“`
– シェルの設定ファイル(~/.bash_profileまたは~/.zshrc)に以下を追記 [1][3][4][13]
“`
export PYENV_ROOT=”$HOME/.pyenv”
export PATH=”$PYENV_ROOT/bin:$PATH”
eval “$(pyenv init -)”
“`
– 設定ファイルを再読み
PythonでPC用通知システムを作る
# PC用通知システム
notify-pyライブラリを使うことでPC用の通知システムが簡単に作れます。pip install notify-py
でライブラリをインストールできる
## テストコード(Linux用)
“`python:ntf
#!/usr/bin/python3from notifypy import Notify
# 通知オブジェクトを作る
n=Notify()
# 何も操作しなければ通知エリアにメッセージが残るように設定
n.urgency=”normal”
# メッセージタイトル
n.title=”テスト通知”
# メッセージ
n.message=”メッセージテスト”
# 通知送信
n.send()
# この他にも、アイコンや音 等も設定できる。“`
このファイルに実行権をつけてください。## 応用
外部データベースやAPIと連携することで、独自通知システムが可能になる。
python GUI tcl/tk ウィンドウ全体リサイズ時にフォームサイズも伸縮させる
# 実行サンプル
tcltk の GUIレイアウト配置で
grid や pack のオプションを適切に設定して
ユーザーがウィンドウを大きくしたり、小さくしたときに
配置された各部品(フォーム) が同時にサイズ伸縮するようにした例。設定していないと、フォームのサイズが変わらず、
違和感のある表示になってしまう。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423803/a2d20aae-4678-8c4d-f02b-a67d81707f52.png)
# 実行環境
windows10
python3.9.5pythonモジュール tcl/tk
# 実行手順
ソースコードを作成する
windowsコマンドプロンプトでプログラム作成したフォルダに移動し、下記実行する
“`
python プログラム名.py
“`# 参考 URL
https://tkdocs.com/tutorial/grid.html# ソースコード
https://github.
【Python】「FileExistsError: [Errno 17] File exists: ‘xxx’」エラーには`exist_ok=True`オプションを
# エラー内容
Pythonアプリで以下のエラーが発生。> FileExistsError: [Errno 17] File exists: ‘loggings’
# 原因と解決方法
BEFORE:
“`py
import osos.makedirs(“loggings”)
# FileExistsError: [Errno 17] File exists: ‘loggings’
“`AFTER:
“`py
import osos.makedirs(“loggings”, exist_ok=True)
“``os.makedirs`関数は、既に存在するディレクトリを作成しようとすると`FileExistsError`を発生させる。
これを防ぐためには、`os.makedirs`関数の`exist_ok`パラメータを`True`に設定すると良いです。デフォルトでは`False`になっています。
`True`にすると、ディレクトリが既に存在していてもエラーが発生せず、ディレクトリが存在しない場合のみ新たに作成されるようになりました。
python GUI tcl/tk 子ウィンドウ起動 改善版:起動引数
# 実行サンプル
子ウィンドウ起動![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/423803/6bc2b158-ec33-a9a1-c926-df86e9aa1c94.png)
・ボタン押下で mode 指定して、子ウィンドウ起動
モード指定により、画面GUIが違うものとして表示される・ChildWindowが既に存在する場合はメッセージボックスで通知し、新たに開かないようにする
・childWin.py で mode を引数として受け取る
・childWin 起動後、画面が閉じられるまで、次の処理は実行されないようにする
・00_mainWin.py と childWin.py で情報受け渡しする
・ childWin.py func_initを複数用意することで、GUI表示や、渡す引数を自由度高く切り替えできるようにする
例)↓これらを 00_mainWin.py から呼び出す
func_init_01(),
func_init_02(self,
Pythonの例外ハンドリング
## Pythonの例外ハンドリングについて学習
Javaと同じ点や異なる点を整理しながらPythonの例外ハンドリングについて学習する。## try節
Javaと同じで、例外が発生する可能性のある箇所で使う。exceptかfinallyのどちらかは必須。## except節
Javaのcatchと同じで例外を捕まえることができる。
asで一時変数を定義することができる。## else節
すべてのexcept節よりも後ろにelse節を置くことができ、例外が発生していない場合の処理を記載することができる。:::note info
どのような使い方をすれば効果的なのかを調べる。
:::## finally節
Javaと同じで、例外の発生有無にかかわらず実行される処理を書くところ## 基底クラスでの例外捕捉
Javaと同じで、except節で基底クラスを指定することで、継承しているクラス例外を捕捉することができる。## raiseで例外送出
Javaのthrowsと同じようにraiseで例外を送出することができる。## with文
Javaの[try-with
機械学習における重み減衰率を理解して過学習を防ごう
モデルの過学習を防ぐための手法の1つ。数学的にはL2正則化と同義。
重みの値が大きくなりすぎるのを防ぐために、重みの大きさに比例したペナルティを損失関数 L に与える。
$$L’ = L + \frac{\lambda}{2} \sum_{i=1}{w_i^2}$$
ここでλは正則化の強さを調整するハイパーパラメータであり、Transformersライブラリに含まれるTrainingArgumentsで引数として使えるweight_decayではこの値を設定している。
– λの役割: 過学習の防止
重みが大きいと、小さな入力の変化に対しても出力が大きく変動することがある。
これはモデルがデータの微小な変動やノイズに対して敏感に反応している状態を示しており、過学習の典型的兆候である。
λを増やすことで、モデルはデータの本質的なパターンを捉えつつ、訓練データのノイズに過剰に適合することを防げる。
その結果、モデルによる予測は入力データの微小な変化に対して頑健になる。
SMILES 化合物構造を文字列でPythonに入力する方法
# はじめに
こんにちは、@sasshi_iです。ケモインフォマティクスの分野では、化合物の構造を計算機に入力するため様々な表現方法があります。
今回は文字列で分子構造を表現するSMILESについて紹介します。
# SMILESとは?
## 概要
SMILES(Simplified Molecular Input Line Entry System)は、**分子の構造を表現するために文字列を使用する表記法**です。1980年代に開発されたこの表記法は、分子や化学反応をコンピュータプログラムに簡単に入力し、保存するために広く使用されています。
例えば、解熱鎮痛薬のバファリンの成分であるアスピリンはSMILESだと `CC(=O)Oc1ccccc1C(=O)O`と表現されます。
SMILESはrdkitを用いてプログラムに入力できます。
rdkitはケモインフォマティクスの分野で広く使用されるpythonのライブラリです。“`python
from rdkit import Chem
Chem.MolFromSmiles(‘CC(=O)Oc1ccccc1C(=O)O’
pycordで作成したdiscord botのトークンをenvファイルに保存して、githubにpushしよう
# はじめに
前回の記事で[pycordを使ったdiscord botの作成記事](https://qiita.com/maooz4426/items/2c39929756af5541648f)を書いたのですが、discordbotのアカウントトークンを直書きしていました。
これをGitでpushすると、、、“`
git push origin main
Enumerating objects: 8, done.
Counting objects: 100% (8/8), done.
Delta compression using up to 8 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 1.02 KiB | 1.02 MiB/s, done.
Total 6 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), completed with 1 local
Pythonの備忘録 (初心者) <数学の基礎計算(三角関数)>
僕がPythonのmath library使い方をド忘れした時のための備忘録を作成します。
:::note warn
あくまで記事は使用例です
厳密さを必要とする場合は下記LINKを参照してください。
https://docs.python.org/ja/3/library/math.html
:::math libraryのimport “`python
import math
“`
:::note info
:::
三角関数の使用例 “`python
theta = math.radians(45)
print(theta)
“`
:::note
出力
0.7853981633974483
:::
角度からラジアンに変換
詳細は下記wiki参照
[^KEY]:
https://ja.wikipedia.org/wiki/%E4%B8%89%E8%A7%92%E9%96%A2%E6%95%B0三角関数の計算結果 “`
Pythonの備忘録 (超初心者)
僕がPythonの使い方をド忘れした時のための備忘録を作成します。
Pythonのif文では制御構造を使用して、同じコードブロックを正誤判定を実行することができる
![スクリーンショット 2024-04-22 14.24.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3575336/19c43b75-d615-a729-5d44-3510f747cffc.png):::note warn
あくまで上記はイメージです
厳密さを必要とする場合は下記LINKを参照してください。
https://www.python.org/
:::
今回はif文の使い方の基本を書き下ろしておきます。if文を設定
“`python
if 5/2 = 2.5
print(“5は2で割った時2.5になります”)
“`
:::note alert
エラー
if 5/2 = 2.5
^
Sy