2018-09-01から1ヶ月間の記事一覧

CNNによるMNISTの埋め込み(t-SNEも)

前回に続いて,学習済みモデルの中間層の出力を取り出す例として,学習済みCNNを自己符号化(オートエンコーダ)として使う例をやってみる。 コードはPyTorch公式exampleのmnistを少しいじって,モデルの中間層が取り出しやすくして,t-SNEによる埋め込みを行…

PyTorchのモデルの書き方の整理

サマリ いくつかの書き方があるが,混乱するのは下記の種類が色々Webに見られるからか。 ① initにはパラメタありだけ,パラメタが無いものはforwardに。これが一番柔軟性があるように思う。モデルの中間層を細かく取り出したり,活性化関数を変えたりしたい…

PyTorchでのモデルの中間層へのアクセス方法

PyTorchにはいろいろなモデルの書き方があるけど,このメモの内容を考えると学習パラメタが無いレイヤ含めてinitにもたせておくほうが良いのかもしれない。 (と思ったけど,一番最後のレイヤをとりあえずコピーしてforwardを再定義するやり方ならどっちでも…

CNN in MNIST with PyTorch (PyTorchの基本メモ)

PyTorchのチュートリアルとexampleはとても参考になる。0.4から色々変わっているようだし,改めて情報を整理する。 まず今回は,MNISTを動かしながら以下の項目についてメモしておく。 MNISTデータのロード方法。可視化方法。 ネットワーク,学習,テストの…

クランプ関数(0〜255に値を丸める)のやり方

またまたcodewarsの他人の解答より。 本題はRGBの変換だったけど,その前処理で0以下の数値を0に,255以上の数値を255にクランプする処理がある。 僕は富豪的に下記で。 lst = map(lambda x: 0 if x<0 else x, lst) lst = map(lambda x: 255 if x>255 else …

文字列からの数値抜き出しとソート時のインデックス取得

CodeWarsより。 わかりやすいように少し改題。また,CodeWarsはPython2で動いているので下記のコードは通らない。 問題 入力:数値を含む文字列の配列が与えられる。ただし,各文字列には1~9の数字が1つだけ入っており,文字列間に含まれる数値の重複はない…

配列の中に奇数回出現する1つの整数値

codewarsというので遊んでいたら,他人の良い回答を見つけた。 問題 整数の配列が与えられる。その中に1つだけ奇数回出現する整数値が存在する。それを求めよ。 例)[1,3,5,2,6,8,4,3,1,5,2,6,8,3] -> 3 色々とやり方はあると思うけれど,XORを使う方法がな…