- 1. Javaのgetter/setterの定義を自動で作成
- 2. ベイズ推論での解析(3)・・スペースシャトル、チャレンジャー号の事故原因
- 3. デスクトップを綺麗にしたい~Pythonで不要ファイル自動削除~
- 4. CentOS(RHEL) 8 で python , pip コマンドが利用できない
- 5. Codeforces Round #662 (Div. 2) バチャ復習(8/8)
- 6. Python 基本書き方
- 7. DynamodbをLambdaからSQLっぽく操作する
- 8. [Python]ReSpeakerで人の声のみに音源定位
- 9. condaコマンドチートシート
- 10. pysparkでDataFrameの欠損値(null)を前後の値で埋める
- 11. 機械学習の可視化ツールTensorboardを使ってみた
- 12. 【Python】PDFからコピーした改行コードだらけのテキストを上手いこと整形する
- 13. 【データサイエンティスト入門】Pythonの基礎♬関数とクラス
- 14. 【成長日記:3日目】根尾くんのプロ初ヒットを見守るプログラムを書いてみた【NEO-METER】
- 15. 暇だったのでカラオケ作ってみた(第2回 ボーカル抽出と音程推定)
- 16. pythonでrequests使ってスクレイピングやろうとしたらSSLErrorでハマったので、対処法メモ
- 17. 【keras】noisy studentを実装して効果確認
- 18. PytorchでTensorboardを使ったらエラーが出た話
- 19. vscodeでpipenv使うと端末が勝手にpipenv環境内に入り込むの対処法
- 20. 【簡単】webカメラでAI自動認識!
Javaのgetter/setterの定義を自動で作成
#この記事について
Javaにおいて、クラスのフィールドに対して、getter/setterは関数名も含めて定型的に定義できる部分があると思ったので、手動で入力しないでいいようにPython3でスクリプトを書いてみましたので紹介します。
※IDEの機能などを使えばあるのかもしれませんが練習がてら書いてみましたなお、getter/setterとしては最低限の機能だけを考えます。例えば「setterで不正値のチェックを行いたい」といった場合には手動で追加となります。
#環境(ざっくり)
言語:Python3
OS:macOS (たぶん他のOSでも大丈夫だと思います)#やりたいこと:Javaでのgetter/setterの定義
例を通してやりたいことを説明します。下記のように、魔法使いを表すWizardクラスがあり、フィールドとして名前を表すnameや魔力を表すpowerがあったとします。
“`java:Wizard.java
public class Wizard {
private String name;
private double power;
ベイズ推論での解析(3)・・スペースシャトル、チャレンジャー号の事故原因
##ベイズ推論解析例題;スペースシャトル、チャレンジャー号の事故原因
####Pythonで体験するベイズ推論より
[「Pythonで体験するベイズ推論」](https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers)スペースシャトルチャレンジャー号はなぜ事故原因と気温が関係あるか??という問題を考えます。
#####問題:スペースシャトルのチャレンジャー号のOリング破損と気温の関係
#####例題について
1986年1月28日、アメリカのスペースシャトルの25回目の飛行でチャレンジャー号のロケットブースターの1つが離陸直後に爆発し、7人の乗員全員が死亡した。事故に関する大統領委員会は、ロケットブースターのジョイント部のゴム部品のOリングが原因であると結論付けた。 24回のフライトのうち、23回分のOリングの故障に関するデータがあり、実は、これらのデータはチャレンジャーの打ち上げ前日の夜に議論されていた。残念なことに、7回のフライトのデータのみだけ
デスクトップを綺麗にしたい~Pythonで不要ファイル自動削除~
# デスクトップが汚くなってきた…
ファイルとショートカットだらけになってきた。
![dirty_desktop.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/305855/02f5acff-910b-4121-9b74-fc58addb7e1f.jpeg)ファイルを片付けるのもめんどくさい。
対策として以下のことを試すことにした。1. 一時的に使用するファイルを`\tmp`フォルダにまとめる
1. 大切なファイルはオンラインストレージにバックアップする(手動)
1. **`\tmp`フォルダにあるファイルのうち、一週間以上使っていないファイルは自動で削除**3.をPythonで書いた。
# 完成!「ファイル自動削除くん.bat」
## 使い方
1. 不要ファイルを削除したいフォルダに`ファイル自動削除くん.bat`を入れる(お好きな場所にどうぞ)
![where_to_place.png](https://qiita-image-store.s3.ap-northea
CentOS(RHEL) 8 で python , pip コマンドが利用できない
# はじめに
CenoOS で python , pip コマンドが利用できないと思ったらインストールされていないし、インストールしてもデフォルトでインストールしたものを利用してくれないので設定する必要があった
https://dev.classmethod.jp/articles/in-search-of-lost-python-at-rhel-8/#toc-3
# python のインストール
とりあえず、全ての python モジュールをインストールしておく“`bash
dnf install python36*
“`または
“`bash
yum -y install python36*
“`pipコマンドをインストールするのであれば、以下のパッケージをインストールしていいと思う。
* python36-3.6.8-2.module_el8.1.0+245+c39af44f.x86_64
* python3-pip-9.0.3-16.el8.noarch“`bash
rpm -qf /bin/pip3
python36-3.6.8-2.mo
Codeforces Round #662 (Div. 2) バチャ復習(8/8)
#今回の成績
#今回の感想
A問題で焦って実験を間違え時間を食ってしまいました。
**実験が間違っている場合**は今までケアできていなかったので気をつけたいです。
Aに一時間程度も使ってしまいましたが、そういう**沼にはまらない工夫**(**問題から離れる**,**根本的に考察が間違っていたり下らない実装が間違っている可能性を考慮する**,など)をしていけたらと思います。
今までのバチャコンやコンテストでそのようなパターンは集めてこられると思うので、**今までのミスの総ざらい**もできる時にしていきたいです。(また、復習が遅れてしまいました。気を付けたいと考えているのですが、他のタスクが重なると…。)
#[A問題](https:/
Python 基本書き方
pythonの基本の整理のログを書きます。
###データタイプ
intとfloatで計算すると、情報量の多いfloat型になる
“`
type(3+1.3)
> float
“`0,1 0.0001 など小数を書くとき
“`
1e-1
> 0.1 ( 10の-1乗 = 10分の1 = 0.1)
1e-3
>0.001
“`スライス
“`
‘hello'[1:3]
>el‘fileid.png'[:-4]
>fileid
‘fileid.png'[-4:]
>.png
“`スプリット 分けてリストにする
“`
‘hello world’.split(‘ ‘)
>[‘hello’ ,’ world’]
“`改行
“`\nで改行“`タプル 変更できないリスト
Set ユニークな値だけを持つリスト (頻度低)
“`
set1 = {1,1,1,2,2,3,3,3}
> [1,2,3]
“`set()はlistの重複を取り除くときによく使う
“`
list1 = [1,2,2,3,3,3,4,4,4,4
DynamodbをLambdaからSQLっぽく操作する
# 説明の前に
pipのモジュールを利用する方法は、下記の記事を参考にさせていただきました。
ありがとうございました。【Python】AWS Lambdaで外部モジュールを使用する
https://qiita.com/SHASE03/items/16fd31d3698f207b42c9# 1.準備
LambdaにPipのモジュールを持ってくる必要があるため、ローカルにDQLモジュールをインストールする。プロジェクトフォルダ内で、下記
“`sh
$pip install dql -t ./
“`# 2. ソースコード
ファイル名は`lambda_function.py`“`python
import dql
def lambda_handler(event, context):
engine = dql.Engine()
engine.connect(region=”us-west-2″)
results = engine.execute(“DELETE FROM tablename WHERE tm >= 1420071600 A
[Python]ReSpeakerで人の声のみに音源定位
#音源定位とは
音源定位とは、音がどこから聞こえているか、というもので、立体音響やバイノーラルなどを想像して下さい。立体音響は音源定位を行うことで、楽器が後ろから聞こえるように感じたりします。今回は[ReSpeaker Mic Array v2.0](https://wiki.seeedstudio.com/ReSpeaker_Mic_Array_v2.0/)を使用します。
使い方や、その他オプションも基本全てここに書かれていますが、簡単にまとめておきます。
#音源定位の実装
###環境
ubuntu 18.04
python3—-
###環境構築
“`shsudo apt-get update
sudo pip install pyusb click
git cl
condaコマンドチートシート
## 概要
Pythonのパッケージなどを管理したい!
condaで仮想環境を作りたい!
作った環境を新しいPCなんかで再現したい!という方に向けて、そして自分の備忘録として、condaのコマンドをまとめました。
他にもいろいろコマンドはありますが、特に使いそうなものだけ集めています。コマンドの詳しい説明等はしていないので、condaって何それ、おいしいの?という方は、一度チュートリアル的な記事を探したほうがいいかもしれません。
あくまで、チートシート的な目的で使っていただけたら嬉しいです。あと、condaを使っていく流れとして
– 一覧表示
– (仮想環境作成)
– 環境に入る
– パッケージ管理
– (環境再現のためのリストを出力)
– 環境から出る
– (環境の削除)みたいな流れになると思うので、そんな流れを意識して書きました。
## condaコマンド
### conda環境の一覧表示
“`
conda info -e
“`### パケージ一覧表示
– 現在のconda環境のパッケージ一覧表示
“`
conda list
“`– 指定
pysparkでDataFrameの欠損値(null)を前後の値で埋める
# 概要
pyspark(Spark SQL)において、`pandas`における[ffill](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.ffill.html)(forward fill)や[bfill](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.bfill.html)(backward fill)に該当するものはデフォルトでは存在しない。
そのため、近しい処理が必要な場合は自前で工夫する必要がある。(自分用メモ)# 参考文献(答え)
– https://stackoverflow.com/questions/38131982/forward-fill-missing-values-in-spark-python/50422240
– https://johnpaton.net/posts/forward-fill-spark/上記リンク先のような感じでやれ
機械学習の可視化ツールTensorboardを使ってみた
# はじめに
Tensorboardを初めて使いグラフを書きその便利さに感動したので、共有します。
Deep LearningのフレームワークはPyTorchを使用しました。# インストール
Anacondaを使っているので以下のコマンドでTensorboardをインストールします。“`
conda install tensorboard
“`# コーディング
“`Python:tb.py
import numpy as np
from torch.utils.tensorboard import SummaryWriter#グラフを書くSummaryWriterをimportnp.random.seed(1000)
x = np.random.randn(1000)
writer = SummaryWriter(log_dir=”./logs”)#インスタンス生成 保存するディレクトリも指定
for i in range(1000):
writer.add_scalar(“x”, x[i], i)#値を書き込む
writer.add_sc
【Python】PDFからコピーした改行コードだらけのテキストを上手いこと整形する
#はじめに
もともとは前々回、前回の記事
[【Python】英文PDF(に限らないけど)をDeepLやGoogle翻訳で自動で翻訳させてテキストファイルにしてしまおう。](https://qiita.com/Cartelet/items/c56477033cda17a2a28a)
[続【Python】英文PDF(に限らないけど)をDeepLやGoogle翻訳で自動で翻訳させてテキストファイル、いやHTMLにしてしまおう。](https://qiita.com/Cartelet/items/a00d4cec8216d04f9274)で使用するために書いたものですが、役に立ちそうなので別途紹介する次第です。
#PDFからコピーしたテキストの問題点
PDFについての詳しい知識は持ち合わせていないのですが、
PDF内ではテキストが細かいパーツに分割されて書き込んであるようで、コピーしたテキストにもPDFでの表示の通りの位置に改行コードが含まれます。例えば、PDFで
$$ABC.\\\DFE.\\\GHI.$$
のような表示の場合、コピーしたテキストは、
$$ABC.{\r\n}
【データサイエンティスト入門】Pythonの基礎♬関数とクラス
昨夜の[【データサイエンティスト入門】Pythonの基礎♬関数と無名関数ほか](https://qiita.com/MuAuan/items/fe594b794fcf75ae3abe)の続きで関数とクラスの話です。
【注意】
[「東京大学のデータサイエンティスト育成講座」](https://www.amazon.co.jp/%E6%9D%B1%E4%BA%AC%E5%A4%A7%E5%AD%A6%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%82%B5%E3%82%A4%E3%82%A8%E3%83%B3%E3%83%86%E3%82%A3%E3%82%B9%E3%83%88%E8%82%B2%E6%88%90%E8%AC%9B%E5%BA%A7-Python%E3%81%A7%E6%89%8B%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E5%AD%A6%E3%81%B6%E3%83%87%E2%80%95%E3%82%BF%E5%88%86%E6%9E%90-%E5%A1%9A%E6%9C%AC%E9%8
【成長日記:3日目】根尾くんのプロ初ヒットを見守るプログラムを書いてみた【NEO-METER】
根尾くん、プロ初ヒットおめでとう!
プログラムも無事に動いてくれました
NEO-METER 1 pic.twitter.com/tl05IWZVIm— ゆーさん (@fukannk0423) August 11, 2020
2018年ドラフト会議で4球団競合の末中日ドラゴンズに入団した[根尾昂](http://dragons.jp/teamdata/players/neo_a.html)選
暇だったのでカラオケ作ってみた(第2回 ボーカル抽出と音程推定)
内容
—今回は**spleeter**で音楽ファイルからボーカルの分離と**pyworld**で分離したボーカルから音程(ピッチ)を推定するところを記述します。
spleeterによるボーカル分離
—まず、分離したい音楽を用意してください。
今回は[魔王魂](https://maoudamashii.jokersounds.com/)様から[シャイニングスター](https://maoudamashii.jokersounds.com/archives/song_shiho_shining_star.html)をお借りしました。
今回は ./music に test.mp3 に名前を変更して配置しています。“`python
from spleeter.separator import Separator
def main():
sp = Separator(“spleeter:2stems”)
sp.separate_to_file(“music/test.mp3″,”music/spleeter”)
if __name__ == ‘__main
pythonでrequests使ってスクレイピングやろうとしたらSSLErrorでハマったので、対処法メモ
## 背景
題名の通り。結構ググっても、日本語でも英語でもなかなか解決方法見つからなかったので、再発時に参照できるようメモ
## エラーが発生したコード
実際はwikipediaではないけど、`https://~`のサイトをスクレイピングした際に発生した。
今触ってるPCだと、そのサイトが対象でもエラー出ずにスクレイピングできる。なぜだ・・・環境の問題?“`python
import requestsurl = ‘https://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8’
response = requests.get(url)result = response.text
print(result)
“`そのときのエラーメッセージは控えられてないけど、`SSLError`で`bad handshake`という単語が含まれてたのは覚えてる
## 対処法
`verify=False`作戦は使いたくなかったので色々調べ倒したところ、`urllib`と`
【keras】noisy studentを実装して効果確認
#概要
`noisy student`はImagenetでSOTAをたたき出した手法です。
普通データを増やして再学習するときは人間が教師データを作る必要がありますが、`noisy student`はとにかくデータを集めて現状のモデルに推論して仮の教師データとして再学習させることで精度を上げられますので、教師データの作成の時間がいらないということになります。厳密には元のラベルのいずれかに該当するデータを集めてこないといけないですが、人が教師をつける必要がないのはありがたいですね。詳しい説明は以下のサイトを参考にしてみてください。
解説: [画像認識の最新SoTAモデル「Noisy Student」を徹底解説!](https://ai-scholar.tech/articles/treatise/noisy-student-ai-379)
論文:[Self-training with Noisy Student improves ImageNet classification](https://arxiv.org/abs/1911.04252)やっている1つ1つはそこまで難しい
PytorchでTensorboardを使ったらエラーが出た話
# はじめに
PytorchでTensorboardを使おうと思いインストールしてコードを書いて実行したらエラーに出会ったので、それの対処法を書きます。# Tensorboardのインストール
anacondaを使っているので、以下のコマンドでインストールしました。“`
conda install tensorboard
“`# コード
SummaryWriterでグラフを書くためにimportします。“`python:tensorboard.py
from torch.utils.tensorboard import SummaryWriter
“`# エラー
下記のようなImportErrorが出ました。“`
ImportError: cannot import name ‘SummaryWriter’ from ‘torch.utils.tensorboard’During handling of the above exception, another exception occurred:
ImportError: TensorBoa
vscodeでpipenv使うと端末が勝手にpipenv環境内に入り込むの対処法
# 概要
vscodeのpython interpreterの設定がpipenv環境である場合に,vscode内の端末を開くと,勝手に `source $VENV_LOCATION/bin/activate`が実行されて,pipenv環境内に入ってしまう.
それだと,.envで設定したpipenv環境内での環境変数が反映されず困る.# やりたいこと
vscodeのpython interpreter設定でpipenv環境が選択されていたとしても,端末で自動的にpipenv環境がactivateされないようにする.(あとから `pipenv run` なり `pipenv shell`を叩きたいのだ)# 対処法
vscodeの設定画面を開き,
`python.terminal.activateEnvironment`を検索して,enableチェックを外す.
ただこれだけだったが,日本語では僕の検索能力ではヒットしなかったので,一応書いておく.
【簡単】webカメラでAI自動認識!
# はじめに
webカメラでAIにより「**`モノの認識`**」が簡単にできたら楽しいと思いませんか?
公開されているモデルを利用することで**簡単**にそんなことができます。
では、早速やってみましょう!# 具体的にどんなことをやるか
webカメラからPCに画像(映像)を取り込み、そこに写った(映った)ものは何か、AIに**`リアルタイム認識`**させ、画面にTOP3までを表示します。今回は、**`学習済みモデル`**を利用しますので、時間のかかるAI学習などはありませんので、**サクッと遊べます**。
![top.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/405376/016bf83e-b64a-7f0d-5c0c-43e31bcf5468.png)# 開発環境
webカメラからの画像データを取り込むために`OpenCV`というライブラリとAIライブラリである`keras`を使用します。必要なライブラリのパッケージをインストールしてください。|必要なモノ|備考欄|
|:-:|:–|