らんだむな記憶

blogというものを体験してみようか!的なー

2021-01-01から1年間の記事一覧

量子コンピューティング (3)

https://github.com/kyamaz/openql-notes/tree/draft/docs こちらのほうに読書ノートを置いてくれているので大変参考になる!https://github.com/kyamaz/openql-notes/blob/draft/docs/20210120/quantum_computing_2_1-2_4.ipynb からが本の内容に対応してい…

OpenType フォントはチューリング完全

ちょっとよく分からないけど、“tail recursion” で lookup を再起的に呼び出せるからとかいう闇の深そうが記述が幾らか見つかる・・・。https://litherum.blogspot.com/2019/03/addition-font.html とかよく読んだら分かるのかもしれないけど、うーん。使っ…

詳解ディープラーニング 第2版 (10)

クエリ・キー・値もよく聞くがよく分からないやつだ。ちょっと雰囲気で読むと、ドット積 Attention をエンコーダの出力シーケンスに適用したものを素朴に抽象化すると\begin{align*} \mathrm{Attention}(Q, K, V) = \left[ \mathrm{softmax}(QK^T) \right] V…

詳解ディープラーニング 第2版 (9)

Transformer に入るにあたって式が整理される。式 (6.16)\begin{align*} a(\tau, t) = \mathrm{softmax}(g(\bm{h}_s(\tau), \bm{h}_t(t-1))) \end{align*}は式 (6.26) として\begin{align*} a = \mathrm{softmax}(\mathrm{score}(\bm{h}_s, \bm{h}_t)) \end{…

詳解ディープラーニング 第2版 (8)

Attention を可視化したいなと思ったので、ゼロつく 2 の visualize_attention.py を流用してみようと思う。そのために、6/layers/torch/Attention.py のほうも改造が必要である。 class Attention(nn.Module): def __init__(self, output_dim, hidden_dim, …

詳解ディープラーニング 第2版 (7)

6/layers/torch/Attention.py の実装を見てみたい。p.364 に Attention 層は式 (6.12) (6.13) (6.14) で見たスコア関数のどれを用いるかによってパラメータが変わってきますが、ここでは式 (6.13) を用いてみることにしましょう。 とあるので、\begin{align*…

einsum (2)

>>> a = np.arange(1,5).reshape(2,2) >>> a array([[1, 2], [3, 4]]) >>> b = np.arange(-5,-1).reshape(2,2) >>> b array([[-5, -4], [-3, -2]]) を使ったすこぶる分かりにくい挙動を見てみよう。 >>> np.einsum('ij,ij->ij', a, b) array([[-5, -8], [-9,…

einsum (1)

ここいらで {numpy,tf,torch}.einsum の動きを見ておきたい。手軽さの観点で numpy で見る。 >>> a = np.arange(1,3) >>> a array([1, 2]) の時、 >>> np.einsum('i,i', a,a) 5 である。これは、-> での行き先がないので、結果がスカラになるということで、\…

詳解ディープラーニング 第2版 (6)

数日経ってしまったが、6/06_attention_torch.py を K80 上で実行した。30 エポックで 22 分だった。 epoch: 30 loss: 1.670, val_loss: 3.57 > she doesn 't have any <unk> . = 彼女 に は 敵 は い な い 。 </s> < 彼女 は 数 に 無 い 。 </s> 。 </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> > she p…

OSS と生活

IT

そこそこの歳になってくると夢とか浪漫に思いを馳せるだけではなく金が欲しくなる。その夢とか浪漫を追い求めるのにも金がかかるからだ。仮に所属組織がお金を出してくれるとしてもそれは無尽蔵ではないし、所属組織の考えでしか投資してもらえない。意見が…

GlyphsTracePlugin

GitHub - schriftgestalt/GlyphsTracePlugin が手元の環境 (Big Sur + Glyphs 2.6.6 (1352)) でうまく動作しない。Trace Image Filter Does not work - Scripting - Glyphs Forum の現象の 1 つなのかもしれない。ので調べた。https://github.com/schriftges…

詳解ディープラーニング 第2版 (5)

前章で考えた Encoder-Decoder では、デコーダの $\bm{h}_t$ はエンコーダ $\bm{h}_s$ の最終状態を表す固定長の文脈ベクトル $\bm{c}$ を用いて下記のように表されました。 \begin{align*} \bm{h}_t(t) = f(\bm{h}_t(t-1), \bm{y}(t-1), \bm{c}) \end{align…

Transformer の実装

https://github.com/huggingface/transformers/tree/master/src/transformers https://github.com/facebookresearch/detr/blob/main/models/transformer.py https://github.com/yusugomori/deeplearning-keras-tf2-torch/blob/master/6/08_transformer_torch…

NHWC

(beta) Channels Last Memory Format in PyTorch — PyTorch Tutorials 1.10.1+cu102 documentation Why does pytorch prefer using NCHW? - PyTorch Forums すぐに忘れてしまうが、PyTorch は NCHW (BCHW) フォーマットを使っている・・・らしい。その意味で…

詳解ディープラーニング 第2版 (4)

x,t = next(iter(train_dataloader)) print('t of train_dataloader:', t.is_contiguous()) x,t = next(iter(val_dataloader)) print('t of val_dataloader:', t.is_contiguous()) x,t = next(iter(test_dataloader)) print('t of test_dataloader:', t.is_c…

詳解ディープラーニング 第2版 (3)

「田中コーパス」を Tanaka Corpus - EDRDG Wiki をもとに ftp://ftp.edrdg.org/pub/Nihongo/examples.utf.gz からダウンロードして tar xvfz examples.utf.gz less examples.utf すると、 A: 彼女は私の子供達の世話をしてくれる。 She takes care of my ch…

詳解ディープラーニング 第2版 (2)

「5.2.7 長期依存性の学習評価」については、以下のような感じでデータセットを確認: # シグナルの前半 print(x[0, :, 0][:30]) # マスク print(x[0, :, 1]) indices_of_one = np.where(x[0, :, 1] == 1) # マスクが 1 の箇所 print(indices_of_one) # マス…

ぷよりんご

「ぷよりんご」ゲームが難しすぎると話題に(テレビ朝日系(ANN)) - Yahoo!ニュース やってみた。でという感じで。

詳解ディープラーニング 第2版 (1)

Transformer の解説 - らんだむな記憶 で触れたこの本が良さそうなので購入した。第 5 章くらいから見ていくか。pp.256-293 を取り敢えずやってみる。ゼロつく 2 では peephole connection の話は出ていなかったので、そうなのかという感想。にしても十分に…

Google Colab Pro+ (2)

GCP

google colaboratory - colab pro+ Background exec does not seem to take effect - Stack Overflow バックグラウンド実行がちゃんとできるのかちょっと不安だな・・・。そして、Googleさん、Colab Pro+を作ったのでColab Proをリソース制限してしまう | や…

Transformer の位置エンコーディング

import matplotlib.pyplot as plt import numpy as np fig = plt.figure() ax = fig.add_subplot(projection='3d') ax.set_xlabel('i', size=15, color='black') ax.set_ylabel('pos', size=15, color='black') ax.set_zlabel('PE', size=15, color='black')…

ImageMagick で bmp 画像へ一括変換

PNG to BMP3 using mogrify - ImageMagick より mogrify -format bmp -define bmp:format=bmp3 *.png とすると良い感じで .png -> .bmp ができるみたい。*1この後、potrace で svg にして*2、fontTools の svg2glif.py を使うと簡単に .glif にできる。例え…

FreeType で取得されるタイポグラフィックディセンダ値

https://github.com/freetype/freetype/blob/3cabd142ce42627a7e4410ce62616e5c4b91dc6e/src/sfnt/sfobjs.c#L1319-L1339 単純に OS/2.sTypoDescender がとられるわけではなかった・・・。 USE_TYPO_METRICS でない場合は hhea のほうがとられると・・・。 CJ…

Colab に SSH (2)

GCP

Colab に SSH - らんだむな記憶 には別解(?)があるみたいで Cloudflare を使うみたい。ローカルのVSCodeからGoogle Colab (Pro)に接続する - Qiita によるとユーザー登録不要らしいが・・・何故だろう・・・。Cloudflare を踏み台にしてると思っているの…

∂ の読み方

multivariable calculus - How do you pronounce (partial) derivatives? - Mathematics Stack Exchange こんなに色々あるとは思わなかった・・・。over より by のほうが多そうなのもそうなのか・・・という感じ。

E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)

「E: ロック /var/lib/dpkg/lock-frontend が取得できませんでした - open (11: リソースが一時的に利用できません)」というエラーの対処法 - Qiita たまに遭遇するので少し待つ。今回も書いてあるように数分ぼけーっと放置したらロックが解放された。

踏み台サーバ経由の ssh

AWS

ssh -i hoge.pem -oProxyCommand='ssh -i fuga.pem -W %h:%p ec2-user@xxx' ec2-user@192.168.yyy とすると、アドレス xxx のサーバを踏み台にして、private subnet のローカルアドレス 192.168.yyy のサーバに ssh できるとのこと。たまたま Udemy を見てい…

ゼロつく 2 (17)

ch06 の Rnnlm を DeZero にポーティングする。以下のような感じで良いはず・・・ class Rnnlm(Model): def __init__(self, vocab_size, wordvec_size, hidden_size): super().__init__() V, D, H = vocab_size, wordvec_size, hidden_size self.embedding =…

interface VPC エンドポイント経由での S3 アクセス

AWS

PrivateLink と呼ぶのか? private な subnet にいる EC2 や Lambda からエンドポイント経由で S3 にアクセスする時、EC2/Lambda と S3 が同一のリージョンにいるだけでは不十分で、S3 の API を叩く時にもリージョンを明示的に指定しないとダメなんじゃない…

tar + ssh によるファイル転送

sshだけでファイル・ディレクトリ転送(scp, sftpなし) - Qiita tar cf - file1 file2 | ssh alice@xxx 'tar xf -' でオンメモリな tar でファイルを転送できるみたい。しかも調べたらちゃんと出てくるからよく知られた技なんだろうか・・・。