- 1. win32com com_error: (-2147221005, ‘クラス文字列が無効です’, None, None)の対処法
- 2. WindowsにPycharmの「Failed to create a virtual environment」解決
- 3. Python メモ:for文で動的にlambda式を使う
- 4. 40代おっさんPythonを勉強する(データ解析,Pandas編②)
- 5. 「答えてナナちゃん」アプリケーション
- 6. Discordでbotを作る手順まとめる
- 7. GoogleCloudStorageにファイルを配置したことを契機にして、CloudFunctionを起動して、BigQueryにロードしてみた。
- 8. Python3.11がどれくらい高速化したのか
- 9. Pythonの高速Webフレームワーク FastAPI に、rinna社の言語学習済みモデル(計4.7GB)を搭載して、Cloud Run で動かしてみた
- 10. twitter apiとtkinterでツイート送信画面を作ります
- 11. federated learningについての説明
- 12. (Python3)とあるDBにおける文章分類を学習したモデルの作成を行い、別のDBの文書分類に使おう、という機械学習のプロジェクト(2)
- 13. [python] distutilsが非推奨でwarningが出る時の解決
- 14. 40代おっさんPythonを勉強する(データ解析,Pandas編①)
- 15. いろいろな機能をpythonに追加してみた(print, if, while 関数)(cpython)
- 16. Python3: モンテカルロ法で円周率を求める
- 17. 40代おっさんPythonを勉強する(プレーンテキストファイルの読み書き編)
- 18. 40代おっさんPythonを勉強する(CSVファイルの読み書き編)
- 19. Deepspeedの「unhandled system error, NCCL version 2.7.8」の対処法
- 20. Raspberry Pi Zero W(H)のPythonバージョン統一とNode-red の使用法
win32com com_error: (-2147221005, ‘クラス文字列が無効です’, None, None)の対処法
win32comを使ってOutlookを自動化した際にエラーが発生した。
自分のパソコンでテストした時は問題なく動作したが、他部署にexeファイル化して渡したところ
#### com_error: (-2147221005, ‘クラス文字列が無効です’, None, None)
というエラーが表示された。
アプリケーションを読み込む部分でエラーが発生している
“`py
import win32com.client
outlook = win32com.client.Dispatch(“Outlook.Application”)
“`色々と調べると
– bit数が違う
– Outlook.exeがローカルに保存されていないこの2点が問題ではないかと書いてあったが、どちらも問題はなかった。
## 結論
WindowsのスタートメニューからOutlookが消えていた。
どうやらローカルに保存されているだけでは読み込んでくれない模様。設定のアプリと機能からOfficeをクイック修復をしたところエラーが解消した。
https://support.micros
WindowsにPycharmの「Failed to create a virtual environment」解決
# 事象
Windows11にPycharm CE版を入れて、「Python Interpreter」を設定する時に、「Failed to create a virtual environment」というエラーメッセージが出てしまって、設定できなかった。
メモとして、解決案を残します# 解析
* Pycharmに対して、何か環境にエラーが起きた時に、「idea.log」にエラーメッセージとか普通に残っています。
* 「Help」→「Show log in Explorer」を押す
* 「idea.log」中の内容を確認する# 解決
## エラー内容
“`
INFO – #c.j.p.p.PyPackageManagerImpl – Fatal Python error: init_stdio_encoding: failed to get the Python codec name of the stdio encoding
Python runtime state: core initialized
LookupError: unknown encoding: window
Python メモ:for文で動的にlambda式を使う
# はじめに
メンテナンスツール(スクリプト)を数々作成したため、いちいちスクリプトファイルを選んで実行するのは面倒でした。そこで、TkinterによるSelect Launcherを作り、選択実行できるようにしました。
ボタンを作るたびに、その数分tk.Button宣言を記述していては、長々としたコードになってしまうので、lambda式を使用してコード量を減らします。
この時のlambda式の記述の仕方をメモに残しておきます。## lambda式
Python 公式ドキュメント
https://docs.python.org/ja/3/reference/expressions.html
> 6.14. ラムダ (lambda)
“`
lambda_expr ::= “lambda” [parameter_list] “:” expression
“`
>ラムダ式 (ラムダ形式とも呼ばれます) は無名関数を作成するのに使います。 式 lambda parameters: expression は関数オブジェクトになります。 この無名オブジェクトは以下に定義されている
40代おっさんPythonを勉強する(データ解析,Pandas編②)
## 本記事について
この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。## 前回の記事
## データフレーム(DataFrame)オブジェクト
– データを操作するためのオブジェクト
– 高速で効率的に操作できる
– 多様なデータフォーマットと相互的に読み書きできる
– CSV, Excel, SQLデータベース, JSONなど
– データの集計やグラフの作成ができる### データセット
– 気象庁([http://www.data.jma.go.jp/obd/stats/etrn/index.php](http://www.data.jma.go.jp/obd/stats/etrn/index.php))から福岡市の132年間の月別の[日平均気温](https://www.data.jma.go.jp/obd/stats/etrn/v
「答えてナナちゃん」アプリケーション
# 1 はじめに
今回は、バーチャルフレンドをテーマにtkinterでアプリケーションを作成しました。
作成の際には以下のポイントに気をつけました。1. 与えられた内容に対して、声に出しているか
1. 入力した内容によって画像が変わっているか?
(デフォルト時の画像が残らず、新しい画像に切り替わっているか。)# 2 まず画像を用意する
使用する画像はデフォルトを含めて、3枚使用しました。
今回使用した画像は「イラストAC」さんから、
使用する表情を一つ一つ切り抜いて作成しました。https://www.ac-illust.com/main/detail.php?id=23110713&word=%E3%82%B9%E3%82%AD%E3%83%B3%E3%82%B1%E3%82%A2%E3%81%99%E3%82%8B%E5%A5%B3%E6%80%A7%E3%81%AE%E3%81%A1%E3%81%B3%E3%82%AD%E3%83%A3%E3%83%A9%E9%A1%94%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3&searchI
Discordでbotを作る手順まとめる
# Discord でBotを作成する備忘録
::: note info
自分のために作ってるけど一応忘れないために書き残す用
曖昧な部分については詳しい人がいたら教えてください
2022/10/27 開発中なので作成しながら追加していく予定
:::プロフィール
– 触ったことのある言語
– C++
– C#
– JavaScript
– Python
– プログラミング歴
– 大学4年間
– 社会人2年[Discord Developers](https://discord.com/developers/)
[DiscordPy ドキュメント](https://discordpy.readthedocs.io/ja/latest/index.html)## Pythonをインストール
WindowsのStoreにあった
公式サイトからでも良さそうだけどどう違うのかとかはわかんない## Discord.pyをインストール
公式ドキュメ
GoogleCloudStorageにファイルを配置したことを契機にして、CloudFunctionを起動して、BigQueryにロードしてみた。
# はじめに
私はクラウドを使って仕事をすることが多いのですが、もっぱらAWSを使うことが多いです。
これはプライベートでもそうで、何かしらサービスを構築しようだの考えると1stChoiceはAWSになってしまいます。
この度GCPを使う機会に恵まれたので、GCPの使い所などや詰まったところ共有し、皆様の一助になればとのことで、今回こういった記事を書いてみることにします。# GCSからCloudFunctionを動かしてみたい。
AWSの中でもS3とLambdaが好きで、この二つあれば大概のサービスなんとかなるやん!と常々思ってます。であればそれをGoogleCloudでも実現したいと思っていたので、このお題にしてみました。# サービスの説明
## GCSとは
GCSはAWSでいうS3で、オブジェクトストレージのことをさします。
基本的な機能はS3と同じで、高い耐久性や可用性を保持しており、機能としてさまざまなStorageクラスで保存することで、ユーザにとって最適なコストパフォーマンスでオブジェクトを保存することができます。詳しい機能の説明は公式のhttps
Python3.11がどれくらい高速化したのか
# はじめに
Pythonといえば人口の多さとライブラリの豊富さと情報の多さが強みで
初心者でも簡単に実行できるしWebフレームワークから機械学習までなんでもOKな万能言語ただひとつ問題点を上げるなら実行速度がナメクジ
C言語もこれにはニッコリところが今回の3.11ではこれが従来比平均1.25倍らしい
すげえ# さっそく試してみた
Pythonで重たい処理といえばforループとListへのappendだと思ってます
なので適当に100万回forループさせて処理速度を計測してみました“`python
import times = time.time()
l = []
for i in range(1000000):
l.append(i)print(time.time() – s )
“`
比較したのはPython3.10
それぞれ10回実行した結果とその平均が下記||3.10|3.11|
|–:|–:|–:|
|1|0.151611089706420|0.110505104064941|
|2|0.127127647399902|0.1
Pythonの高速Webフレームワーク FastAPI に、rinna社の言語学習済みモデル(計4.7GB)を搭載して、Cloud Run で動かしてみた
# この記事はなに?
3行でまとめるとこうだよ。
1. Pythonの高速Webフレームワーク FastAPI に
1. rinna株式会社が公開している日本語特化の事前学習済みモデル(計4.7GB)を載せて、
1. 文章の空欄埋めや自動生成をできるDockerコンテナを Cloud Run で動かしてみた学習済みモデルを2件まとめてDockerイメージ内に組み込むから、イメージサイズはかなり膨れ上がるよ。 **モデルだけで4.7GB、他を合わせるとおよそ5GBのコンテナイメージになる。**
だけど Google Cloud Run には「Dockerイメージのサイズが大きくても起動が早い」という強みがあるから、たとえDockerコンテナイメージのサイズが5GBを超える巨大なものだったとしても、ある程度まともな速度でコンテナを起動してくれるかもしれない…という(甘い)期待のもとにこの構成を試してみたよ。
▼ 参考
> Cloud Run のコンテナ イメージ ストリーミング テクノロジーのため、コンテナ イメージのサイズは、コールド スタートやリクエストの処理時間に影響
twitter apiとtkinterでツイート送信画面を作ります
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2134624/bb897907-f1b7-de48-645d-dca678184184.png)
# 環境
windows11
Python 3.9.6
# はじめに
今回はtwitter apiとtkinterでツイート送信画面を作ります。twitter開発者登録のやり方やトークン類の取得の仕方は説明を省略しています。
# コード
トークン関係をまとめるkeys.pyと画面関係をまとめるgui.pyに分けてコードを書きます。
“`python:keys.py
import tweepyclass Apikeys:
CK = ” # Consumer API key
CKS = ” # Consumer API Secret key
AT = ” # Access token
ATS = ” # Access token secret
auth = tweepy.OAuthH
federated learningについての説明
※この記事の続きです。
https://qiita.com/magisystem0408/items/804b420bdc2842370089
## FLとは、何ができるのか?
ML(マシンラーニング)は聞いたことあるはず。実はその上にFLと言うものがある。
その名を、`federated learning`、連合学習と呼ぶ。#### AIを使えるようにするには、以下2つを考える必要がある。
– いかに推論精度を上げられるか?
– いかに学習速度を上げられるか?この内、連合学習とは、いかに`学習速度を上げられるか?`に使用される。
(要するに、勉強時間を少なくして、テストで高得点を取るかのうちの、勉強時間を少なくする方)#### 学習速度を向上させるには、以下2つを考えられる。
– 学習させるPC、インスタンスなどの性能を上げる。(スペックを上げる。)
– 学習させるPC、インスタンスの数を増やす。(学習環境を分散させる。)(要するに、地頭いい人、1人に勉強させるか、頭良くないけど、100人同時に勉強させるかのうちの100人の方。)
この内連合学習とは、
(Python3)とあるDBにおける文章分類を学習したモデルの作成を行い、別のDBの文書分類に使おう、という機械学習のプロジェクト(2)
# (前書き)
[前回](https://qiita.com/tomofu74/items/c148b833ccfb44ad0626)、修行(訓練)に入ったところ。今回はその続き。さて、学習を続行してきた標記の文章分類学習モデル・・・。一週間経っても、計算が終わらない、どころか学習の進捗状況を表示しない・・・
![スクリーンショット_20221024_202521.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699890/b60667c1-f931-7676-ddb7-d58172659742.png)1%も進んだように見えねぇなんて、精神と時の部屋もあったもんじゃねーべや。(ヤジロベー風)しかもよ、WindowsUpdateが入ってもうて、なんか再起動しろとかWindowsのメッセージが右下のほうからハチャメチャに押し寄せてくる・・・カリン塔で仙豆でもくうか・・・
いや、何かがおかしい。環境を再構築することにした。
# (この部分は個人の備忘録)
前回はWSL2で jupyter noteb
[python] distutilsが非推奨でwarningが出る時の解決
pylintにsetup.pyをかけたところ,
“`pylint setup.py
setup.py:12:0: W0402: Uses of a deprecated module ‘distutils.core’ (deprecated-module)
“`と警告が出力された.
【解決方法】
python3.10および3.11から,distutilsが非推奨となる.
(https://setuptools.pypa.io/en/latest/deprecated/distutils-legacy.html)新たにsetuptoolsを使う必要がある.
“`setupt.py
from distutils.core import setup
“`から
“`setup.py
from setuptools import setup
“`に変更することで警告を解消.
40代おっさんPythonを勉強する(データ解析,Pandas編①)
## 本記事について
この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。## Pandas
– データ分析を支援するPythonのライブラリ
– 元々金融データの操作のために設計された
– スプレッドシートやリレーショナルデータベースの処理ができる
– DataFrameという基本データ構造を定義されている
– 科学データだけではなく、ビジネスデータの処理でも単純化している
– ホームページ [https://pandas.pydata.org](https://pandas.pydata.org)
– ドキュメンテーション [https://pandas.pydata.org/pandas-docs/stable/](https://pandas.pydata.org/pandas-docs/stable/)## データの可視化
– データをグラフとして見せる
– 数字だけよりわかりやすい
– Pandasで簡単なグラフをすぐに作成できる
– Ma
いろいろな機能をpythonに追加してみた(print, if, while 関数)(cpython)
# はじめに
このブログは、eeic2022の3年後期実験、大規模ソフトウェアの第5班の成果報告のブログである。
今回は、c言語を用いてpythonにunless文(if文の逆の機能)とuntil文(while文と逆の機能)を追加してみた。また、print関数をc言語のprintf関数のように、自動で改行したり空白を開けたりする機能を失わせてみた。そして、元のprint関数の機能を持つprintln関数を追加してみた。##### pythonの文法がどのように構築されているかを知る
いつもpyhtonを使ってるけど、実際に文法がどういう仕組みで成り立っているのかは知らないことが多いですよね?そこで、ソフトウェア初心者がpythonの構造を理解するために、新しい文法unless文、until文の追加を試みました(機能はif文、while文と同じだけど、仕組みを理解するためだけなので許して)。##### print関数が使いにくい
pythonのprint関数って便利なようで便利じゃないかも?
例えば、以下のように自動的に改行されてしまう。
“`python
print(“大規
Python3: モンテカルロ法で円周率を求める
こちらのページを参考にしました。
[モンテカルロ法で円周率を求めるのをPythonで実装](https://note.com/shimakaze_soft/n/n9547f5c0bae0)## プログラム
“`py:pi_monte_carlo.py
#! /usr/bin/python
#
import random
import math
# ——————————————————————
def calc_pi_proc(nn):
point = 0
for it in range(nn):
xx = random.random()
yy = random.random()
if math.hypot(xx,yy) < 1.0: point += 1 pi = 4.0 * point / nn # return pi # # ------------------------------------------------------------------ fo
40代おっさんPythonを勉強する(プレーンテキストファイルの読み書き編)
## 本記事について
この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。## 基本のファイル入出力
– ファイルの読み書き
“`python
tobj = open(filename, mode)
“`– fobjはopen()関数が返したファイルオブジェクト
– filenameはファイル名、場所がわかるようにパスも必要な場合がある
– modeはファイルのタイプや操作モード
– 第一文字
– `r`=>読み出し、ファイルが存在しない場合はエラー
– `w`=>書き込み、ファイルが存在しない場合は新しく作り、存在する場合は上書き
– `x`=>書き込み、ファイルが存在する場合はエラー(上書きミスを防ぐため)
– `a`=>書き込み、ファイルの後ろに追記
– 第二文字
– `t`=>テキスト
– `b`=>バイナリ
– デフォルトは`rt`、テキストの読み出し
– 最後にファイルを閉じる必要があ
40代おっさんPythonを勉強する(CSVファイルの読み書き編)
## 本記事について
この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。## 構造化されたテキストファイル
– 単純なテキストファイルだと、情報を探すのが大変なので、構造的なデータを作るのが一般的
– これらの構造化ファイル形式を読み書きのPythonモジュールが提供されている
– 良く使われる形式は下記のようになる| 形式 | 形式や言語 | 特徴 |
| — | — | — |
| CSV | Comma-Seperated Values | セパレーター、区切り子:タブ(’\t’)、カンマ(’,’)、縦棒(’\|’)、コロン(’:’)など |
| XML | Extensible Markup Language | タグ’<'と'>‘で囲む |
| JSON | JavaScript Object Notation | 記号を駆使するもの |
| YAML | YAML Ain’t a Markup Language | インデント |
Deepspeedの「unhandled system error, NCCL version 2.7.8」の対処法
# 症状
DeepspeedをDockerコンテナを使ってマルチGPUで学習しようとしたところ,以下のようなエラーを出して止まってしまった.
“`
RuntimeError: NCCL error in: /pytorch/torch/lib/c10d/ProcessGroupNCCL.cpp:825, unhandled system error, NCCL version 2.7.8
ncclSystemError: System call (socket, malloc, munmap, etc) failed.
“`
当初,nccl系のエラーだと思いバージョンを変えてみたが,改善しなかった.# 解決方法
どうやら,Dockerコンテナに割り当てられているshared memoryが64MBと少なすぎたのが原因っぽい.わりあてられているめもりりょうはコンテナ内で以下を実行するとshmの行から確認できる.
“`bash
$ df -h
shm 64M 0 64M 0% /dev/shm
“`
なので,Dockerコンテナを起動さ
Raspberry Pi Zero W(H)のPythonバージョン統一とNode-red の使用法
# はじめに
RaspberryPiの中でパフォーマンスと、省エネ性、コストが一番ベストと思われる
Raspberry Pi Zero W(H)を使いこなすうえで少し、困惑したので備忘録的に記載します。以前 8/29に投稿した記事で、私はRaspberry Pi OS(Legacy)でDesktopに対応しているものをインストールしました。2022年10月現在クリーンインストールした状態では、下記の通りのバージョンです。
Linuxのバージョン
“`
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.10.103+ #1529 Tue Mar 8 12:19:18 GMT 2022 armv6l GNU/Linux
pi@raspberrypi:~ $
“`Raspbian OSのバージョン
“`
pi@raspberrypi:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GN