- 1. オートエンコーダによる次元圧縮
- 2. 【スクレイピング】テキストボックスに文字を入力
- 3. Python,Ruby,PHP,Java,JavaScript,Perlのプログラミング言語の比較
- 4. Python,Ruby,PHP,Java,JavaScript,Perlの多次元データ構造の比較
- 5. 【スクレイピング】Jupiter Labを使うまで
- 6. Python:pngをgifに変換する(アニメーション・透過対応)
- 7. Herokuの無料枠が廃止に伴い、移行先render.comの性能比較とベンチマークをしてみた
- 8. Python をデコってかわいくしよう!
- 9. 唐揚げ?orトイプードル?機械学習で判別してみた
- 10. Pythonの便利技と注意点:print編
- 11. 【手順覚書】チキチキ限界Stable Diffusion 〜M1 MBA (8GB RAM) 編〜
- 12. DjangoアプリとAzureWebApps 静的ファイルが読み込めない。
- 13. Richardson-Lucy deconvolutionの実装と画像の縁の歪みを軽減する方法
- 14. BOOTSELボタンとshell2udpでFlappy Bird【Raspberry Pi Pico W】
- 15. Flaskでラズパイの状態を確認するWebアプリを作ってみた(其の一)
- 16. DatabricksからOracleAutonomousにアクセスしてみた
- 17. Raspberry Pi Pico Wの温度センサー【MicroPython】
- 18. Pythonで CostExplorer を利用してアカウント毎の請求情報を Teams に POST してみました
- 19. python でオンラインデバッグなら AWS Cloud9 っつー話
- 20. Wheel Factorizationについて
オートエンコーダによる次元圧縮
# オートエンコーダとは
通常の教師あり学習では入力から異なる種類の出力を得ますが、オートエンコーダでは入力と出力の形式は同じになります.
では何を学習するのかといいうと、データの潜在変数を学習します.
以下がモデルの構造になります.![Deep Learning – VAE.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315124/835f9513-9d61-b241-278c-da31c4dfe9f4.jpeg)
まず、入力値はエンコーダーを介して、より次元の少ない潜在変数に変換されます.
その後、潜在変数はデコーダを介して元の次元に復元されます.
デコーダによって潜在変数から元の情報を復元できるなら、うまく学習できているこということになります.
ちなみにこうした、**ある次元のデータを元の情報を含むより少ない次元に変換する**ことを**次元削減**といます.
# オートエンコーダの用途
こことでは、オートエンコーダのさまざまな用途を紹介していきます.
### 事前学習
【スクレイピング】テキストボックスに文字を入力
## 前提条件
#### インストール済み
1.python
2.pipは
3.anaconda
4.Jupyter Lab## スクレイピングを始める4ステップ
1.ブラウザーのHTMLファイルから取得したいID(基本的にはinputタグ)
2.find_element(タグ名)などの引数の中に 1.のタグ名を加える
3.send_keys(‘入力したい文字入力’)
4.ボタンに.onclickを加えて発火させる# フロー
### 1.ブラウザーのHTMLファイルから取得したいID(基本的にはinputタグ)を確認する
*検証画面→(使い方)https://skillhub.jp/blogs/269
![スクリーンショット 2022-08-27 17.26.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/714631/ea94aeda-3dc4-6eb9-e617-38119553bf59.png)“`html:htmlファイルの記述
“
Python,Ruby,PHP,Java,JavaScript,Perlのプログラミング言語の比較
Python,Ruby,PHP,Java,JavaScript,Perlのプログラミング言語の比較です。
# 2022年版
## 基本文法
https://qiita.com/yuki_kimoto/items/a11a1095fc24be590fce
## 入門
https://qiita.com/yuki_kimoto/items/00aaab90f31194a5de74
## インストール
https://qiita.com/yuki_kimoto/items/7c2f1be70d68065338a4
## 変数
https://qiita.com/yuki_kimoto/items/631537a6e7eb58f251cf
## 文字列処理
https://qiita.com/yuki_kimoto/items/3b8062c42c0c12cb3db7
## 条件分岐
Python,Ruby,PHP,Java,JavaScript,Perlの多次元データ構造の比較
Python,Ruby,PHP,Java,JavaScript,Perlの多次元データ構造の比較
# Python
https://qiita.com/ko0821/items/4c8a557ec88f2a10bd55
# Ruby
https://qiita.com/vzvu3k6k/items/1705c7f4b29c08787ea0
# PHP
https://qiita.com/shuntaro_tamura/items/784cfd61f355516dfff0
# Java
https://qiita.com/panda-chibi/items/e57799c047be69fe5b79
# JavaScript
https://qiita.com/Stack_up_Rising/items/cb71842d7c3510daf9f0
# Perl
https://per
【スクレイピング】Jupiter Labを使うまで
## 用意するもの
#### 1.python:今回使用する機械学習に適したプログラミング言語
#### 2.pip:pythonのライブラリを取りまとめるパッケージ管理ツール
#### 3.anaconda:必要なライブラリをまとめてインストールしてくれるツール
#### 4.ジュピターラボ:ノートにプログラミングを記述→瞬時に結果を返してくれる(コードの成否を確認しながら進めることができる)
→毎回ターミナル開いて実行、、また実行、、ということをしなくても良くなる
https://ai-inter1.com/jupyter-lab/#st-toc-h-1#### 5.pip:パッケージ管理ツール
https://www.python-izm.com/tips/pip/
#### 6.anaconda:必要なライブラリをまとめてインストールしてくれる
https://www.javadrive.jp/python/install/index5.html#### 7.selenium→ブラウザー自動化を可能にし、それを支えるツール群とライブラリー群プロジェク ブラウザ操作の時は
Python:pngをgifに変換する(アニメーション・透過対応)
# やりたいこと
* Pythonを使って、pngをgifに変換したい
* 透過に対応したい
* apng(アニメーションpng)ならgifアニメーションに変換したい# 環境
* Windows11 64bit
* Python 3.10.5Pythonのインストールは済んでいる状態とします。
# pngとgifの違い
どちらも画像ファイルの拡張子です。
違いについて軽く確認しておきます。* gif
* 8ビットカラー(256色)
* 特定のピクセルを透過指定し、背景画像が透けて見えるようにできる
* 半透明は表現できない* png
* 3種類のタイプが存在する
* PNG-8:8ビットカラー(256色)
* PNG-24:24ビットカラー(約16,77万色)
* PNG-32:24ビットカラー+8ビットのアルファチャンネル
* 8ビットのアルファチャンネルによって半透明にできる# pngからgifへの変換
PythonのPillowというライブラリを使用します。
Pillowとは、画像ファイルの読み込み・操作・保存の機能を提供するフリーのラ
Herokuの無料枠が廃止に伴い、移行先render.comの性能比較とベンチマークをしてみた
# Herokuの無料枠が廃止に伴い、移行先render.comの性能比較とベンチマークをしてみた
## Herokuのフリープラン廃止
個人開発者界隈では、嘆きの声が聞こえていますが
私も嘆きました
血眼で移行先を探した結果[render](https://render.com/)というサービスを見つけたので共有します## デプロイ方法
基本的にはGithubからクローンしてビルドされるっぽいです
privateリポジトリでも可能だったので、ここらへんは、Herokuと遜色ないと思いました
デプロイ方法の詳細はそのうち誰かが上げてくれる(調べれば出てくるし)と思うので割愛します## 基本的な性能比較(Freeプラン)
| | Heroku | render.com |
| —- | —- | —- |
| メモリ | 512MB | 512MB |
| 利用可能時間(月) | 550時間(クレジットカード登録で1000時間) |750時間 |
| アクセスがない場合のスリープまでの時間 | 30分 | 15分
Python をデコってかわいくしよう!
[NTT データ数理システム](http://www.msi.co.jp/) の数理計画部でシニアリサーチャーをしている池田です.社内では Python 芸人をしています.
# かわいさが足りない
まずは,とりあえず [Fizz Buzz](https://ja.wikipedia.org/wiki/Fizz_Buzz) を Python で記述してみましょう.“`python
for i in range(1, 101):
if i % 15 == 0:
print(‘FizzBuzz’)
elif i % 3 == 0:
print(‘Fizz’)
elif i % 5 == 0:
print(‘Buzz’)
else:
print(i)
“`出力:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
Fiz
唐揚げ?orトイプードル?機械学習で判別してみた
# 唐揚げ?orトイプードル?機械学習で判別してみた
## はじめに
機械学習の勉強を始めて1ヶ月ほどたったので、実際に自分でデータを集めて簡単にモデルを作ってみたいと思いこの問題を考えました。この画像を見て即座に唐揚げかトイプードルか判断できますか?
![test_img28.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2730459/ad437279-9f57-b2c7-b12e-cbd7a074526d.jpeg)
一瞬唐揚げに見えた人も多いはず!(実際自分は最初からあげに見えました。)
そこで唐揚げとトイプードルの分類器を作ってみようと思いました。
**目標はこのプードルがプードルと認識できること## データ分析の流れ
1. データの収集
2. データの作成
3. モデルの選択(Gridsearch)+学習
4. テストデータで予測、出力## 必要なモジュールのインポート
“`python
#必要モジュールのインポート
import os
import glob
imp
Pythonの便利技と注意点:print編
[目次に戻る](https://qiita.com/yuta-sanjyo/items/416b05f8498df1ed3f49)
# intを格納した変数を文字列と一緒に表示する技
“`py:+記号を使うとエラーが出る
>>> num = int(input(‘How many do you have?’))
How many do you have?3>>> print(‘You have ‘ + num + ‘.’)
Traceback (most recent call last):
File ““, line 1, in
print(‘You have ‘ + num + ‘.’)
TypeError: can only concatenate str (not “int”) to str
“`
“`py:,でつなげるとエラーは出ない。但し、各項目ごとに自動でスペースが入る
>>> print(‘You have’, num, ‘.’)
You have 3 .
“`[目次に戻る](https://qii
【手順覚書】チキチキ限界Stable Diffusion 〜M1 MBA (8GB RAM) 編〜
# はじめに
今話題のStable Diffusionを触ってみた。
あちこちドツボにハマったのでうまく行った手順を残しておく。**先駆者様[^1]の記事の丸パクリスペクト**
# 環境
– M1 MBA
– macOS Monterey 12.4
– pyenv 2.3.1-20-g572a8bcf
– python 3.10.5
– pip 22.0.4# 手順
## 必要(らしい)パッケージ
“`
brew cmake rust
“`rustが入ってる人はもちろんいらない。
## レポジトリのクローン
### Stable Diffusion本体
“`
git clone https://github.com/CompVis/stable-diffusion
“`### Weightモデル
“`
brew install git-lfs
git install lfs
git clone https://huggingface.co/CompVis/stable-diffusion-v-1-4-original
“`[https
DjangoアプリとAzureWebApps 静的ファイルが読み込めない。
AzureWebAppsへのデプロイ時にCSSなどの静的ファイルの読み込みに苦労した為、備忘録として残します。
初投稿ですので読みづらい点はご容赦下さい。# Whitenoiseを使って解決!
whitenoiseとは何??
「Python Web アプリ向けの大幅に簡素化された静的ファイル サービス」だそう。
詳細は[こちらのドキュメントから](https://whitenoise.evans.io/en/stable/ “whitenoise”)
ふむふむ。こんなものがあったのか…まずはWhitenoiseのインストール
“`
pip install whitenoise
“`settings.pyに以下を追記
“`
INSTALLED_APPS = [
…
‘whitenoise.runserver_nostatic’,
…
]
“`
“`
MIDDLEWARE_CLASSES = (
‘whitenoise.middleware.WhiteNoiseMiddleware’,
…
“`
STATIC_URLやSTATIC_ROO
Richardson-Lucy deconvolutionの実装と画像の縁の歪みを軽減する方法
# はじめに
Richardson-Lucy deconvolution(以下、RL法)は、画像等を鮮明にする手法である。一般的な撮像観測では、観測装置の回折等により光源が拡がって撮像される。この拡がり具合は、点拡がり関数(Point Spread Function, 以下、PSF)で表される。RL法は既知のPSFと撮像画像から、真の画像を推定する手法である。
![図1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1599258/1ce4c96a-b902-8d29-7d32-62842014d6bf.png)本記事では一般的なRL法では画像の縁が歪んでしまうが、**その歪みを軽減する方法を筆者なりに考えてみたのでそのRL法についてRGB画像とグレースケール画像の両方**で紹介する。また、本記事では撮像画像は適当なPSFで畳み込むことで擬似的に作成する。
# RL法とは
RL法は、既知のPSFと撮像画像を用いて真の画像を推定する手法である。真の画像の分布、既知のPSF、撮像画像の関係をベイズの定
BOOTSELボタンとshell2udpでFlappy Bird【Raspberry Pi Pico W】
![ezgif-4-040bd84c1c.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/208363/216a1bb3-8e01-d067-790d-df7ce305867a.gif)
# BOOTSELボタンを押したときにUDPでリクエストを送る
“`python:main.py
import gc
import time
import socket
import networkwlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(“aterm-ssid-g”, “WIFI_PASSWORD”)
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)while True:
if rp2.bootsel_button() == 1:
s.sendto(b””, (“192.168.10.100”, 8080))
gc.co
Flaskでラズパイの状態を確認するWebアプリを作ってみた(其の一)
# ラズパイの状態診断サイトを作ってみる
![top_page.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699739/11f05b38-a556-8d83-0bfe-bc33d3ae754c.png)
### ユースケース
+ subprocessモジュールでLinuxの各種コマンドを実行し結果をWebスタイルで表示
+ コマンドの実行結果をそのまま再現(可能な限り)### 実行Linuxコマンド
| コマンド | 内容 |
|:——|——|
| ip addr | インターフェースのIPアドレス |
| ss | ソケット |
| route | ルーティングテーブル |
| vcgencmd | ラズパイ SoC温度 |
| lsblk & df | ディスク情報(ブロックとディレクトリ毎の容量) |### ファイル & ディレクトリ
“`
webapp
├─ static
| ├─ css
| | └─ style.css
DatabricksからOracleAutonomousにアクセスしてみた
# はじめに
***Databricksとは統合データ分析プラットフォームで、データの取得、ETL処理、DWH機能、分析、可視化、様々な言語(Python、Scala、R、SQL、Markdown)が使用できます。***今回はDatabricksのCommunity EditionでAlwaysFreeのOracle Autonomous Databaseからデータを取得します。他のAWS、Azure、GCPのDatabricksでも可能となります。
## Databricksログイン
Community Editionのdatabricksにログインします。
![スクリーンショット 2022-08-28 092245.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2752288/5b43fdf1-d42e-06a5-b638-270b56ce9930.png)## クラスター作成
ログイン後トップ画面に遷移するので、左のメニューから「**Compute**」をクリックします。
![im
Raspberry Pi Pico Wの温度センサー【MicroPython】
“`python:main.py
import machine
import utime# 温度センサが接続されている、
# 4つ目の ADC(アナログデジタルコンバータ) を取得します
sensor_temp = machine.ADC(4)
# ADCの最大電圧3.3Vを16bit(65535)で割って、
# 16bitの 1 目盛りのあたりの電圧(変換係数)を計算します( 約 0.00005V)
conversion_factor = 3.3 / (65535)while True:
# センサから取得した値(0~65535) を電圧に変換します。
reading = sensor_temp.read_u16() * conversion_factor
# 温度を計算します。センサは27度を基準にしているため、
# 温度センサの数値を27度から引いて計算します。
temperature = 27 – (reading – 0.706)/0.001721
print(temperature)
utime.sleep(
Pythonで CostExplorer を利用してアカウント毎の請求情報を Teams に POST してみました
## 概要
AWS CostExplorer を利用してアカウント毎の当月の累計請求情報と日別請求情報を取得し、その情報を Microsoft Teams に投稿する Pythonプログラムを作成してみました。
[このプログラム](https://qiita.com/turupon/items/4e9af748b5d43bddcf8d) をベースに、環境変数からAWSの認証情報を取得し、マークダウン形式で Teams にPOSTしています。Teamsの投稿欄の仕様により横スクロールができないので、日別請求情報は2分割してPOSTしています。また、Teamsに投稿された請求情報を極力「詳細表示」を押すことなく確認したいので、日別請求情報は日付の降順としています。
### 実行環境
macOS Monterey 12.3.1
python 3.8.12### 実行プログラム
“`python:CostAccountAll_to_TeamsEndpoint_from_ENV.py
import os
from datetime import datetime, timede
python でオンラインデバッグなら AWS Cloud9 っつー話
普段は自分のマシンにVSCなどを導入してコードを書いています。
それが常に手元にあればよいのですが、持ち込み制限の現場やソフトウェアインストールが制限(インストールするには申請が必要とか)された端末を使うことも多いのでオンラインでいい感じにコード実行とデバッグできる環境が欲しいなと思っていました。
オンラインでコーディングできるサービスは多々ありますがデバッグできるサービスを見つけることができず、なんとかならんかなぁといった感じで過ごしておりました。そんな折に AWS Cloud9 で簡潔にさくっと、無料利用枠の範囲内で環境を作ることができたので共有です。
(EC2のt2.microの無料利用枠を使うみたいなので他にEC2稼働させてたら請求きそうです。)また非アクティブ時間が続いたらデフォルト(30分)で自動停止するので、EC2稼働させっぱなしで無駄な請求きちゃった的なことも防止できそうです。
# どげな感じ??
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/110165/e
Wheel Factorizationについて
# はじめに
https://qiita.com/ppza53893/items/e0f464340d6f97760cd5上で紹介したアルゴリズムの中に「Wheel Factorization」があります。
これをもう少し詳しく説明していこうと思います。# Wheel Factorizationとは
Wheel Factorizationは試し割り法をより効率的にする手法です。
素数判定アルゴリズムとして有名な試し割り法は、探索する数$N$について、$2\le k \lt N$の整数の$k$でひたすら割るアルゴリズムです。つまり計算量が$O(N)$になり、十分大きな整数が素数かどうかを判定するとなると、非常に時間がかかってしまいます。この$k$の範囲全てを割るのは効率的にも悪いため、できるだけ減らそうという手法がWheel Factorizationになります。Wheel Factorizationでは、まず小さな素数のリスト$P$を用意します。簡単に、$P=\\{2,3,5\\}$としましょう。
このとき、この素数リスト全てを約数にもつ整数$X=\Pi_{P}x$(例の場