- 1. [py2rb] __init__
- 2. Pythonを使ったネットワークの可視化
- 3. Python>Flask:YOLOV5を活用した物体検出アプリの作成 (2)Local環境でのwebアプリ立ち上げ
- 4. ServerlessFramework + AWS + Pythonで作るレイヤーと単体テスト
- 5. Qiitaの自分の全ての投稿情報をダウンロードするPythonスクリプト
- 6. Pythonチュートリアル on Jupyter Notebook
- 7. Slack Connectでアプリを利用する時にハマったこと
- 8. Bolt for Pythonを利用して作ったSlackアプリをHacobuneでイゴかす (2021/12/13)
- 9. 機械学習モデルの局所的な説明手法を比較してみる
- 10. 異常検知手法を用いたバズり検知
- 11. データエンジニアの1年のお仕事の振り返り
- 12. Pythonでconnpassメッセージを予約投稿する
- 13. ハーベストと確率と収束
- 14. [研究:その2]ジェスチャー認識で色々遠隔操作してみる
- 15. ローカルでLINEチャットbotテスト環境を構築する(python, ngrok)
- 16. AWS Lambda(Python)のバリデーションロジックについて
- 17. Python初心者がノンプロ研でPython学んでみた vol.5
- 18. AWS LambdaでEC2インスタンスを起動してコマンドを実行する。waiter_until_running()じゃなくて、waiterコマンド!
- 19. ナミブ砂漠でシマウマに会うための技術
- 20. RadeonとかのGPU使用率を取得(Python)
[py2rb] __init__
# はじめに
移植やってます
# __init__ (Python)
“`python
class IteratorContextManager(NoOpBaseReader):
def __init__(self, *args, **kwargs):
self._func = kwargs.pop(‘parser_func’)
self._args = args
self._kwargs = kwargs
if type(self) == IteratorContextManager:
self.reset()
super(IteratorContextManager, self).__init__(*args, **kwargs)
“`
インスタンスを生成されるときに呼び出されます。
しかし、`super.__init__`ってなかなか凄いですね。
# initialize (Ruby)
“`ruby
class A
def initialize(*args)
Pythonを使ったネットワークの可視化
本記事は、[Mohit Mayank](https://mohitmayank.medium.com/)氏による「[Visualizing Networks in Python](https://towardsdatascience.com/visualizing-networks-in-python-d70f4cbeb259)」(2021年1月26日公開)の和訳を、著者の許可を得て掲載しているものです。
#Pythonを使ったネットワークの可視化
>ネットワークを「見る」のに役立つツールの実践ガイド![](https://miro.medium.com/max/1400/1*hGSB_iuTvjU59oycsswd7A.jpeg)
Photo by [Scott Webb](https://unsplash.com/@scottwebb?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/s/photos/network?ut
Python>Flask:YOLOV5を活用した物体検出アプリの作成 (2)Local環境でのwebアプリ立ち上げ
# 1.概要
FlaskとYOLOV5を使って、物体検出を行うwebアプリを作成しました。
(1)「ファイル選択」でjpgまたはmp4ファイルを選択して「送信」)
(2) 物探検出結果をグラフとgifで出力![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613560/ea242b60-82cb-38b8-d4a4-93aefd21c130.png)
以下3つの環境での立ち上げを紹介します。
* [Google Colaboratory環境でのWebアプリの立ち上げ](https://qiita.com/k_koba619/items/5f10d2e56035a059d9ae)
* **Local環境でのwebアプリの立ち上げ【今回紹介】**
* herokuへのWebアプリのデプロイ(作成中)# 2.Local環境でのWebアプリの立ち上げ
※今回ご紹介するのはWindows10環境になります。Mac等の他環境では手
ServerlessFramework + AWS + Pythonで作るレイヤーと単体テスト
# はじめに
ServerlessFramework + AWS + Pythonでバックエンドを構築しているとき、開発規模が大きくなってくるとLambda内のPythonコードを共通化したくなることがあると思います。そんなときに使えるのがLambdaレイヤー。Lambdaレイヤーとして作ったモジュールを色々なLambdaで使い回すことができます。モジュールのサイズが大きくなりすぎてコンソールで表示されなくなった時の切り分けにも使えそうです[以前の記事](https://qiita.com/nashitake/items/b8122bc9693d592f5360)の続きです
## 最終的な構成
“`
/
├── serverless.yml
├── functions/
│ ├── hello/
│ │ ├── handler.py
│ │ └── requirements.txt
├── layers/
│ ├── original_module.py
├── layers-test/
│ ├── test_original_module.py
Qiitaの自分の全ての投稿情報をダウンロードするPythonスクリプト
### はじめに
Qiitaに投稿した自分の記事を見直し、どんな記事がよく見られているのか分析したくなる時があります。マイページを見れば済む話ではありますが、それでは芸がありません。エンジニアらしく、QiitaAPIを利用することで、投稿情報をまとめて取得することを目指します。### 環境
Windows10 home
python 3.7.9### 前準備:アクセストークンの発行
アクセストークンの発行はこちらから → [アクセストークンの発行 – Qiita](https://qiita.com/settings/tokens/new)アクセストークンの説明を適当に付けて、スコープが 「read_qiita」になっていることを確認して、「発行する」ボタンを押します。アクセストークンの文字列はコピーして、メモ帳などに貼っておきます。後で使います。
![アクセストークン.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/577794/009b8d5d-1eef-1328-40af-980a1d
Pythonチュートリアル on Jupyter Notebook
Pythonチュートリアル(3.9)のWebサイトの内容をJupyter Notebookで実際に動かしながら学習できるように編集しました。
元にしたWebサイトはこちら
https://docs.python.org/ja/3.9/tutorial/
オリジナルのサイトに加え、わかりにくいと思われる箇所の補足説明や、全てのコードが実行できるようにテストデータを作成するコードの追加等を実施しています。Pythonの自己学習や、Python3エンジニア認定試験の学習ツールとして活用ください。
下記のGithubのサイトからファイルをダウンロードして、Jupyter notebook環境、またはGoogleコラボ上で実行してください。
https://github.com/DeepAelurus/Python_Leraning
Pytho
Slack Connectでアプリを利用する時にハマったこと
Slackアプリの開発が楽しい最近。
こんなアプリを開発してみました。[TASUKARU-TaskAll- Task Manager for Slack](https://lne.st/ulik)
>Slack用のタスクマネージャーアプリです。
>私自身がスレッドやメンション画面で依頼されたタスクを探すことが多いのですが、既存の画面では処理が終わったスレッドをアーカイブすることは出来ません。
>加えて、処理したあとにコメントをスレッドに追加すると、スレッドタブの上位にソートされるので、未処理タスクが下へ下へと埋もれていってしまいます。
>このアプリでは、やり取りのあったスレッドをリストするに加えて、アーカイブ機能を付けました。アプリの画面だけみていれば必要なやり取り全てが把握できるという状態を目指して作られたアプリです。![TASUKARU_-TaskAll-_Task_manager_for_Slack_-_Google_スライド.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22294/8
Bolt for Pythonを利用して作ったSlackアプリをHacobuneでイゴかす (2021/12/13)
https://qiita.com/advent-calendar/2021/docker
2021/12/13(月)の回です。
前の日は、@kaizen_nagoyaさんによる『[あなたもdocker, 私もdockerから5ヶ月。](https://qiita.com/kaizen_nagoya/items/5bd936de6d26c914af4d)』でした。
私は
$\huge{どっかーら}$
やってこうかしら。
そうだ! [Slack](https://slack.com/)アプリをイゴかしてみよう[^2]!!!—
# はじめに
[docker](https://www.docker.com/)を楽しんでいますか:bangbang::bangbang::bangbang:
[Slack](https://slack.com/)を楽しんでいますか:bangbang::bangbang::bangbang:
[Hacobune](https://www.sakura.ad.jp/information/annou
機械学習モデルの局所的な説明手法を比較してみる
この記事は[BrainPad Advent Calendar2021](https://qiita.com/advent-calendar/2021/brainpad) 13日目の記事となります。
アナリティクスサービス部の佐々木です。今回は機械学習モデルの局所的な説明手法について、[interpretable machine learning](https://hacarus.github.io/interpretable-ml-book-ja/)という本を参考に解説していこうと思います。
# はじめに
自分は21卒として入社し、研修を経て半年ほどデータサイエンティストとして仕事を行なってきましたが、ビジネスの現場において機械学習モデルの解釈が求められることは多いなと感じています。
入社以来、需要予測の案件に関わっているのですが、「なぜこの商品は需要はこの値になるのか」「なぜこのカテゴリの商品は予測精度が悪化しているのか」といったような質問をクライアントの方から頂く場面がありました。
学生の頃は、機械学習モデルの解釈性は新薬開発やクレジットカードの審査など、人命、生活に大
異常検知手法を用いたバズり検知
この記事は[レコチョク Advent Calendar 2021](https://qiita.com/advent-calendar/2021/recochoku) の 13 日目の記事となります。
今回は、異常検知手法を用いて、「アーティストのバズり検知ロジック」を作る過程を記事にしたいと思います。
## はじめに
現在、 TikTok やサブスクサービス等で楽曲が**バズり**、一気にスターダムまで駆け上がる例が出てきています。
バズりを素早く検知することができれば、次の施策に向けて予算を確保したり、企画を立てたり、素早く動き出すことができます。貴重なチャンスを見逃さないためには、バズりの検知を自動化することが望ましいです。
アーティストにとって**バズる**とは、楽曲が通常時よりも多く聞かれるようになることであり、音楽に関心の高いユーザが多い音楽サブスクサービスでその動きが顕著に出ると考えられます。
今回は弊社サブスクサービスにおける再生数の推移を時系列データとし、異常検知手法を適用することでバズりの自動検知を試みようと思います。## 時系列データの異常検知
一
データエンジニアの1年のお仕事の振り返り
データエンジニア(?)としてのお仕事の1年の振り返りを上長から執筆の許可をいただいたので今年も記事にしておきます。今年やってみたこと・やってみて良さそうに思えたもの・考えが変わったものなど色々と雑多に触れていきます。
※理想からはまだまだ遥かに遠く、他社さんの方が遥かに先を行っている事例も多いですがあくまで1事例としてお読みください。
※筆者はゲーム業界に所属しているため他業界とは結構ずれているところもあるかもしれませんがご容赦ください。
**※あくまで弊社のケースをベースとしています。会社や環境・状況など様々だと思いますので1つの事例程度にお考え下さい。**# 弊社の場合データ基盤は横断基盤の方が良いのでは?という考えに変わってきた
去年のアドベントカレンダーで書いていた時点では「各プロジェクト横断のデータ基盤にするべきか?」「それとも疎結合にしてサイロ化させるべきか?」というのは判断が出ず迷っていました。
去年の記事 :
https://qiita.com/simonritchie/items/34dc9c4dcd103f950d33
迷っていた理由(それぞれの感じて
Pythonでconnpassメッセージを予約投稿する
# はじめに
こんにちには。私はconnpassでオンライン勉強会を運営してますが、作業の一部を自動化したことを今回共有します。誰にでも役に立つ可能性があるので最後まで読んでいたければ幸いです。
さて、コミュニティの運営にはさまざまな作業がありますが、この中にパターン化できることがたくさんあります。
例:
* イベントコンテンツの大枠準備
* Zoom、Slido,アンケートフォーム、短縮URL、QRコードの準備
* 視聴者への各種メール通知(イベント案内、配信先URLの案内、アンケート依頼) ★今回はここです!
* オープニングスライドの雛形作成
* 登壇者への当日準備通知
* Togetterのまとめ
* アンケート結果の集計、発表者へのフィードバック
* connpassの申込数やランキングがある数値に達するとツィートするbot今回は[connpass](https://connpass.com/)にYoutubeの配信URLやSlidoの質問URLの事前案内や、アンケートフォームの依頼を予約投稿したり、イベントサイトの「参加者への情報」欄へ記入する操作を自動化する方
ハーベストと確率と収束
#確率について
##くじを当てるには
1/100で当たるくじが目の前にあるとします.あなたはこのくじをどうしても当てたいとします.
ではこのくじを100回引いたとき,あたりは確実に引けるでしょうか?答えはNOです.
100回引いたときに当たりを一つでも引いている確率は次のようになります.
1-(当たらない確率)^(試行回数)
=1-(99/100)^100=0.63・・・となり100回引いても約63%の確率でしか当たりを引くことができません.37%の確率で外します.
200回引いて86%,300回引いて95%,400回引いて98%と,ほぼ確実に当たる確率に近くなるには相当な試行回数が必要になります.##収束について
確率論として,大数の法則というものが知られています.これは試行を多く行えば,ほぼ結果が確率通りになるといったものです.では先ほどの例で確率が収束するか検証してみましょう.データをエクセルで作ってみます
![a.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1974869
[研究:その2]ジェスチャー認識で色々遠隔操作してみる
現在、私は大学で骨格認識技術を使用してIOTデバイスだったりアプリケーションをジェスチャーで遠隔操作すると言った研究をしています。この記事は、進捗報告件、やってみた記事として上げていきたいと思います。
前回まではこちら。
https://qiita.com/magisystem0408/items/9548005b706cbdb94045
## 前回までのスケジュール
![スクリーンショット 2021-12-13 2.06.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1466470/12a3ef3f-f10c-d623-c208-1800ca1b2a4c.png)## 今週実装したもの
### yeelightの繋ぎこみ完了
yeelightは操作するデバイスとライトが同じwifiを使用をしていることが必須で、2.4G/Hzの通信帯出ないと繋げません。![light.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaw
ローカルでLINEチャットbotテスト環境を構築する(python, ngrok)
## はじめに
こんにちは!アベンドカレンダー13日目担当です。
趣味でLINEチャットbotを開発していましたが、一番難しかったのがコードを変更せず、本番用botとテスト用bot両方を使える環境を構築することでした。手探りに時間はかかりましたが、構築自体はすごく簡単なものだったのでこの記事で共有します。
## 手順
1. ngrokインストール
2. LINEデベロッパーコンソールで本番用、テスト用bot作成, トークン発行
3. herokuなどのデプロイプラットフォームで 環境変数登録
4. コード修正
5. 実行### 1. ngrokインストール
[ngrok – download](https://ngrok.com/download)
### 2. LINEデベロッパーコンソールで本番用、テスト用bot作成
![스크린샷 2021-12-13 00.26.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/674486/d4a99036-a37e-a69f-
AWS Lambda(Python)のバリデーションロジックについて
## はじめに
皆さんは、AWS Lambdaの開発言語は何を使っていますか?
選択肢はいろいろあるかと思いますが、私はPythonで開発しています。
Lambdaの中で送られてきた値のチェック(バリデーション)をすることも多いかと思いますが、そのロジック自前で実装していませんか?
ライブラリを使うと自前で実装せずに実装できるので紹介します。## 実装例
### ソースコード
とにもかくにも、コードを見てもらったほうが早いと思います。
“`py
from aws_lambda_powertools.utilities.validation import validate
from aws_lambda_powertools.utilities.validation.exceptions import SchemaValidationErrorBODY_SCHEMA = {
“$schema”: “http://json-schema.org/draft-07/schema”,
“type”: “object”,
“examples”: [
Python初心者がノンプロ研でPython学んでみた vol.5
こんにちは、な~です。ノンプロ研でPythonを学び始めました。その学びについての第5回目です。今回は、スクレイピング基礎について学びました。私にとっては、初めてのスクレイピングです。
# 今回の内容
– スクレイピングの基礎知識
– HTTP通信 – requestsモジュール
– HTML解析 – beautifulsoup4モジュール# スクレイピングの基礎知識
スクレイピングとは、Web上のデータを収集することを言います。
Web上で公開されている情報としてもスクレイピングを行う際には注意しなくてはならないことがあります。
![20211208初心者講座Pythonコース-05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1208544/fb39dddd-f729-1a73-dbf8-f922e1f39b00.png)
相手の立場に立って節度あるスクレイピングをすることが大切そうです。# HTTP通信 – requestsモジュール
まずは、Pythonによるスクレイピングに必要な知
AWS LambdaでEC2インスタンスを起動してコマンドを実行する。waiter_until_running()じゃなくて、waiterコマンド!
AWS Lambdaで、停止しているEC2インスタンスを起動させて、
立ち上がるのを待ってからコマンドを実行する、とした時に
詰まった点があったので備忘録として。## 結論から
“`python:function_lambda.py
import boto3def lambda_handler(event, context):
instance_id = ‘起動したいEC2インスタンスID’
ec2 = boto3.client(‘ec2’)
ec2r = boto3.resource(‘ec2’)
instance = ec2r.Instance(instance_id)
status_instance = ec2.describe_instances(InstanceIds=[instance_id])if status_instance[‘Reservations’][0][‘Instances’][0][‘State’][‘Name’] == “running”:
print(‘インスタンス起動済
ナミブ砂漠でシマウマに会うための技術
この記事は [Akatsuki Advent Calendar 2021](https://adventar.org/calendars/6566) 12日目の記事です。
# シマウマに会いたい
クリスマスも間近に控えた近頃です。みなさまいかがお過ごしでしょうか。
僕は今、とてもシマウマに会いたいです。実はこんな↓ツイートを見かけまして…。
ナミブ砂漠のライブカメラおもしろいという日記
ライブカメラはこれ↓https://t.co/HXrL0yIQZb色んな動物の名前出してるけど私がこれかな?と思い込んでいるだけで違う動物かも pic.twitter.com/IPFlaVimlV
— 留吉(豆板醤) (@masa1xkane) December 11, 2021
このツイートで紹介されているのは、ナミブ砂漠の人口水場に設置された定点カメラからのライブ配信です。覗いてみると、色々な動物が結構頻繁に訪れては水を飲んでいる様子が観察できます。
そして、ツイートでは> シマウマとか(中略)なんでもくる
と語られています。シマウマくるんですか!! めちゃくちゃみたい!
アフリカの大地を闊歩するシマウマの姿、想像するだけで胸が躍りますね。う〜んでも僕が配信をちょっとみていた感じだと、シマウマは姿を表しませんでした。そこはサバンナの人気者、結構レアキャラなのかもしれません。
RadeonとかのGPU使用率を取得(Python)
誰かに使えるわけでもない、そんな記事です。
自分へのメモ用に…# はじめに
ふと、RadeonとかのGPU使用率ってどうやって取るんだ?という疑問をもった
Radeonソフトとか、パフォーマンスモニター、タスクマネージャーを使うとできるんだけど、それを数値で取得したいなぁと思った
というのは、ちょうど、モニタリングアプリケーションを作っていたhttps://qiita.com/ppza53893/items/6bd3c5923376f348889b
ので、なんか最後にpythonでできないかなーと思い、いろいろ調べてみた。
すると、stackoverflowとかでそれっぽいのを発見
– https://stackoverflow.com/questions/56830434/c-sharp-get-total-usage-of-gpu-in-percentage
– https://superuser.com/questions/1632758/how-to-get-gpu-usage-and-gpu-memory-info-of-a-process-by-powershe