20220622

予定

CRNN

これ読む

https://www.amazon.co.jp/%E3%80%90Amazon-co-jp-%E9%99%90%E5%AE%9A%E3%80%911%E5%86%8A%E3%81%A7%E3%81%99%E3%81%B9%E3%81%A6%E8%BA%AB%E3%81%AB%E3%81%A4%E3%81%8FHTML-CSS%E3%81%A8Web%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E5%85%A5%E9%96%80%E8%AC%9B%E5%BA%A7-DL%E7%89%B9%E5%85%B8-Flexbox/dp/4797398892/ref=sr_1_5?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=HTML+css&linkCode=qs&qid=1655895086&sourceid=Mozilla-search&sr=8-5

サブミットする

集合部分読む

松阪先生の方が良い説はある。 https://www.amazon.co.jp/%E9%9B%86%E5%90%88%E3%81%A8%E4%BD%8D%E7%9B%B8-%E5%A2%97%E8%A3%9C%E6%96%B0%E8%A3%85%E7%89%88-%E6%95%B0%E5%AD%A6%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E5%86%85%E7%94%B0-%E4%BC%8F%E4%B8%80/dp/4785314125/ref=sr_1_21?keywords=%E6%9D%BE%E5%9D%82+%E6%95%B0%E5%AD%A6&qid=1655895168&sprefix=%2Caps%2C246&sr=8-21

week7の課題を作ってみる。

ありがたい資料です。 課題以外はすべてのweek解いたので一応最後のだけはしたい。 ソフトウェア1 (2021)

draw.ioでモデル図を書く

Draw.ioについて語ります。

導入きっかけ

大学を卒業し無事powerpointが使えなくなってしまったため代用先として何かいいものはないか模索していたのがきっかけです。現状、powerpointはwin用の学生版を買ってしまい、macbookpowerpoint、デスクで何かするみたいなことができないです。mac用のも買えば済む話ですが、それならoffice365のサブスクを買った方が良かったです。。。

Draw.ioの導入方法

vscodeで書く方法で行いました。

これでいけるはず。

qiita.com

 

どんな風に書けるの?

こんな感じ。これを書くのに約5-10分程度でした。ショートカットキーとか操作になれればもっと高速だったり綺麗に書けそう。論文に載せれそうな完成度です。学生の頃からモデル図はこれで書けば良かったのでは感があります。

 

f:id:ko_lolu:20220111002656p:plain

 

 

表はこんな感じ。3x3じゃない方法がわかなくておしまい。

f:id:ko_lolu:20220111004036p:plain

 

終わりに

半日程度で使用にはなれると思います。多分。

ほとんどわかっていないのですが、ctrlキーで矢印をビヨーンとするのがコツだと思います。

 

今月の課題図書

読む本

はじめに

読むと宣言したほうが読めるのではないかと思いました。

実は今年、読む本は積読状態で(年始のDMMセールで買ったのとか)すでに買っている

のでどんどん読んで消化していきたいです。

今年はおそらく、勉強関係の本はこれと英語の学習書以外買わない予定です。

www.amazon.co.jp

 

今月読む本

達人に学ぶDB設計

会社でWeb関係をしているのでDBの知識付けなきゃで読む本です。

www.amazon.co.jp

実体で学ぶゲーム3D数学

ゲーム?と思いますが中身はCVとCGで扱う線形代数幾何学C++のコード

例で構成されています。また、分厚い本だと最初は思いましたが100ページ読んだ感じだと、座標の誕生の歴史とか、線形代数にしてもベクトルの一次元の場合などから始まり中身が丁寧なのでこの厚さでした。そのため、読み進めるのが困難なところは今はないです。

www.amazon.co.jp

今月読めたらいいなの本

webを支える技術

Web関係をしているので知識をつけるという目的で読む。

www.amazon.co.jp
Effective Python

EffectiveシリーズはEffective C++がありますがそのPython版です。

この本の第一版は大学時代に半分ぐらい読んでいましたが、その第一版から増補されいるようです。前は項目60ぐらいだったし、厚さも半分ぐらいでした。

Pythonicなコードが紹介されいていてpythonで綺麗で効率が良いコードを書く場合は読んでおいて損はなさそうです。ただし、pythonはある程度書けることができるのが前提だと思います。なのでpythonの2冊目以降の本なのかと思います。また、numpy、pandasとかpytorchをEffectiveに書く本でもないです。pythonの組み込みモジュールでEffectiveという本です。

 

