- 1. 論文の勉強6 ResNeXt
- 2. 「Python実践データ分析100本ノック」を写経してみた
- 3. 【SIGNATE】鋳造製品の欠陥検出
- 4. DjangoテンプレートでOpenStreetMapを使ってみました
- 5. Lambda(SAM)からAmazon Kinesis(LocalStack) へレコード入力・取得を行う方法 メモ
- 6. PythonとAPIを使ってツイートしたらライトをつける
- 7. Macbook pro M1 Pro Maxを買ったので、Python2から3系にデフォルトを切り替える。
- 8. Pythonで複数画像を1つのPDFにさせてみた
- 9. Wordle のソルバーを Python で実装する
- 10. プログラミング未経験のOLが作る!スイーツ画像識別アプリ
- 11. Metaより発表された自己監視型学習Data2vecをCIFAR-10で試す
- 12. Pythonでmp4をmp3 , wavに変換。EXE化。 ドラッグアンドドロップ。 (windows版)
- 13. Pythonでmp4をmp3 , wavに変換 (ubuntu版)
- 14. 【python】散布図で見るロト6当選データ(DataFrame再作成~散布図作成)
- 15. Pythonによる画像圧縮
- 16. 「エントロピーと秩序」のプログラムをpythonで書く~揺らぎ
- 17. PySimpleGUIでスケジュル管理プログラムの作成 その1
- 18. 【MLOps】「いつか使いたい!」と思っていた人のためのMLflowまとめ
- 19. MLflowの環境構築方法まとめ【Docker, S3】
- 20. kivyMDチュートリアル其の肆什伍 Behaviors – Hover篇
論文の勉強6 ResNeXt
ResNeXtについて構造の説明と実装のメモ書きです。
ただし、論文すべてを見るわけでなく構造のところを中心に見ていきます。
あまり正確に実装されていませんので、ご了承ください。以下の論文について実装を行っていきます。
タイトル:Aggregated Residual Transformations for Deep Neural Networks
https://arxiv.org/pdf/1611.05431.pdf
実装としてはResNetとほぼ同様です。
畳み込み処理を一部grouped convolutionに設定したものとなります。https://qiita.com/tanaka_benkyo/items/4f35dc413b02d09749cf
### ResNeXt
#### cardinary
$\boldsymbol{x}=[x_1,x_2,\cdots,x_D]$を$D$チャンネルのインプットとします。
以下のようなネットワークを考えます。入力をチャンネル方向に分割しそれぞれ変換を行い、それを足し合わせるというものです。
$$
F(\bold
「Python実践データ分析100本ノック」を写経してみた
![img_9784798058757_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131112/e5806e5c-0e11-74e7-eb3f-d1518ee3bc79.jpeg)
[» Python実践データ分析100本ノック | 下山輝昌, 松田雄馬, 三木孝行](https://amzn.to/3FT6RDh)## はじめに
### この本を手にした動機
– 元々データ分析に以前から興味があったものの、次に繋げられなかった
– [非エンジニアがR言語を始めるときの手引き|Kaggle Masterによるデータ分析技術者養成講座【R言語版】Day1メモ|中野ヤスオ|ARI |note](https://note.com/yasuoyasuo/n/n1cd9482564b7)
– 2021年10月から12月まで受講した初級Python講座で得たことをなにか繋げたかった
– 講座受講の経緯等こちら:[若手エンジニア成長支援No1企業を目指して|中野ヤスオ|ARI |not
【SIGNATE】鋳造製品の欠陥検出
SIGNATEの練習問題「鋳造製品の欠陥検出」に取り組みました。
https://signate.jp/competitions/406#1. ライブラリ
“`
import cv2
import numpy as np
import pandas as pdimport torch
import torchvision
from torchvision.datasets import ImageFolder
from torchvision import transforms, models
from torch.utils.data import DataLoaderimport matplotlib.pyplot as plt
%matplotlib inl
DjangoテンプレートでOpenStreetMapを使ってみました
DjangoのテンプレートでVue.jsを使ってOpenStreetMapを表示させてみました。
私がオープンソースで公開している賃貸不動産管理業向けの物件情報管理システム「Vasyworks」でも利用しているのですが、記事用にコンパクトなサンプルに切り出しました。
参考:[Vasyworks(ベイジーワークス)](https://vasyworks.yworks.net/ “Vasyworks Top”)地図表示のために「[Leaflet](https://leafletjs.com/ “Leaflet”)」というライブラリと、Vue.jsでLeafletを使えるようにするための「[Vue2Leaflet](https://vue2-leaflet.netlify.app/ “Vue Leaflet”)」というライブラリを使っています。
地図の中央にはアイコン(48px × 48px)も表示させています。
staticディレクトリを使いますので、Djangoプロジェクトのsettings.pyファイルにはSTATIC_URLとSTATICFILES_DIRSの設定をしておいてく
Lambda(SAM)からAmazon Kinesis(LocalStack) へレコード入力・取得を行う方法 メモ
* LocalStack上で動くAWS Kinesisのストリームに対して、AWS SAM CLIで動くLambdaからレコード入力/取得を行う方法をメモする。
## 構成
![sam-kinesis.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/586535/6e659efe-4332-7644-d2ca-adab09ebb1ee.png)
## LocalStack準備
* `docker-compose.yml`
“`yaml
version: “3.8”
networks:
container-link:
name: docker.internal
services:
localstack:
container_name: “${LOCALSTACK_DOCKER_NAME-localstack_main}”
image: localstack/localstack
ports:
–
PythonとAPIを使ってツイートしたらライトをつける
#1. はじめに
今回はTwitterで「ライトつけて」とつぶやくだけで部屋のライトがつくプログラムを作ります。
ライトをつけるにはSwitch Bot hubが必要なので気を付けてください。#2. Python開発環境を作る
##2.1 Pythonをダウンロードする
下記のURLへアクセスしてください。https://www.python.org/downloads/windows/
![python.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1966524/f4630b24-ff5c-5d88-ff6b-41c3befcb3cb.jpeg)
次に最新バージョンの Python をダウンロードします。
画面に表示されている「Latest Python 3 Release – Python 3.10.1」をクリックしてください。
![python2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19665
Macbook pro M1 Pro Maxを買ったので、Python2から3系にデフォルトを切り替える。
Macbook pro M1 Pro Maxを買ったので、Python2から3系にデフォルトを切り替えたい。
今回は2.7系のデフォルトのPythonから
3系に切り替える作業をしていきます。pyenvを使います。まだ[Home Brew](https://brew.sh/index_ja)をインストールしていない方は、
こちらのサイトに従ってインストール。続いて、brewインストールで『pyenv』をインストール。
“`shell
% brew install pyenv
““
最近のosXでは
zshがデフォルトなので、この際zshに慣れていく。
こちらでpyenvの環境パスを通す。“`shell
echo ‘export PYENV_ROOT=”$HOME/.pyenv”‘ >> ~/.zshrc
echo ‘export PATH=”$PYENV_ROOT/bin:$PATH”‘ >> ~/.zshrc
echo ‘eval “$(pyenv init -)”‘ >> ~/.zshrc
source ~/.zshrc
““お次は、3.9
Pythonで複数画像を1つのPDFにさせてみた
どうも、学生エンジニアのirohasです。
本日は、複数の画像をPDFにして送りたいときに手動でやるのは手間だなぁと思ったので、Pythonを使って自動でPDFにしてくれるプログラムを作っってみました。まずは、コードを走らせるにあたって必要なライブラリたちを紹介します。
img2pdf ・・・画像をPDfにするための外部ライブラリです。
glob ・・・ディレクトリから目的のものを取得する際に使う標準ライブラリです。
natsort・・・画像を自然順にソートするための外部ライブラリです。上記の通り、img2pdfとnatsortは外部ライブラリですので、インストールしてない方はまずインストールしてください。
“`
pip install img2pdf
pip install natsort
“`上記のライブラリをインストールしたら、いよいよコードを書いていきます。
まず先に今回使用したコードを紹介します。
“`python:pdf.py
import img2pdf
import glob
from natsort import natsorted #PD
Wordle のソルバーを Python で実装する
# Wordle
https://www.powerlanguage.co.uk/wordle/# 戦略
※早く実装を見せろという方のためのソルバーの実装は[こちら](https://github.com/yush1ga/wordle_solver/blob/bc63adda114dc28239e513d4b266f6b897e4574c/solver.py#L7-L79)Wordle では序盤は当てずっぽうで単語を入力して情報を得ていき、その情報をもとに後半で正解を狙いに行くというのが一般的な戦略かと思われます。
本ソルバーではできるだけ当てずっぽうの精度を高めた単語を入力していき、候補が一意に定まった際に解答を提出するという戦略を取ります。## 精度向上
### 精度の定義
本記事では、当てずっぽうの精度を高めるということを、ある単語を入力した際に得られる[情報量](https://ja.wikipedia.org/wiki/%E6%83%85%E5%A0%B1%E9%87%8F)を最大化することであると定義します。情報量の定義は以下です。
“`math
プログラミング未経験のOLが作る!スイーツ画像識別アプリ
#はじめに
アパレル会社勤務のOLがAIに興味を持ち、エンジニアを目指すべくプログラミングの勉強を始めました。
この記事はプログラミングスクールAidemyさんの最終課題である、画像識別アプリを作成する過程を記録したものです。「いつかスイーツ大国フランスで本場の味を!」
という憧れからフランス菓子をアプリのテーマに決めました。かの有名なラデュレのマカロン大好きです。
#目次
1. 実行環境
2. 画像収集
3. 画像の読み込み,データ分割
4. CNNモデルの作成,学習
5. HTML,CSSのコーディング
6. FLASKのコード作成
7. アプリのデプロイ,動作確認,リンク先
8. 考察,感想
9. 参考文献#1. 実行環境
・Python 3.7.12
・Windows 10
・Google Colaboratory
・Visual Studio Code#2. 画像収集
テーマの選定ができたので学習に必要な画像を収集していきます。
集める画像はマカロン、カヌレ、オランジェット、ダックワーズ、シュークリーム、エクレア、フロランタン、シャルロットの8種類です。
Metaより発表された自己監視型学習Data2vecをCIFAR-10で試す
# “Data2vec” is何?
参考: https://ai.facebook.com/blog/the-first-high-performance-self-supervised-algorithm-that-works-for-speech-vision-and-text
仕組みはいたって簡単です。以下の画像がすべてで、特に書くことはないですが簡単な説明を。
Data2vecはラベルのないデータで自己監視型学習をするアルゴリズムで、その特徴はデータの種類を選ばないことです。
以下の参考画像では画像データを使用していますが、信号(音声など)、自然言語などほかのデータにも応用できそうです。### 学習の仕組み
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/558031/5669363b-57d5-7bdc-17e9-42d71232cf7d.png)
オリジナル画像を入力された学習済み教師モデルの潜在表現を、マスクされた画像を入力した生徒モデルの教師データとして学習します。
こ
Pythonでmp4をmp3 , wavに変換。EXE化。 ドラッグアンドドロップ。 (windows版)
前回の記事:
https://qiita.com/fix/items/cb8918eb5aca907ca026
前回、ubuntu環境で、Pythonからffmpegを使用して、mp4からmp3やwavファイルを作成してみましたが、今回は、Windowwsでやってみます。
テスト用の動画ファイルのサンプル素材は、以下からお借りしています。
フリー動画素材1~10 海や7月の稲など – カフィネット
https://japanism.info
ダウンロードしたファイル
> free-video1-sea-cafinet.mp4
#コード
ubuntu用に作成した物をPATHだけ変更
“`python:mp4_to_mp3.py
# -*- coding: utf-8 -*-
import sys, re, glob, ffmpeg
TYPE:str = “mp3”
FILE_PATH:str = “.\*.[Mm][Pp]4”# mp4 -> [mp3][wav]
def mp4_to_mp3(path,type):
ffmpeg.run(
Pythonでmp4をmp3 , wavに変換 (ubuntu版)
Pythonでffmpegを使用して、mp4からmp3やwavファイルを作成してみました。
テスト用の動画ファイルのサンプル素材は、以下からお借りしています。
https://japanism.info/free-video1-10.html
ダウンロードしたファイル
>free-video1-sea-cafinet.mp4
#サンプルコード
とりあえず、サンプルコードを作成。
“`python:mp4_to_mp3.py
#!/usr/bin/python3.8
# -*- coding: utf-8 -*-
import sys, re, glob, ffmpeg
TYPE:str = “mp3”
FILE_PATH:str = “/home/smb/*.[Mm][Pp]4”# mp4 -> [mp3][wav]
def mp4_to_mp3(path,type):
ffmpeg.run(
ffmpeg.output(
ffmpeg.input(path) ,
re.sub(“\.
【python】散布図で見るロト6当選データ(DataFrame再作成~散布図作成)
#1.対象読者
データと言えば、分類、予測、機械学習!!!
ところが、どこに使えるかわからないけど収集してしまったデータって
ありませんか?例えば私はロト6の一等データを見つめる日々を送っている。
全投入金額は確実に私の居住している場所に、役立ってしまっているのだ。
このロト6も今回で165〇を迎えている。
人間の意思や季節とは無関係に、放出される魔法の数字の組み合わせ。
こういうどこに使えるかわからない数字データに苛立ちを覚える人、
###何よりも突然、散布図が見たくなった人
が対象です。#2.実行環境
Windows10 home
Python 3.8.10
jupyter notebook(セルごとに実行して確認できるので便利)#3.概要
当選数字の履歴(30件)と、指定した開催回の間の当選数字の2つの数字の傾向を見ることを目標にしたカウント数散布図を作成している。
(1).当選データのcsvファイルを読み込み
(2).データ表示したい開催回(開始行とする)と集計終了回(終了行とする)を入力する
(3).開始行から30行分のレコードデータを取得し
、散布図に
Pythonによる画像圧縮
#はじめに
今回Pythonの学習も兼ねて行列近似を実装してみました。
実装は、行列の近似の応用例の1つである画像圧縮です。
行列近似を理解するには特異値分解の理解が必要ですが、筆者は説明できないのでほかサイトをご参照ください。#実装
まずは結果を載せます。
結果original
r = 10
r = 100
「エントロピーと秩序」のプログラムをpythonで書く~揺らぎ
「エントロピーと秩序」のプログラムをpythonで書く第2弾。
「揺らぎ」というタイトルがついているbasicのプログラムをpythonで書き直します。温度とは、超簡単に言ってしまうと「元気な原子が存在する割合」を示す値です。
実際の世界には超元気な原子やまあまあ元気な原子、全然元気のない原子といろいろな元気度の原子がいるのですが、このプログラムは「元気な原子(ON状態の原子)」と「全然元気のない原子(OFF状態の原子)」で構成された世界をモデリングしています。100個の原子から成り立っている物質1(左上の部分)と1500個の原子から成り立っている物質2(それ以外の部分)が接触して平衡状態にあるとき、元気な分子は物質1と物質2にランダムに配置された状態になります。その瞬間瞬間を可視化すると、原子数の少ない物質1(左上の物質)のほうが温度に揺らぎがありますが、同じくらいの温度になっていることがわかります。
なるべく元のプログラムに忠実に書き直したかったのですが、大量に出てくるgoto分をforとかifに書き直したり、可視化する部分をmatplotlibに置き換えたりしているうち
PySimpleGUIでスケジュル管理プログラムの作成 その1
## はじめに
– 最近PySimpleGUIを勉強始めたので、何か作ってみたい
– 自分の欲しい機能だけ入ったスケジュール管理ツールが欲しい
ということで、作ってみました。素人が作ったツールなので、至らない点がたくさんあると思いますが、
欲しい機能を実現するために色々調べたので記録します。
PythonでGUI作りたい方に少しでも参考になれば幸いです。今回は作ったGUIの説明です。コードの解説は別に作成します。
## 欲しい機能
– 仕事を小さな単位(Ticket)で管理できる
– 各Ticketがやるべき順に並ぶ(ガントチャート的な感じ)
(やるべき順番も自動で計算させたいが、現状は手動で並び替える必要がある)
– Ticketをポチポチすることで今日1日の予定を組み立てられる
– 1日の実績から
【MLOps】「いつか使いたい!」と思っていた人のためのMLflowまとめ
# MLflowとは?
[MLflow](https://mlflow.org/docs/latest/index.html)は**機械学習のライフサイクル管理(MLOps)**を目的としたライブラリで、主に**実験管理**用途で使用されることの多いツールです。**実験管理**とは、
・使用した学習器や学習データ、ハイパーパラメータ等の**モデル作成条件**
・そのモデルを評価して得られた**評価指標**
のセットを記録し、複数条件の比較を行うことで最適なモデル選定を行う工程です。このような条件記録はExcel等での手入力が一般的かと思いますが、
**「手入力は時間が掛かる!」**
**「手入力をミスして苦労して集めた結果が信頼できなくなった」**
という経験をされた方も多いかと思います
![mlflow.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/610167/751eff13-47fd-d810-9714-990eb2b9a439.png)
上記のような経験から、MLflowにより実験管理
MLflowの環境構築方法まとめ【Docker, S3】
# はじめに
[MLflow](https://mlflow.org/docs/latest/index.html)は**機械学習のライフサイクル管理(MLOps)**を目的としたライブラリで、主に**実験管理**用途で使用されることの多い注目度の高い([GitHubのStar](https://github.com/mlflow/mlflow)1万超え)ツールです。※水色がMLflowのStar数推移
![スクリーンショット 2021-12-04 16.41.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/610167/611d71eb-5225-87a3-9de4-c37fdf4644f2.png)
一方で、**MLflowの環境構築**は機械学習エンジニアにとって門外漢の**インフラの知識**が求められるため、その活用において**鬼門とも言える存在**です。
![mlflow_service.png](https://qiita-image-store.s3.ap-northeast-1.
kivyMDチュートリアル其の肆什伍 Behaviors – Hover篇
ハロー、Qiita!いかがお過ごしでしょうか。
はい、というわけで間もなく1月も終わりに近づいていますが、お元気に過ごして
いますでしょうか。何よりこの季節は寒いでございますね。外に出るのが億劫に
なるくらいで。まぁ緊急事態宣言も出そうな雰囲気で、出なくともステイホーム
が余儀なくされそうです。さて、本題に移りますが今日からはKivyMDのBehaviors章に戻っていきます。
以前どこまでやったっけなという思いに駆られていますが、確認してみると以前
はFocus篇をやっていました。ということで、今日はタイトルの通りで続きのHo-
ver篇となります。それではさっそくやっていくこととします。あ、それでは、レッツラゴ。(わざわざ言うまでもない)
## Hover
冒頭には比較的大文字で説明が書かれています。
> Changing when the mouse is on the widget and the widget is visible.
読んで字の通りということになるでしょうか。と言っても良くみるとChangeig-
when the mouseあたりなんかは一