それはえぬびであ云々以前のような・・・

しっかしすげ〜増えたな〜・・・(もはや他人事

news.yahoo.co.jp/articles/edce
いやいや。まだ夜の街云々とか言ってる連中のほうがよほど信じられんよ・・・(ヤフコメ見て

※これ、絶対に速度でないと思うwww

というわけで今後のPyTorchの正しいsave方法
※注: io.BytesIO編

x = torch.tensor([0, 1, 2, 3, 4])

# save
buf = io.BytesIO()
torch.save(x, buf)

# load
buf = buf.getvalue()
y = torch.load(io.BytesIO(buf))

これが正解でしたとな。

というわけでこれを移植するのが今日の午後の作業。ここまでわかればあとはなんとかなる・・・かな?

せっかくio.BytesIO()でバッファ溜め込んだんだからread()で読みたいですよね!?(少なくとも私はそう思ったから躓いたorz

そんでもって躓いてた箇所というのがまさにそれで、せっかくio.BytesIO()で保存していたテンソルを、read()で読むと失敗する(細かいテンソルの配列でしかないからread()みたいなseekを使う必要がないのでそれはそう)して、正しくはgetvalue()で読むつーか、現状のPyTorchの実装そのものがそうなってる。
イケてないなぁ〜・・・としか言いようないですよねw

そしたらio.BytesIO()ってなんなの!?って話になるわけで・・・w

すべてTorch型で保存しておけばストリームを意味もなすと思うけど、細かいデータ列がひたすら並んでるリストになってて、ストリームっぽく流そうとするといろいろ挫折するw

てかPyTorchのsaveでio.BytesIOを使う仕様があるんだけど、ほんとこれ使い勝手としてどうなんだろ??? そもそもモデルをTorch型×リスト型で保存してて、そいつをストリームにしようということ自体ムリがあるんだけどなw

Show more
:don:

The place to express your ❤️ more freely. / あなたの「すき」をもっと自由に書き表すための場所。