しんさんのブログ

科学や技術のこと読書のことなど

Ampere世代のNVIDIA GPUまとめ

NVIDIA A100 Tensor core GPU: アンペア世代のフラグシップモデル
FP32(for training): 312TFLOPS
Int8(for inference): 1248TOPS
FP64(HPC): 19.5TFLOPS
MulTI-INSTANCE GPU機能を唯一持っている

NVIDIA A40:グラフィックスに特化したデータセンター向けGPU
QuadroRTX6000,8000のAmper版
倍精度はそれほどだけどRTコアが入っていてリアルタイムレイトレに強い。
グラフィック用途

NVIDIA RTX A6000
A40のワークステーション
グラフィック強い
Arnoldレンダラで、GP100、RTX6000の約2倍

「イラストで学ぶディープラーニング 改訂第2版」を読みました

イラストで学ぶ ディープラーニング 改訂第2版 (KS情報科学専門書)

イラストで学ぶ ディープラーニング 改訂第2版 (KS情報科学専門書)

  • 作者:山下 隆義
  • 発売日: 2018/11/19
  • メディア: 単行本(ソフトカバー)
古い版の方は読んだことがあったのですが、第2版で強化学習のあたりが追加されたようですのでまた読んでみました。
この本でディープラーニングを勉強するというよりは、知っている人がああそういう話もあるな、と確認するような感じで読むのに向いている本です。なぜか一部(LSTMの辺り)数式がつらつらと書いてありますが、そういうのは他のもっと詳しい本できちんと手を動かして自分で数式変形しながら理解しないといけないので本書では、そうやって一度は数式を手で書いたことある人が頭の中の式を確認する感じで読み進めていくのにちょうどいいです。
そんなに重い内容ではなく、広く薄くなのでリラックスしながらディープ界隈を概観するのに最適です。

「三体」劉 慈欣 (著)を読みました

三体

三体

中国のSFがヒューゴー賞を取ったと話題になった本です。
かなり前から話題になっていたこともあり、早々に購入をして積読していました。
1回目に少し読んだところで、1週間空いてしまい物語の展開が追えなくなったので、もう一度初めから読みなおしました。
自分が理論物理を研究していたこともあり、科学的背景は割とすんなり理解できたのですが同時にそれはないだろと突っ込みたくもありましたが、エンタテインメントとして物理屋さんなら楽しめると思います。
また、著者が中国人ということもあり、人民解放軍や同士という言葉が出てきて、そこには中国の文化と言うか社会的な背景がふんだんに織り込まれていますが、小説として読めば違和感はありません。
三体世界の描写もいかにも中国と言う感じはありますし、進んだ科学技術+独裁というのもいかにも前近代的なにおいがしますが、1周回ってそれが現実になるかもと言う最近の世界を考えると逆にリアルだなとも感じました。
科学が進歩するには基礎科学を推進することが重要で、加速器のを建設して物質や時空の謎、宇宙の基本法則を解明することが必要ときちんと言い切っていることろは、まさにその通りと思います。
デジタル化がどうのこうの、ディープラーニングとかデータサイエンスがとか言っている間に、基礎科学が停滞してしまっている日本を見ていると、三体世界が中国で、日本が地球なのではないか、などと妄想してしまいました。
実は、基礎科学を停滞させるために他に投資や関心を向けさせる巧妙な罠が仕掛けられているなんてことはないですよね。
土日を使い集中的に一気に読んでしまいましたが、もう終わりなのか、もっと物語の世界に浸り続けたいと思うほど読みやすかったです。
特に最後の方は一気にいろんな謎が解けるとともに、さらなる謎も投げかけられこれは三体Ⅱも読まざるを得なくなりそうです。

Pytorch学習の効率化

pytorchで学習をさせているときに、GPUを使っているのにGPUのロードが全く上がらないことがよくあります。
おそらくDataLoaderでのデータのロードとデータの処理に時間がかかって、GPUの計算がずっと止まっている状態なのだと思います。
以下のようなとても役に立つ記述がありましたので、メモとしてリンクしておきます。
正確には測ってはいませんが、いくつか使ってみたら確かに少し早くなりました。
qiita.com

i3D2020リンク集

アメリカ太平洋時間の9月14日から18日、バーチャル開催です。
登録は無料のようです。
i3dsymposium.github.io

ペーパーはオープンアクセスのようです。以下のサイトから閲覧できます。
www.siggraph.org

ECCV2020リンク集

論文リンク
https://www.ecva.net/papers.php

150+ Pre-recorded ECCV 2020 Paper Presentations - All shared by authors with free public access
crossminds.ai

ECCV 2020 Paper Compilation - TUM Visual Computing Lab & Collaborators
www.youtube.com

Tensorflow, Kerasでよく使うセーブデータ形式

HDF5

多分一番よくつかわれるデータ形式だと思います。
非営利のHDF5グループが管理しているデータ形式
階層バイナリ形式で非常に大規模なデータの保存にも対応できる。 ディープラーニングではモデルそのものやモデルの重みを保存するのに使用されています。
モデルのみを保存できますし、モデルと重みの両方を一度にセーブすることもできる。

#モデルのみセーブする
model.save("hoge-model.hdf5")
#モデルと重みの両方をセーブ
model.save("hoge-modelWeights.hdf5")
#モデルをロードする
myModel = keras.models.load_model("hoge-model.hdf5")
#重みをロード
myWeight= keras.model.load_weights("hoge-modelWeights.hdf5")

JSON

JSONはどちらかと言うとWEB界隈でよく使われているデータ形式で別にTF,Kerasだからというわけではないですが、binary形式の
HDF5形式に対しで後でテキストとして読みやすいのでたまに使うことがあります。 ただし、保存できるのはネットワークモデルのみです。

# モデルの保存
model_json = model.to_json()
with open("hoge/hoge-model.json","w") as js:
     js.write(model_json)
# モデルの読み込み
js = open("hoge/hoeg-model.json", "r")
model_json = js.read()

Pickle

PickleはPythonのリストなどをセーブするのにつかわれます。
TF, kerasでは学習の履歴をセーブするのによく使われます。

# historyのセーブ
history = model.fit( )
with open('hoge.pkl', 'wb') as hf:
     pickle.dump(history.history, hf)
# historyのロード
hf = open('hoge.pkl', 'rb')
history = pickle.load(hf)