- 1. 現在の気象データを取得し自動更新しながらGUIで表示する方法
- 2. Herokuでデプロイする際に出たSlug Sizeエラーの解決方法
- 3. [Python] 作ってわかるTF-IDF
- 4. サイドチェストを見逃さない!(ジェスチャ認識)
- 5. Web カメラで得た画像を Streamlit 上で表示する
- 6. ゼロから始めるLeetCode Day54 「1290. Convert Binary Number in a Linked List to Integer」
- 7. Python3学習1
- 8. genbankファイルをgffファイルに変換する
- 9. pandasで複数のキーを使った検索をする場合の速度比較(MultiIndex vs Others)
- 10. Python 3 インデクサとシークエンスのアンパック(アンパック代入)
- 11. pythonを使って玄関のカギを開ける。
- 12. 型を意識したPythonの変数命名
- 13. python 3.8.2でprologを動かしてみた
- 14. Windows EventLogをjson形式に変換する
- 15. (自分用)VS CodeにFlask入れる
- 16. PoetryでもPython3.8を使いたい!
- 17. ゼロから始めるLeetCode Day53 「1365. How Many Numbers Are Smaller Than the Current Number」
- 18. python 入門
- 19. 「14日で作る量子コンピュータ」を読んでみる。5日目 量子井戸の改良・障壁の追加
- 20. Pillowを使用して画像を透過して一部だけ重ねる
現在の気象データを取得し自動更新しながらGUIで表示する方法
#0.最初に
今回作るものがどういう感じで動くのか見てみたい方は、[こちら](https://youtu.be/gLE4XS3FKbE)(youtubeの動画)でどうぞ。
#1.OpenWeatherMapAPIの設定
まず[こちら](https://openweathermap.org/)のOpenWeatherMapにアクセスします。
![w1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616944/b4c5c994-b5b7-9906-dc60-f53729c40f9e.png)
そして、ログインをするとこのような画面が表示されるのでそこの上のAPIのところをおします。
![Polish_20200613_071205710.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/616944/52e8dabf-a1da-592f-b45d-27579a017a3e.png)
そして、現在の気象データを取得するために
Herokuでデプロイする際に出たSlug Sizeエラーの解決方法
# はじめに
機械学習を用いたアプリをHerokuでデプロイしようとしたところ、下のようなエラーが出ました。
“` python
Compiled slug size: 625.5M is too large (max is 500M)
“`
「Slug Sizeを減らす方法」で検索すると下記の解決方法①についてはたくさん出てくるのですが、それでは解決できなかったので、私が検索しまくって辿り着いた解決方法と合わせて紹介します。# 解決方法①
「Slug Size too large」などで検索すると一番よく出てくる解決方法です。
まず、heroku-repoというライブラリをインストールします。“`
heroku plugins:install heroku-repo
“`以下のコードでGitレポジトリに残っているキャッシュが消され、Slug Sizeが減ります。<アプリ名>には自分のアプリ名を入れてください。
“`
heroku repo:gc –app <アプリ名>
heroku repo:purge_cache –app <アプリ名>
“`参
[Python] 作ってわかるTF-IDF
TF-IDFのメモ.
TfidfVectorizerを使ったほうがはるかに簡単 なのですが,勉強も兼ねて.
おかしなところがあれば,優しく教えてください.計算の対象となる文書
“`hoge.txt
white black red
white white black
white black black black
white
“`“`
#準備
print(word_set)
[‘black’, ‘red’, ‘white’]print(doc_words)
[[‘white’, ‘black’, ‘red’], [‘white’, ‘white’, ‘black’], [‘white’, ‘black’, ‘black’, ‘black’], [‘white’]]
“`“`
def tokenizer(word_set, doc_words):
token_doc = []
for words in doc_words:
temp =
サイドチェストを見逃さない!(ジェスチャ認識)
# 概要
ジェスチャ認識をするための記録です。
一番認識したかった[ボディービルのポーズ](http://cyoshida.web.fc2.com/01taikaicontents/kihonpose/kihonpose.htm
)を認識しました。
[手認識が実用レベルに到達した件](https://qiita.com/mbotsu/items/3e43be59de87e9e5a146)を読んで、Move Mirrorについての[記事](https://medium.com/tensorflow/move-mirror-an-ai-experiment-with-pose-estimation-in-the-browser-using-tensorflow-js-2f7b769f9b23)を参考に実装を行いました。
[posenet-python](https://github.com/rwightman/posenet-python)にコードを追加する形でジェスチャ認識を行っています。
試してくださる方はposenet-pythonをダウンロードして、フォルダ上に私の書いたファイルを
Web カメラで得た画像を Streamlit 上で表示する
# 本日は
– 前回は [Streamlit](https://docs.streamlit.io/en/latest/api.html) でデータの可視化アプリを作りました。
– `streamlit.image` で画像を表示させることができました。
– 人間は欲張りなので単数のオブジェクトができたら複数のこと、連続して単数のオブジェクトを処理できるか考えたくなるものです。
例えば Web カメラで撮像した画像を深層学習のモデルの入力として利用しその結果を表示するというようのなことができるのではないでしょうか? やりましょう。# やりたいことはな〜んだ?
– カメラから画像を取得
– モデルの用意
– 画像を適切に前処理しそれをモデルに投げる
– モデルの出力をStreamlit上に表示これのフローが構築できればデモ作成が捗りそうですね。
![undefined]()
![error]()
# 作りましょう
– ここでは画像分類タスク (Image Classification) を実行するデモを作りましょう。 `The fastest way to bu
ゼロから始めるLeetCode Day54 「1290. Convert Binary Number in a Linked List to Integer」
# 概要
海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。
どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。
早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。
と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。
ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。
[Leetcode](https://leetcode.com/)
Python3で解いています。
[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)
前回
[ゼロから始めるLeetC
Python3学習1
前回は開発環境を仮想環境で整え、Python3が動作するのを確認するところまで行いました。
今回は、Python3で入力など行っていきたいと思います。# 初めに
コンソール画面でPython3と入力するとPythonのコーディングが可能になりますので
ここでコーディングを行っていきたいと思います。“`
python3
>>>
“`## 出力
printで囲われた内容が出力されます
“`
>>> print(“任意”)
任意
“`### 四則演算
– +“`
>>> print(3 + 4)
7
“`– ー
“`
>>> print(5 – 1)
4
“`– /
“`
>>> print(10 / 2)
5.0
“`
– *“`
>>> print(4 * 4)
8
“`– 文字+数値
“`
>>> print(9 + ”4”)
File ““, line 1, in
TypeError: unsupported operand type(s) for +: ‘int’ and ‘
genbankファイルをgffファイルに変換する
“convert gbff to gff”とかで検索して
[Question: Converting Gbff To Gff3](https://www.biostars.org/p/9926/)
というようなディスカッションの内容を見て途方にくれている人様々な形式のライフサイエンスデータを変換できるツールが知りたい人向け
## 経緯(読み飛ばしても問題ない)
クリックして展開
NCBIからゲノムデータを取得すると
– fastaファイル(.fasta)
– genbankファイル(.gbff)
が取得できる。
塩基の配列情報(.fasta)+配列に遺伝子情報を付加するアノテーションファイル(**.gbff**)
によってゲノムを読み解くことが可能となる。ただこのデータをIGV等でリファレンスゲノムとして使用したい場合、
アノテーションファイルは **.gff**(gff3)か **.gtf**(gff2)等でないとIGVが情報を読み込んでくれない。
(ファイル形式の説明については省略)gbff(G
pandasで複数のキーを使った検索をする場合の速度比較(MultiIndex vs Others)
# はじめに
複数のキーを使って行を抽出する際に便利なMultiIndexですが、私はその存在を知らずに複数キーを検索していたので、MultiIndexを使う場合と使わない場合の実行速度を比較してみました。# 実行環境
– Python 3.7.4
– pandas 0.25.1
– Jupyter Notebook 6.0.1コードの実行と速度測定はJupyter Notebook上で行いました。
また、以下のコードは“`Python
import pandas as pd
“`が実行されている前提とします。
# データ準備
“`sample.csv
city,year,number,dividion
Tokyo,2019,1,A
Tokyo,2019,2,B
Tokyo,2020,1,C
Tokyo,2020,2,D
Tokyo,2018,1,E
Tokyo,2018,2,F
Kyoto,2019,1,G
Kyoto,2019,2,H
Kyoto,2020,1,I
Kyoto,2020,2,J
Kyoto,2018,1,K
Kyoto,2018,2Python 3 インデクサとシークエンスのアンパック(アンパック代入)
Python 3では`tuple`や`list`の分割にインデクサと[シークエンスのアンパック(アンパック代入)](https://docs.python.org/ja/3/tutorial/datastructures.html#tuples-and-sequences)の2通りが使えます。後者は慣例的なアンダースコア`_`による変数の破棄(`_`の使い回し)や[アスタリスク`*`によるイテラブルの残った要素のリストへの代入](https://docs.python.org/ja/3/reference/simple_stmts.html#assignment-statements)が可能です。
なお、ここではPython 3ドキュメントにあるタプルへのアンパック以外、リストへの変換もコード中で左辺の要素の一部が変数として利用できればアンパックとみなしています。
“`py
[a, b] = 0, 1
# 上式はタプルからリストへの変換だが、リストの要素bは変数として使える
b = 2
print(b) # 2
print((a, b)) # (0, 2)
“`# 前提
pythonを使って玄関のカギを開ける。
pythonを使って玄関のカギを開ける。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274715/1113000d-6fc6-61e7-1ce0-e33d3097fd0f.png)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274715/59c78e81-0290-61ad-b7de-4e26d7dbd945.png)
#セサミ mini スマートロック + WiFiアクセスポイント 価格¥14,500
#初期設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274715/9ae9ae42-00f0-c6fd-dc28-b539a9e73f15.png)#Keyをもらう
**https://my.candyhouse.co/
![image.png](https://qi型を意識したPythonの変数命名
Pythonは動的型付言語ですから、変数宣言時に型をつける必要がありません。
これは初心者にとっては、わかりやすいという大きなメリットです。
しかし、だんだんプログラムが肥大化していくにしたがって、「あれ?これってリストなのだろうか。タプルだろうか?」とわからなくなってくることがあります。~~チーム開発などしている場合は、チームのコーディング規則にのっとるべきですが、個人でちょっとした開発をする場合や、コンペのためにコードを書く場合だと、わざわざ静的解析のツール(MyPy)なんかを導入するのも面倒です。~~
~~今回はそんなときの変数命名で、インターン先の社員さんに聞いたちょっとしたコツをメモ。~~~~よしあしがあるかもしれませんが、例えば、画像のリストが下にある場合、~~
“`
images = [img1,img2,img3,…]
“`~~としてもいいのですが、~~
“`
images_list = [img1,img2,img3,…]
“`~~とすると、tupleや辞書でもなくlistだよ!というのが伝わります。
`images_ndarrapython 3.8.2でprologを動かしてみた
「pyswip便利なんだけどpython 3に対応してないからな~泣」という声をネットのどこかで見かけたので、
「**python3.8.2でもpyswipちゃんと動いたよ**」という報告をしようと思い、この記事を書いた。
蛇足だが、予言者でもない限り、「python3でも動く」とは確かに言えない。python3.8.2で動いても、python3.8.3以降で動く論理的な保証はどこにもないからだ。
1. `pip install pyswip`
2. 次のコードを実行“`python
from pyswip import Prolog
p = Prolog()
p.assertz(“father(michael, john)”)
p.assertz(“father(michael, gina)”)
for s in p.query(“father(X,Y)”):
print(s[“X”], “is the father of”, s[“Y”])
“`3. 次のように標準出力を得る
“`
micheal is thWindows EventLogをjson形式に変換する
# Overview
[Windows EventLogをElasticSearchにimportする](https://qiita.com/sumeshi/items/491891d83c3aca224880)
[Windows EventLogをElasticSearchにimportする(のを100倍早くする)](https://qiita.com/sumeshi/items/cb2fbafe59c2c83e3085)の続きです.
昨年evtx形式のファイルをElasticsearchにインデックスするライブラリをつくったんですが,
poetryにリプレースした(機能追加もした)ついでにPyPIにアップロードしたのでその記録です.# Usage
https://github.com/sumeshi/evtx2es“`bash
$ evtx2json /path/to/your/file.evtx /path/to/output/target.json
“`“`python
from typing import List
from evtx2es impor(自分用)VS CodeにFlask入れる
# VS CodeにFlaskを入れさせてや泣(macOS)
Flaskとは何かとかそういうまじで分からん
# 1.まず流れだけ
1. venvで仮想環境作る
2. Flaskをpip installで入れる
3. 動作確認して終了# 2.具体的な話
## 2-1.仮想環境を作成
– いい感じのフォルダを作っておく– `python3 -m venv <仮想環境の名前>`を作ったフォルダのターミナルに入れる
(もし怒られるならpy,python,python3を総当たりで変更してみる)– 多分左下の方にpython~~ってあるからそこを選択、
“Python <バージョン名> <さっき作った仮想環境名>“みたいのが有るはずなので、クリック。
これでPython仮想環境を使うよって宣言した様なもん– もし仮想環境でターミナル使いたい場合は、上のツールバーに有る
“表示”→”コマンドパレット”→”`Python: Create Terminal`を入力”
で開く## 2-2.Flaskのインストール
– 前述のやり方でターミナPoetryでもPython3.8を使いたい!
# はじめに
そろそろ`Python3.8`がリリースされて、半年以上が経ちます。
(最初のリリース日は2019年10月14日([参考](https://www.python.org/downloads/)))
なのに!
`Python3.8`が使えてない![面白そうな新機能](https://qiita.com/ksato9700/items/3846e8db573a07c71c33)がたくさんあるのに!!
と言うことで、MacOSに`Python3.8`を入れていこうと思います。
ただ、巷にあふれている`pyenv`を利用する方法ではなく、
`homebrew`で入れられる`Python@3.8`を利用する方法です。
(`pyenv`アレルギーなので)# 手順
## 1. `homebrew`にて`python@3.8`をインストール
`homebrew`を入れてない場合は、`homebrew`のインストールから行いましょう
`Python@3.8`のドキュメントは[ここ](https://formulae.brew.sh/formula/python@3.8)ゼロから始めるLeetCode Day53 「1365. How Many Numbers Are Smaller Than the Current Number」
# 概要
海外ではエンジニアの面接においてコーディングテストというものが行われるらしく、多くの場合、特定の関数やクラスをお題に沿って実装するという物がメインである。
どうやら多くのエンジニアはその対策としてLeetCodeなるサイトで対策を行うようだ。
早い話が本場でも行われているようなコーディングテストに耐えうるようなアルゴリズム力を鍛えるサイトであり、海外のテックカンパニーでのキャリアを積みたい方にとっては避けては通れない道である。
と、仰々しく書いてみましたが、私は今のところそういった面接を受ける予定はありません。
ただ、ITエンジニアとして人並みのアルゴリズム力くらいは持っておいた方がいいだろうということで不定期に問題を解いてその時に考えたやり方をメモ的に書いていこうかと思います。
[Leetcode](https://leetcode.com/)
Python3で解いています。
[ゼロから始めるLeetCode 目次](https://qiita.com/KueharX/items/6ee2502c3b620c795b70)
前回
[ゼロから始めるLeetCpython 入門
#python入門
自粛期間もあり、自分のスキルの棚卸しなど含めて、業務に使っているスキルを復習ということで基礎から学習していこうと思います。
## 環境構築
環境構築はvenvで環境構築をつくり、仮想環境で開発環境を整えます。
作業ディレクトリを作成
“`
mkdir [作業ディレクトリ]
“`作業ディレクトリ内で仮想環境を作ります。
“`
cd [作業ディレクトリ]
“`仮想環境を作成
“`
python3 -m venv [任意の名前]
“`### active
仮想環境に入る
“`
source [任意の名前]/bin/activate
“`仮想環境に入ることが出来たと思うのでPythonのVersionを確認します。
正常に動作していればVersionが表示されます。“`
python -V
Python 3.7.3
“`開発環境が出来たので次回からはPythonの文法について学習していこうと思います。
「14日で作る量子コンピュータ」を読んでみる。5日目 量子井戸の改良・障壁の追加
# はじめに
今回は量子井戸の改良を行います。具体的には量子井戸の中心にポテンシャルの障壁を追加することでより量子ビットとしての役割を果たすようにしていきます。# 5 量子井戸の改良
## 5.1 障壁の追加
量子井戸をビットとして扱うためにここでは量子井戸の改良を行う。具体的には量子井戸の中心にポテンシャルの壁を作る。このポテンシャルの高さを$V_b[eV]$、幅を$W$とするとポテンシャルは以下のように表される。“`math
V(x)=\left\{\begin{array}{ll}
V_b & (|x|\leq \frac{W}{2})\\
0 & (\frac{W}{2} < |x| \leq \frac{L}{2})\\ +\infty & (|x| > \frac{L}{2})
\end{array}
\right.
\quad (5.1)
“`## 5.2 障壁あり量子井戸のプロット
基底状態と第一励起状態の障壁のサイズ$V_b$を3[eV]少しずつ大きくして行った時の様子をプロットしてみる。### 5.2.1 基底状態の時
![ep_StarPillowを使用して画像を透過して一部だけ重ねる
# はじめに
業務で画像を一部だけ重ねる必要があり、方法を調べたのでメモとして残しておきます。
最初はopencvを使用して、重ねる予定でしたが、調べているうちにPillowを使用したほうが楽そうだったのでそちらを使用する方法に切り替えました。
使用する画像は以下
# 画像を透過する
まずは、画像を透過する。
これは検索すれば結構出てくるのですぐにできると思います。実装は以下。
“`
関連する記事
OTHERカテゴリの最新記事
-
- 2024.09.19
JavaScript関連のことを調べてみた
-
- 2024.09.19
JAVA関連のことを調べてみた
-
- 2024.09.19
iOS関連のことを調べてみた
-
- 2024.09.19
Rails関連のことを調べてみた
-
- 2024.09.19
Lambda関連のことを調べてみた
-
- 2024.09.19
Python関連のことを調べてみた