RustでGraphを実装する方法

Rc,RefCellを使用しない方法 smallcultfollowing.com struct Graph { nodes: Vec<NodeData>, edges: Vec<EdgeData> } type EdgeIndex = usize; type NodeIndex = usize; struct NodeIndex { firest_outgoing_edge: Option<EdgeIndex> } struct EdgeIndex { target: NodeIndex, next_outgoing</edgeindex></edgedata></nodedata>…

2022年の振り返りと2023年の目標

2022年の振り返り 大学院をなんとか卒業 AisinとかいうJTCに入社 5ヶ月で退職 スタートアップに入社 初案件をCTOのサポートもありながらどうにかやる 所感 大企業はクソ 2023年の目標 Cのコンパイラを作成 達成条件 GCCが生成するバイナリの2倍の時間以内で…

アセンブリのメモx64(x86-64)

intel記法で書く .intel_syntax noprefix .global main ... 割り算 x64のdiv,idivの仕様は二つのレジスタを引数に取りそれを割るのではない。 動作としては 商:rax = rdx:rax / 第一オペラント あまり : rdx 表記 div 第一オペラント マジでこの使用は謎 ま…

アセンブリを出力するときに読みやすくするためのオプション

cfi_**みたいなやつを出力しないオプション -fno-asynchronous-unwind-tables intel記法で出力するほうほ -masm=intel --target=[arch]

Rustで自動微分

Rustで自動微分するものを作りました。 GWで帰省していて研究する気がおきず、でもコードは書きたいというモチベーションのもと作成しました。 その勢いで、CUDAのカーネルも描いてしまおうかと思ったんですが、GPU付きのPCが実家にはないため、そこでやる気…

tokioなどで非同期処理を行う際の関数をasyncを付けずに呼ぶ方法。

RustのTokioを用いて非同期処理を行いそれをpythonから用いられるようにする際に私はrust-numpyを用いて行っていました。 その際に、asyncな関数は呼べませんでした。(今の所呼べない?) 詳しく調べて詳しく実装を見ればいいのですが、時間があまりないた…

遺伝研のスパコンにGPU付きでloginする方法

普通にsshでゲートウェイサーバーにログインしたあと、 qlogin -l gpu でloginできる nvidia-smi すると、 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 440.33.01 Driver Version: 440.33.01 CUDA Versi…

rustでopensslをbuildうまくできないときの対処法

みなさんこんにちは、エルゴヒューマンの椅子をかって腰の調子がすこぶる良い今日この頃です。 さて本題に入りましょう。 現在、統計的機械学習を学ぶためにRustでPRMLに乗っている手法を実装しているのですが、そこではもちろん行列計算や線形代数のツール…

Macで任意のファイルをGoogle Chromeでコマンドラインで開く方法

動機 英語で書かれた論文を読む時DeepLのChrome拡張があると便利。 Ubuntuだとgoogle-chromeで開くことができるが、macだとないらしいので~/.zshrcを編集したらどうにかなったので備忘録として書いておく。 alias chrome="open -a 'Google Chrome'" これで解…

WindowsのzipファイルをUbuntuで開くと文字化けしてしまう場合の対処法

unzip -O sjis **.zip でやってもうまく行かない場合、 unzip -Ocp932 **.zip でどうにかなる

dieselが大量のエラーを掃き出してインストールされないときの対処方

問題 dieselのチュートリアルの通りにインストールしようとした。 コマンドは cargo install diesel_cli --no-default-features --features postgres これでインストールしようとすると、大量のエラー error: linking with `cc` failed: exit code: 1 | = no…

DMPfold

DMPfoldに関しての備忘録です。 概要 距離マップの予測とモデルの生成を2ステップに行うのではなく、イテレーティブに行った。 コンタクトマップの予測ではなく、距離マップの予測を行う。 Pfam, CASP12, 膜貫通タンパク質に対して従来手法と比較し高精度に…

Rust Tips

Rustlangのtipsに関して書いていきます。 随時更新します。 完全にメモです。俺以外が見ても意味ないです。 現在、rust勉強中です。 まさかり投げないで間違ってたら優しく教えてください。 すぐに訂正いたします。 ご指摘お待ちしてます。 Json extern crat…

Rustのライフタイムについて

rustにはライフタイムという概念があります。みんなひっかかると思いますが、私も引っかかりました。。。 自分用のメモなのでわかりづらくても悪しからず。 ライフタイム ライフタイムとは、参照が有効なスコープのことです。 rustではスコープを抜けるとメ…

論文紹介 Improved protein structure prediction using potentials from deep learning

研究室でやった論文紹介のレポートをそのままコピペしました. 今回ご紹介するのはDeepMind謹製AlphaFoldです. CASPで大勝したので割と界隈では盛り上がってたんですかね? モデルの中身はよくあるネットワークです(タンパク質の構造を作るところはいままでに…

論文紹介 OCGAN:One-class Novelty Detection Using GANs with Constrained Latent Representations

この論文を選んだ理由は1つのクラスから異常検知を行えるから.またネットワークが苦手としていることを自分で探しつつ訓練をするアプローチが面白いと感じたから. この論文はCVPR 2019に採択された論文です. これドクターの学生が書いた論文なんですね, アメ…

メモ:setup.pyですべての階層を使えるようにする

メモ:setup.pyですべての階層を使えるようにする 全ディレクトリに __init__.py を設置する しないと モジュール化したときに使えるようにならない.

submoduleに対してpatchを作るのにうまく行かなくて非常にイライラした話

submoduleに対して普通に git diff > patch して patch -p1 --forward < patch したら .rejファイルが作成されてpatch当たってないやんけとなって非常にイライラしましたね ドキュメントを読むと, git diff --submodule=diff > patch git apply patch で解決…

Dockerでホスト側のファイルと同期する方法

ホスト側のファイルをDockerと動機する みなさはcudaのバージョン管理めんどくさくないですか?私はとてもめんどくさいです。とおおおてもめんどくさいです。 だからDockerに任せることにしました!! だってDockerならバージョンごとにコンテナ作ればいいじ…

パターン認識と機械学習 練習問題1.1解答

問題1.1 記念すべき第一回の記事は機械学習界隈では有名な教科書であるPRMLの練習問題です。 日本語の記事で練習問題を全部体系的にかいてあるサイトがなかったので自分が書いちゃえ的な感じです。 間違いが多いと思うので、ご指摘お待ちしております。 解答…