一度はそのケースに関しては実装経験がない場合は難しいと思うのですべて、読めなくてもいいと思っています。しかし、最低でもオブジェクト指向な部分、すなわち5, 6章は読みたいです。

 

個人的な話ですがWeb関係の仕事ではGoやJavaではなくpythonで実装しているので一石二鳥な本です。

www.amazon.co.jp

エフォートレス思考

評判だと良さそうな感じなので読もうかなと言う感じです。

www.amazon.co.jp

推し武道

1巻を見た感じ普通に良かったので通勤途中に読みます

www.amazon.co.jp

EASTの続き

前回

こんな感じで写経を開始しました。

ko-lolu.hatenablog.com

どんな状況

写経というか学びたいコードが2つあるのですがEASTの方はとりあえず写経と理解はだいたいできたのでまとめたいと思います。

 

学習に関しては、前にしたことがありでしっかり学習が行えることや可視化して検出できるていることを確認できているので飛ばす予定。

 

学んでいるなかでData Augmentationのところが難しいので次に学ぶとしたらそこかなと思いました。

 

EASTは4座標を扱うため必然的にkeypointな画像の加工をする必要がありなかなか大変です。。

 

予定

目標

2022年の目標として画像認識で強くなりたいのでとりあえず以下をこなす予定

写経-1

EASTは文字検出の深層学習モデルで提案されている。その再現実装コードの理解をして何かまとめようかと思っています。1月中に確実にはできそう。ついでにEASTは角度有りの物体検出ができる。

github.com

写経-2

kaggle GMのpudae氏がkaggleコンペのunderstanding_cloudで1stを取ったコードであるがオブジェクト指向で学習パイプラインを作成しているので他コンペでも流用できて良さそう。このようなオブジェクト指向なパイブラインとしてmmdetectionが挙げられるがさすがに大規模すぎる間がある。一方でpudae氏のコードはkaggelのパイプラインとしては十分な書き方であるし、大規模ではないので入門には良さそう。

github.com

2021_08_18

弓と禅を読んだ。

他何もせず

とりあえずMbnetv2からはじめて書くからTorchで書いている。早い段階でJaxで書きたい。

これの写経、明日には書けるはず

 

 

github.comtimm はこのあたりはclass EfficientNetBuilderの部分で実装しているがわかりづらいね。

(EfficientnetとかNAS系でのmodel全部、MVNetv3)使えるっぽいが。

github.com

import torch.nn as nn
import math


def conv_3x3_bn(inp, oup, stride):
return nn.Sequential(
nn.Conv2d(inp, oup, 3, stride, 1, bias=False),
nn.BatchNorm2d(oup),
nn.ReLU6(inplace=True)
)


def conv_1x1_bn(inp, oup, stride):
return nn.Sequential(
nn.Conv2d(inp, oup, 1, 1, 0, bias=False),
nn.BatchNorm2d(oup),
nn.ReLU6(inplace=True)
)


class InvertedResidual(nn.Module):
def __init__(self, inp, oup, stride, expand_ratio):
super(InvertedResidual, self).__init__()
hidden_dim = round(inp * expand_ratio)
self.identity = stride == 1 and inp == oup
if expand_ratio == 1:
# depth-wise
self.conv = nn.Sequential(
# dw
nn.Conv2d(
hidden_dim,
hidden_dim,
3,
stride,
1,
groups=hidden_dim,
bias=False),
nn.BatchNorm2d(hidden_dim),
nn.ReLU6(inplace=True),
# pw-linear
nn.Conv2d(hidden_dim, oup, 1, 1, 0, bias=False),
nn.BatchNorm2d(oup),
)

else:
self.conv == nn.Sequential(
nn.Conv2d(inp, hidden_dim, 1, 1, 0, bias=False),
nn.BatchNorm2d(hidden_dim),
nn.ReLU6(inplace=True),
nn.Conv2d(
hidden_dim,
hidden_dim,
3,
stride,
1,
groups=hidden_dim,
bias=False),
nn.BatchNorm2d(hidden_dim),
nn.ReLU6(inplace=True),
# pw-linear
nn.Conv2d(hidden_dim, oup, 1, 1, 0, bias=False),
nn.BatchNorm2d(oup),
)

def forward(self, x):
if self.identity:
return x + self.conv(x)
else:
return self.conv(x)


# おカネの消費

0円