- 1. 地獄のフィボナッチ数列@Python
- 2. 画像1枚からのポイントクラウド生成
- 3. EnvaderでPythonの環境構築を学んだのでmacで実践してみる(第5回)
- 4. Atcoder B – Nice Shopping
- 5. Python学習記録_2日目.機械学習とは&Pythonの基本的な処理や関数
- 6. Plotlyのローソク足描画が遅いのでBokehを採用した話
- 7. 1年前の日付を求める
- 8. mediapipeを試す17行
- 9. motoでPynamoDBのモデルをテストする
- 10. Centos7 LAMPJ & LEMPJ
- 11. 私が書いた記事×2
- 12. PythonのTypedDictのキーの有無・値の型をチェックするツールtypeddict-validatorを作った
- 13. argparseのヘルプメッセージ改行位置を変更する方法
- 14. 【Python】リストの列に同じ値を埋める【Numpy】
- 15. CloudWatchカスタムメトリクスのデータをboto3で取得
- 16. python学習:tkinterを使ってファイル起動・整理アプリを作ってみた ~Part3~
- 17. 指値板を用いたCNNによる価格予想
- 18. parrot-sphinx インストール,利用 その2
- 19. 初心者がAWS Lambdaを活用してログインが必要なGoogle Formに自動回答するプログラムを作ってみた
- 20. condaでライブラリインストールする手順
地獄のフィボナッチ数列@Python
誰か助けてください.
# できごと
とあるプログラミング勉強用の問題を出すサイトにて(サイト名は言うと問題のネタバレになりかねないので秘密だよ)フィボナッチ数列の実装を求められたよ
# 序章
ぼく「これ簡単やな!^^」
“`Python:fib1
def fib(seq):
if seq == 0:
return 0
if seq == 1:
return 1
return fib(seq-1) + fib(seq-2)
“`エラー発生
ぼく「どこがおかしいんだ?」テスト内容
`
fib(1000) fib(-36)
`
ぼく「??????????????????????????????」# ちょっと調べた
ワイ「[負数への拡張](https://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A3%E3%83%9C%E3%83%8A%E3%83%83%E3%83%81%E6%95%B0#%E8%B2%A0%E6%95%B0%E7%95%AA%E3%81%B8%E3%81%
画像1枚からのポイントクラウド生成
# ゴール
今回は、1枚の画像から深度情報を推定できるAIモデルを用い、ポイントクラウド(点群)を生成します。
# ポイントクラウドとは
ポイントクラウドとは、空間上の点の集まりのことです。十分な点数があれば、3次元の形状や物体を表現することができます。
# 深度マップとは
深度マップは、カメラからどれくらい離れているのかを推定したものです。
![distance.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1164173/cc684835-f027-2122-27c8-d292d193df88.png)
深度情報には、相対的なものと絶対的なものがあります。相対的な深度の場合、値2は深度値1の2倍の距離ですが、現実の距離を正確に伝えるものではありません。絶対深度は、現実の距離を伝えることができます。
今回は、相対的な距離を使用します。
# 深度情報を予測するAIモデル
今回、深度推定に使用するのは、[MiDaS](https://github.com/isl-org/MiDaS)
EnvaderでPythonの環境構築を学んだのでmacで実践してみる(第5回)
## はじめに
はじめましてa-min3150です。エンジニアへの転職を目標に学習中です。
アウトプットのためEnvaderで学習したこと、ハマったことなどを書いていきたいと思います。## 今回の学習内容
EnvaderでPythonの環境構築について学習したのでアウトプットします。今回は第5回目でmacでの“`virtualenv“`を使った仮想環境設定についてです。
第1回目は[こちら](https://qiita.com/a-min3150/items/bf2e575668cc986dd5d9)
第2回目は[こちら](https://qiita.com/a-min3150/items/56b2e9bf8957d3247d81)
第3回目は[こちら](https://qiita.com/a-min3150/items/6d1c9b7b3b4cd5039f39)
第4回目は[こちら](https://qiita.com/a-min3150/items/6211b80617d00284a081)## “`virtualenv“`について
こちらでは、Python
Atcoder B – Nice Shopping
## 問題
https://atcoder.jp/contests/hitachi2020/tasks/hitachi2020_b## 回答
“`Python
A,B,M = map(int,input().split())
a = list(map(int,input().split()))#冷蔵庫
b = list(map(int,input().split()))#電子レンジ
ans = min(a) + min(b)for i in range(M):
x,y,c = map(int,input().split())
num = a[x-1] + b[y-1] – c
if ans > num:
ans = numprint(ans)
“`
または
“`Python
A,B,M = map(int,input().split())
a = list(map(int,input().split()))#冷蔵庫
b = list(map(int,input().split()))#電子レンジ
ans = min(a)+min(b)
f
Python学習記録_2日目.機械学習とは&Pythonの基本的な処理や関数
# 元記事
[Python学習記録_プログラミングガチ初心者がKaggle参加を目指す日記](https://qiita.com/noway6064/items/14ab494dc65d3040f733)
こちらの2日目の学習内容まとめ。
~~前半は前提知識というか概念とかの話が多かったのでかなりサクサク進めることができました。~~
for文で思い切り躓きました。
これが独学の辛いところ…### scikit-learn 10m …
##### scikit-learnとは
>scikit-learn(サイキット・ラーン)はPython用の機械学習ライブラリです。
scikit-learnはオープンソースで公開されており、個人・商用問わず、誰でも無料で利用することが出来ます。
また、教師あり学習、教師なし学習に関するアルゴリズム(サポートベクターマシン、ランダムフォレスト、回帰、クラスタリングなど)が一通り利用出来る上、別章でも紹介しますがサンプルのデータセット(トイデータセットと呼びます)が豊富に揃っています。
そのためscikit-learnを用いるとすぐさま機械学習プログラ
Plotlyのローソク足描画が遅いのでBokehを採用した話
![output.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2591762/ee808bf7-d526-b38e-f608-0e2c5ce95be3.gif)
ローソク足チャートを[Plotly](https://plotly.com/python/)で書くと、少ないコード量でインタラクティブなグラフができて、素晴らしいのですが、10年分のデータくらいで我慢できないくらい描画が遅くなっていました。
[Backtesting.py](https://kernc.github.io/backtesting.py/)で出力するグラフだと全然固まらないのでいいなーと思っていたら、[Bokeh](https://docs.bokeh.org/en/latest/)を使っていたので、bokehでローソク足を書いてみました。
コード量は多くなるのですが、作りたいグラフを作れたので、Bokehもいいぞって思いました。以下のローソク足は、例えば買いシグナル周辺の値動きを見たいときを想定したチャートで、データはp
1年前の日付を求める
1年前の日付とググるとdateutilの`relativedelta()`を使う旨がよく出てくる。
一目datetimeでマイナス365日で良さそうだが`うるう年`を考慮すると`relativedelta()`が良いようだ。| 日付 | timedelta(days=365) | relativedelta(years=1) | 備考 |
| ——— | ——————– | ———————- | – |
| 2020/2/28 | 2019/02/28 | 2019-02-28 | 期待通り|
| 2020/2/29 | 2019/03/01 | 2019-02-28 | うるう年はずれる|
| 2020/3/01 | 2019/03/02 | 2019-03-01 | 同上|“`
// 2020/2/28 の365日前
$ python3 -c “import d
mediapipeを試す17行
![SS 192.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565043/a41cd967-f549-8677-1efa-2e99bf69518d.png) 顔に線がびっしり張り付くやつ
# mediapipeにとっつきたい
表情認識などで使われるmediapipeを手元のpythonで使ってみます。
使い方の理解のためになるべくシンプルにして試します。# 準備
がんばってmediapipeをインストールします。
方法は調べると出てくると思います。
M1 Macの場合はminiforgeでpython3.8の環境を作ったところ、openCVもmediapipeもインストールできました。# 参考記事
[MediaPipe Face Mesh](https://google.github.io/mediapipe/solutions/face_mesh.html)
こちらの公式記事にあるスクリプトを、解説用にギリ動作するレベルまで短く刈り込んでいます。# 理解のための素朴なコード
もろも
motoでPynamoDBのモデルをテストする
DynamoDBのORMの[PynamoDB](https://github.com/pynamodb/PynamoDB)で作ったモデルを、motoを使ってテストするためのコード例です。
“`
> pip install moto pynamodb pytest
“`“`
/
├─models
│ └─user.py
└─tests
├─__init__.py
└─test_user.py
“`“`python:models/user.py
from pynamodb.models import Model
from pynamodb.attributes import (
UnicodeAttribute,
NumberAttribute,
ListAttribute,
)class UserModel(Model):
class Meta:
table_name = ‘user’
region = ‘ap-northeast-1’id = UnicodeAt
Centos7 LAMPJ & LEMPJ
sudo vi LAMPJ.sh
“`bash
#MySQL公式のリポジトリの登録(https://dev.mysql.com/downloads/repo/yum/ を参照して、 Red Hat Enterprise Linux 7 用の最新のリポジトリを追加する)
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo yum -y remove mariadb-libs
sudo rm -rf /var/lib/mysql
sudo rpm -Uvh http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo yum -y install –enablerepo=mysql80-community mysql-community-server
sudo yum update
sudo rpm –import https://repo.mysql.com/RPM-GPG-KEY-my
私が書いた記事×2
過去に私が書いた記事のリンクを張っていく場所です.
https://qiita.com/CEML/items/b378d4b26831bb8c9059
https://qiita.com/CEML/items/5c745438383f4315c542
これからはこちらのアカウントに記事を投稿していこうと思います.
PythonのTypedDictのキーの有無・値の型をチェックするツールtypeddict-validatorを作った
JSON を受け取る API などでは、多くの場合で何らかのバリデーションをしていると思うが、そのバリデーションに Python の TypedDict を使えるようにしてみました。
## 概要
https://github.com/SogoKato/typeddict-validator
TypedDict を使って辞書型のデータをバリデーションするユーティリティ。辞書が必要なキーを持っているかや、値が適切な型を持っているかを再帰的にチェックします。 API リクエストや何らかのファイルのような、 JSON や YAML をデシリアライズするシーンで便利です。
現在のところ、一般的な型および Optional を含む Union 型をサポートしています。
## 要件
* Python 3.10 以降
## インストール
PyPI からインストールできます。
https://pypi.org/project/typeddict-validator/“`
pip install typeddict-validator
“`## つかいかた
`validate
argparseのヘルプメッセージ改行位置を変更する方法
Pythonのコマンドラインツール開発では`argparse`がオプションパーサとしてよく利用されます。argparseによるヘルプメッセージ表示機能で「いや、そんな微妙なところで改行しないでよ…」って思うことが最近ありました。
本記事では、そういった場面で`argparse`によるヘルプメッセージ改行位置を変更する方法について紹介します。
# 微妙なヘルプメッセージ改行例
“`python:argparse_bad_help_msg.py
import argparsedesc = “ArgParse Test Program”
parser = argparse.ArgumentParser(description=desc)
parser.add_argument(“–input”, help=”Input data”, metavar=””)
parser.add_argument(“–output”, help=”Output data”, metavar=””)
parser.add_argument(“–parameter1”, help=”Para
【Python】リストの列に同じ値を埋める【Numpy】
# はじめに
自分が調べた限り、2次元リストの列に同じ値を埋める方法がfor文しかなかったので、使わない方法を以下に載せます。~~~
import numpy as np# 5×5の2次元リストを作成
array = np.zeros(5*5).reshape((5,5))# 4列目に「1」を埋める
array[:,3].fill(1)
~~~# おまけ
行に同じ値を埋めたい場合は以下になります。~~~
# 3行目に「1」を埋める
array[2].fill(1)
~~~# 追記
コメントでの@WolfMoon様のやり方が簡素だったので載せさせて頂きます。コメントありがとうございます。~~~
array[:, 3] = 1 # 列に同じ値を代入
array[1, :] = 200 # 行に同じ値を代入
~~~# まとめ
ゲーム制作でマップを2次元リストで表現する際に躓いたので載せました。
誰かの参考になれば幸いです。
また他に良い方法があればコメントで教えて下さるとありがたいです。
CloudWatchカスタムメトリクスのデータをboto3で取得
こちらの記事を参考に、boto3を使用してCloudWatchメトリクスデータを取得しようとしました。
https://qiita.com/K-Nomu3/items/ae7b043c6a75a774edc7
標準メトリクスデータは問題なく取得できたのですが、EC2のメモリ使用率等のカスタムメトリクスデータを同じように取得しようとしてもデータ件数0件でレスポンスが返されてしまったので、原因を調査しました。
# 原因
メトリクスが複数のディメンションで作成されている場合、取得時に全てのディメンションを指定する必要がありました。
ディメンションとは、メトリクスの一意の識別子として機能するものです。
先の記事では標準メトリクスを取得するにあたりディメンションは「InstanceId」のみの指定で十分でしたが、カスタムメトリクスでは不十分でした。# 解決方法
今回は名前空間「CWAgent」の「mem_used_percent」データを取得します。
### ディメンションを調べる
コンソールで下記を実行します。
“`
$ aws cloudwatch list-metric
python学習:tkinterを使ってファイル起動・整理アプリを作ってみた ~Part3~
前回のPART2では「フォルダ・ファイル選択画面」について解説しました。今回は「ファイル整理画面」について解説していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2631873/d2c40e57-4f45-3759-412c-4a190221026d.png)
ファイル整理画面の目的は、整理したいファイル(別フォルダに移動させたい時など)を任意のフォルダに移動させる画面です。それではコードを見ていきましょう。
“`py
def sub_window2():# ウインドウの作成
mini_window2 = tk.Toplevel(root)
mini_window2.title(“ファイル整理画面”)# ラベルフレーム2
frm2 = ttk.Labelframe(mini_window2,text = “ファイル整理”,
padding = 10)
指値板を用いたCNNによる価格予想
# はじめに
本記事は、「DeepLOB: Deep Convolutional Neural Networks for Limit Order Books」の紹介です。原論文に加筆、編集を行なっています。
https://arxiv.org/pdf/1808.03668.pdf
論文で紹介しているgithubです。コードは、zcakhaa/DeepLOB-Deep-Convolutional-Neural-Networks-for-Limit-Order-Books/run_train_tensorflow-version2.ipynbからの引用です。
https://github.com/zcakhaa/DeepLOB-Deep-Convolutional-Neural-Networks-for-Limit-Order-Books
# 要約
> 私たちは、現金株式の指値注文帳(LOB)データからの価格変動を予測するための大規模なディープラーニングモデルを開発しています。このアーキテクチャは、畳み込みフィルタを使用して、リミットオーダーブックとLSTMモジュールの空間構造
parrot-sphinx インストール,利用 その2
# parrot-sphinxインストールなどの備忘録
parrot製のドローンのシミュレーションが利用できる,parrot-sphinxのインストールや利用方法,またROSとの連携についてこれから随時記録していきたいと思っています.(parrot-sphinx ver2.5.1)
※parrot-sphinx インストール,利用 その1の続き## firmwared サービスへの接続
sudo systemctl start firmwared.service
この時にfirmwared.serviceがうまく起動できているか,確認したいときは以下の2つで確認します.cat /etc/group|grep firmwared
>>> firmwared:x:135:<パソコンの名前>
うまくできていない時は,一番後ろにパソコンの名前が出力されていないと思います.id -nG
>>> <パソコンの名前> adm cdrom sudo dip plugdev lpadmin lxd sambashare firmwared
firmw
初心者がAWS Lambdaを活用してログインが必要なGoogle Formに自動回答するプログラムを作ってみた
みなさんこんにちは。コロナが収まったかと思えばまた蔓延したりとまだまだ大変ですね。
昨今は部活や大学、高校などで毎日体温を測定しGoogle Formなどで○○時までに提出するよう求められることがあると思います。僕も毎日(決まりでは)提出しないといけないのですが、根がズボラなのでサボりがちです。
こんなだらしない人間がこの問題を解決するにはプログラミングしかない!中学生の頃にHSP(Hot Soup Processor)を少し触った程度の初心者だけどプログラミングのいい勉強にもなるだろう、ということで毎日決まった時間に自動送信するプログラムを作りたいと思いました。今回は、途中でログインが必要となるタイプのフォームに対してのプログラムです。**ただし、Google Workplace for Educationに登録されている大学のアカウントを用いたログインのため、Googleログインの途中で大学アカウントのログインページに移行しています。** そのためGoogleがHeadless操作を検知してログインできない、ということは起こりませんでした。一般のGoogleアカウントを用いた
condaでライブラリインストールする手順
command prompt (anaconda)を管理者権限で起動して以下実行
“`conda-init.cmd
conda activate base
conda init
conda install [library-name]
“`