- 1. iter()とnext()
- 2. DeepNudeの学習済みファイルをBarracudaで使用するためにonnxファイルに変換する
- 3. 初心者はいかにしてプログラミングを学ぶべきか?
- 4. Streamlitとmediapipeで簡単に顔検出、手検出、姿勢推定Webアプリ(静止画ver)を作る
- 5. model.fit エラー
- 6. Jupyter Notebook上でkernelを追加したり削除したりする方法
- 7. pythonのcsv読み込みでズッこけた
- 8. ろうとるがPythonを扱う、、続き(telnetlib, expect())
- 9. Pythonで環境構築のオススメ ~Anacondaはもう嫌だ~
- 10. Amazon Lambda デプロイ&アップデート用のスクリプト(PowerShell)のテンプレ作ってみた
- 11. pandera の SchemaModel で MultiIndex の DataFrame をバリデーションする方法
- 12. Kerasを使ったMNISTの画像分類
- 13. 6つの次元削減手法をFashion-MNISTで比較してみる
- 14. WindowsにVisual Studio Python同梱に1票
- 15. 【Django】Model継承時の挙動まとめ AbstractModel, ProxyModel
- 16. Pulp 組み合わせ最適化でシフト表作成 可能な限り2連休を作る
- 17. 【Django】templatesの設定について
- 18. (天才)21. Merge Two Sorted Lists Easyの解説
- 19. AWS CDK Python の v1 to v2 へのアップグレード手順
- 20. Jupyter NotebookからPythonのAPIでBlenderを操作する
iter()とnext()
リストやタプルから1つずつ取り出す方法
for文とかでも書けるリストやタプルをイテレータに変換
“`
iter()
“`イテレータから一つずつ取り出す
“`
next()
“`“`
a = [1, 2, 3, 4]
a_iter = iter(a)print(next(a_iter), next(a_iter), next(a_iter))
#1 2 3a_next = next(a_iter)
print(a_next, a_next, a_next)
#1 1 1
“`
DeepNudeの学習済みファイルをBarracudaで使用するためにonnxファイルに変換する
#環境
python3.7#概要
Unityの機械学習ライブラリであるBarracudaでDeepNudeの学習済みデータを使用するためにonnxファイルに変換します。以下の関数をgan.py内にあるDeepModelクラスに追加しました。
~~~python
def export_onnx(self):
self.netG.eval()batchSize = self.opt.batchSize
imageChannel = self.opt.input_nc
width = 512
height = 512
input = torch.randn(batchSize, imageChannel, width, height)
checkpointPath = self.opt.checkpoints_dir
basename_without_ext = os.path.splitext(os.path.basename(checkpointPath))[0]
print(basename_without_ext)
outpu
初心者はいかにしてプログラミングを学ぶべきか?
こんにちは。大学生プログラマーのはやはやです:man_tone1:
今回の記事では、プログラミングを始めてみたいという人、プログラミングを始めて間もない人、プログラミングの学び方で悩んでいる人に向けて、筆者なりのプログラミング(主にPython)の学習方法をお伝えしていきます。
※あくまで個人の見解であり、この記事の内容が正しいわけではありません。ふーーんくらいで気軽に読んでくださいな。少しでもいいなと思ったらLGTM、ストック、コメントよろしくお願いします〜
# 自己紹介
まずは自己紹介をしておきます。
筆者がプログラミングと出会ったのは、去年の8月ごろ。
本屋に大学の講義で使う教科書を買いに行くついでにぶらぶら色々な本を見ていた時のこと。なんとなく寄ったプログラミングのコーナー、その時、「なんか面白そう。。。:rolling_eyes:✨」、そう思いました。その時の筆者は、プログラミングという存在自体全く知らなかったし、そもそもパソコンをほとんど触らないスマホキッズでした。つまり、『スーパー初心者』だったわけです。そして、そこからプログラミングの世界に没入していきました
Streamlitとmediapipeで簡単に顔検出、手検出、姿勢推定Webアプリ(静止画ver)を作る
https://qiita.com/miso_taku/items/68c657ba19f9d621e8bf
上記の記事に続く、streamlitで簡単にWebアプリを作る記事第2段です。
# Streamlitとは
StreamlitとはPythonでフロントエンドを構築できるWebフレームワークです。同じPythonのwebフレームワークであるDjango, Flask, Fast APIなどと比べるとHTTPやCSSなどを理解しなくてもWebアプリを作成することができます。
※ただし、その分デザインの凝ったWebアプリの作成には向いてないかもしれません。https://streamlit.io/
Stremlitのインストール、ユーザー登録に関しては[StreamlitとCOTOHA APIで簡単にテキスト感情分析Webアプリを作る](https://qiita.com/miso_taku/items/68c657ba19f9d621e8bf)でご確認下さい。
# MediaPipeとは
Google社が提供するライブストリーミングのためのオープンソースの
model.fit エラー
model.fit(,)を起動させようとするけれども、エラーが出てしまう。そんなときの対策方法をこの記事で挙げる。
Ex)model.fitエラーの例
事前情報
data0={
‘MaxTemp’: [33,33,34,34,35,35,34,32,28,35,33,28,32,33,35,30,29,32,34,35],
‘NumOfCus’:[382,324,338,317,341,360,339,329,218,402,342,205,368,351,304,294,275,336,384,368]
}
Ice_data=DataFrame(data0)
Ice_dataX=Ice_data.loc[:,’MaxTemp’].values
Y=Ice_data[‘NumOfCus’].values
model.fit(X,Y)
print(‘RegCoef:’,model.coef_)
print(‘Inter:’,model.intercept_)
——————–
これだとエラーが出てしま
Jupyter Notebook上でkernelを追加したり削除したりする方法
# おおきな流れ
1. condaに仮想環境を作る
2. 仮想環境にパッケージインストール
3. ipykernelをインストール
4. jupyter notebookに1で作成した仮想環境を追加
5. 不必要なkernelを削除## condaに仮想環境を作る
以下のコマンドで仮想環境を作成
*hogeの部分は好きな名前に変更してください。pythonのversionは適当に変更してください
“`
conda create -n hoge python=3.7
“`
仮想環境を作成されているか確認
“`
conda info -e
“`## 仮想環境にパッケージインストール
作成した仮想環境をアクティベートする
“`
conda activate hoge
“`例としてpytorchをインストール
“`
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=10.2 -c pytorch
“`pytorchがインストールされているかを確認
“`
c
pythonのcsv読み込みでズッこけた
# はじめに
久々にpythonでcsv読み書きしてどうのこうのするプログラム書いてたら、
デバッグで実際データ入れたときに思うように動かんすぎてズッこけたので備忘録です。
エクセルで作ったcsvファイル(CSV UTF-8(コンマ区切り))を読み書きしようとしてオッ…となりました。以下のような2行5列のデータが入ってるcsvファイルがあると思って以降のプログラム見てってください。
|1|2|3|4|5|
|:—-:|:—-:|:—-:|:—-:|:—-:|
|6|7|8|9|10|最初に私が書いたプログラムは以下です。
“`python
import csv
with open(filename) as f:
reader = csv.reader(f)
l = [row for row in reader]
print(l)“””結果
[[‘\ufeff1’, ‘2’, ‘3’, ‘4’, ‘5’], [‘6’, ‘7’, ‘8’, ‘9’, ’10’]]
ろうとるがPythonを扱う、、続き(telnetlib, expect())
# Pythonでtelnet
[こちらの記事「ろうとるがPythonでWindowsプログラムをつくる」](https://qiita.com/infinite1oop/items/5b1c5656303eea0c66c1)の関連で、sshではなく、telnetを扱う機会があった。Pythonの[telnetlib](https://docs.python.org/ja/3/library/telnetlib.html)を利用し、[Telnet.expect()](https://docs.python.org/ja/3/library/telnetlib.html#telnetlib.Telnet.expect)のサンプルとして、日本語で記載されたものがほとんど見つからないので、ここに記録する。## telnetサーバーへのログイン
やることは単純。telnetサーバーへのログインスクリプトをPythonで実現する。### telnetサーバー
テストで用いたtelnetサーバーは、「HK-TELNET-SERVER」。[ここ](https://sourceforge.ne
Pythonで環境構築のオススメ ~Anacondaはもう嫌だ~
# 概要
Deep Learningなどの開発をしている為、pythonで仮想環境構築を構築している。普段venvで環境を構築し、pipでパッケージ(ライブラリー)を管理している。他にもAnacondaが有名であり環境構築とパッケージ管理の両方が出来る。
# AnacondaではなくVenv&Pipを使う理由
Anacondaの問題点を幾つかあげる。
1. Anaconda社が認めたパッケージしかinstall出来ない為、結局pipを併用する事となる。そうすると、Anacondaとpipで同じlibraryをインストールしてしまう事があり、環境が壊れやすい。
2. パッケージをinstallするのに時間が掛かる。たまに、一生終わらないのではないかと思う。
3. 仮想環境外のdefaultのpythonがanacondaのpythonになっている事がある。あのパッケージいれたのに、import出来ないよ!!って思ったら違うPythonだったみたいな事が多々起きる。以上の理由よりVenv&Pipの方が、cleanな環境構築がしやすい気がしている。
# VenvとPipで環境構築
Amazon Lambda デプロイ&アップデート用のスクリプト(PowerShell)のテンプレ作ってみた
“`json:trust-policy.json
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Principal”: {
“Service”: “lambda.amazonaws.com”
},
“Action”: “sts:AssumeRole”
}
]
}“`
deploy.ps1
“`powershell:deploy.ps1
#メモリはデフォルト
#Layer不要の場合
$NAME = “LAMBDANAME”#Deploy用
Write-Output “————————————————————-”
$TIMEOUT = 60
$REGION = “us-east-1”
$ROLENAME = “ROLLNAME”
$HANDLERPATH = “main.FU
pandera の SchemaModel で MultiIndex の DataFrame をバリデーションする方法
# やりたいこと
MultiIndexのDataFrameを`pandera.SchemaModel`を使ってバリデーションしたい
“`python:DataFrame例
import pandas as pdidxs = pd.MultiIndex.from_product([[‘foo’, ‘bar’, ‘buz’], [0, 1, 2]], names=[‘idx_0’, ‘idx_1’])
cols = pd.MultiIndex.from_product([[‘ham’], [‘bacon’, ‘eggs’]], names=[‘col_0’, ‘col_1’])
data = list(zip([100., 200., 300.], ‘abc’)) * 3
df = pd.DataFrame(data=data, index=idxs, columns=cols)
“`“`text:df
col_0 ham
col_1 bacon eggs
idx_0 idx_1
foo 0
Kerasを使ったMNISTの画像分類
# はじめに
深層学習(ディープラーニング)の勉強を始めたので、画像分類の入門編であるMNISTにCNN(畳み込みニューラルネットワーク)を用いて取り組んでみた。
Pythonの実行環境は色々あるが、環境構築の手間や使っているPCがだいぶおじいちゃんなこともあり、基本的にGoogle colabを使用している。# MNISTデータセット
MNIST(Modified National Institute of Standards and Technology database)とは、0~9の手書き数字の画像データセットのことで、画像分類の初心者向けチュートリアルでよく使われているデータセットのこと(Hello World的な)。データが綺麗に整形されていて、高い精度が出やすいという特徴があるらしい。データセットは6万枚の訓練データと1万枚のテストデータで構成され、中身の画像は8bitのグレースケールで、0~255のピクセル値で表される。サイズは幅28×高さ28MNISTは公式HPやKaggleコンペ、scikit-learn/Keras/TensorFlow/PyTorchのよ
6つの次元削減手法をFashion-MNISTで比較してみる
# はじめに
国際基督教大学学部3年の[Kohei Ohno](https://www.linkedin.com/in/kohei–ohno/)と申します。
主催している勉強会にて、次元削減手法について議論する機会があったので、Fashion-MNISTを使って色々な次元削減手法で分類タスクを解き、それぞれの比較を行いました。
内容に今更感はありますが、せっかくなのでその際の資料をQiitaに投稿します。
ライブラリのインポートから結果の可視化まで全てのコードを載せているので、そのままコピペすれば動きます。よろしければお手元でもご確認ください。# 目次
– [準備](#準備)
– [ライブラリのインポート](#ライブラリのインポート)
– [Fashion-MNISTを読み込み](#fashion-mnistを読み込み)
– [データの前処理](#データの前処理)
– [ヘルパー関数](#ヘルパー関数)
– [手法の比較](#手法の比較)
– [PCA](#pca)
– [TruncatedSVD](#truncatedsvd)
WindowsにVisual Studio Python同梱に1票
むかしむかし、パソコンにはBasicというインタプリタが入っていた。
電源を立ち上げると、Basicが動く画面が現れたとか、現れなかったとか。
じゃ、今ならPythonが最初から入っていてもいいじゃないかってなった。
macOSには最初から入っている版もあったのだし。
Raspberry PIのRaspbian にもPythonが入っていて、すごく便利だし。私のQiitaの記事で、一番Viewsが多いのが、
M.S.WindowsにPython3(Anaconda3)を導入する(7つの罠)
https://qiita.com/kaizen_nagoya/items/7bfd7ecdc4e8edcbd679
その後、改訂版も作成しました。
M.S.Windows にAnaconda3(python3)を 2019年版
https://qiita.com/kaizen_nagoya/items/c05c0d690fcfd3402534
なぜ、最新の改訂版を作らないかというと、
Visual Studio Pythonをぼちぼちと使っているからかもしれません。機械学
【Django】Model継承時の挙動まとめ AbstractModel, ProxyModel
# 1. 通常の継承の場合
以下のようなモデルを例とします。
“`python
class Book(models.Model):
title = models.CharField(max_length=100)
published_at = models.DateField()
written_by = models.CharField(max_length=100)class Manga(Book):
illustrated_by = models.CharField(
max_length=100, verbose_name=’作画’
)class Novel(Book):
is_hardcover = models.BooleanField(verbose_name=’単行本?’)“`
データを入れて、テーブル構成を確認してみましょう。
“`python
Book.objects.create(
title=’Book1′, published_at=datetime(2022, 1
Pulp 組み合わせ最適化でシフト表作成 可能な限り2連休を作る
# 注意
https://qiita.com/ki073/items/d45cd648e0625c488ee6
この記事よりもいい記事を見つけたのでこの記事を見ずに
どうぞ上記記事を参考にしてください。
GLPKを利用されてますが
この記事を見るより参考になりそうです。
自分もこの記事を参考に書きなおす予定です。# 可能な限り「1」を2連続で作りたい。
PythonとPulpを利用すればシフト表を自動で作成できますが([過去記事参照](https://qiita.com/ookamikujira/items/862ec78914d5deb549c1))
2連休で休みをできるだけ作りたいなんて時もありますよね。シフト表を出勤を0と休みを1で表現すると
2連休は「1」「1」。
2連休を増やしたい。
3連休ではなく。そんな人のため記事を書きました。
縦が日付、横が人として
つまり縦にに連続で1を作るイメージです。最初に出力結果を見てもらえば何がしたいか分かりやすいかも。
シフト表自動作成のコードを書いている際に
依頼部署からできるだけ連休をみんなに付与したシフトじゃない
【Django】templatesの設定について
Django4.0でtemplatesディレクトリをsettings.pyで指定する際に、
少し躓いたところがあったので、記載します。## バージョン
Django: 4.0.4
python: 3.10.2## 躓きポイント
まず、templatesディレクトリを作成することで、
templatesディレクトリに入っているhtmlをviews.pyで呼び出すことができます。
ただ、templatesディレクトリに使用する際は、settings.pyでtemplatesの場所をしている必要があります。“`settings.py
TEMPLATES = [
{
‘BACKEND’: ‘django.template.backends.django.DjangoTemplates’,
‘DIRS’: [ ],
‘APP_DIRS’: True,
‘OPTIONS’: {
‘context_processors’: [
‘django.template
(天才)21. Merge Two Sorted Lists Easyの解説
>問題文:
https://leetcode.com/problems/merge-two-sorted-lists/
正解者さん:**Mr.StefanPochmann**
https://leetcode.com/problems/merge-two-sorted-lists/discuss/9771/Simple-5-lines-Python
“`python:正解の引用コード
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution(object):
def mergeTwoLists(self, list1, list2):
if not list1 or list2 and list1.val > list2.val:
list1, lis
AWS CDK Python の v1 to v2 へのアップグレード手順
# はじめに
AWS CDK を実行すると、 AWS CDK v1 の開発がメンテナンスモードになるというアナウンスが出るようになった。
“`
NOTICES19836 AWS CDK v1 entering maintenance mode soon
Overview: AWS CDK v1 is entering maintenance mode on June 1, 2022.
Migrate to AWS CDK v2 to continue to get the latest features
and fixes!Affected versions: framework: 1.*, cli: 1.*
More information at: https://github.com/aws/aws-cdk/issues/19836
If you don’t want to see a notice anymore, use “cdk acknowledge
“. For example, “cdk a
Jupyter NotebookからPythonのAPIでBlenderを操作する
## はじめに
オープンソースの3DCGソフトBlenderにはPythonのAPIが用意されていて、オブジェクトを作成したりアニメーションのキーフレームを打ったりすることができます。ガッツリ開発する場合、VSCodeで編集するのが主流のようですが、はじめましてのAPIとはJupyter Notebookがないと仲良くなれない体になってしまったので、どうにかJupyter NotebookからBlenderのAPIを触れないものかと調べてみることにしました。
結果、Jupyter Notebook上でBlenderのAPIをいじくることができる、**blender_notebook**なるものを見つけたので実装までの流れを紹介します。
操作によって動作がもっさりすることがありますが、開発前や練習時など、ちょっと試してみる場合には便利です。https://github.com/cheng-chi/blender_notebook
何度かAvastがざわざわしましたが無視しました。
## 1. BlenderのPythonバージョンの確認
今回一番重要な点は、**Jupy