# 社会人メモ(2021/9/15~) ## 1/29(Sun) - rustで新しくmoduleを作ったとき、そのファイル内にてcompletionが効かない。これはrust-analyzerの仕様らしい。きちんとmain.rsでimportすること。(https://github.com/rust-lang/rust-analyzer/issues/7345)(file not included in module treeといわれる) ## 1/22(Sun) - rust analyzerにてcargo内で新規ファイル(例:model.rs)を作成したとき、"file not included in module tree"と出てlspのautocompleteが働かないことがある→lsp-workspace-restart, lsp-rust-analyzer-reload-workspaceなどをすると動くようになる ## 1/2(Tue) ### netkeiba - netkeibaレース結果 - レース結果テンプレ - https://race.netkeiba.com/race/result.html?race_id={year}{place}{times}{days}{race} - 開催場(place) - 札幌:01 - 函館:02 - 福島:03 - 新潟:04 - 東京:05 - 中山:06 - 中京:07 - 京都:08 - 阪神:09 - 小倉:10 - 開催回数(times) - 開催日時(days) - レース(race) - 実装したい機能リスト - 過去X年分のレース結果 - 当日X番人気の過去Y年分の成績 - 例:1番人気は過去10年で4-3-2-1 - 過去X年でY場{B}mで3着以内の馬の同レース成績 - 例:中山2000m以上で3着以内の馬の成績は4-3-2-1 - 過去X年でG{Y}で3着以内の馬の同レース成績 - 例:G2以上で3着以内の馬の成績は4-3-2-1 - 騎手の距離・場所別成績 - 川田は2000mまで - ルメールは東京強い ## 11/19(Sun) - lspで仮想環境に入っているライブラリの補完が効かない→pipenv activateしてからpythonファイル開いてlspから聞かれる質問をnoで答えると効くようになる。 ## 10/23(Mon) ### GPU推論時間計測 ``` import torch import numpy as np model = torch.hub.load('pytorch/vision:v0.9.0', 'resnet50', pretrained=True) device = torch.device("cuda") model.to(device) input_batch_cpu = torch.randn(128, 3, 224, 224) dummy_input = input_batch_cpu.clone().detach().to('cuda') model.eval() # INIT LOGGERS print('start logger') starter = torch.cuda.Event(enable_timing=True) ender = torch.cuda.Event(enable_timing=True) repetitions = 300 timings = np.zeros((repetitions, 1)) # GPU-WARM-UP with torch.no_grad(): for _ in range(10): dummy_warmup_output = model(dummy_input) del dummy_warmup_output torch.cuda.empty_cache() # MEASURE PERFORMANCE with torch.no_grad(): for rep in range(repetitions): starter.record() dummy_output = model(dummy_input) ender.record() # WAIT FOR GPU SYNC torch.cuda.synchronize() curr_time = starter.elapsed_time(ender) timings[rep] = curr_time del dummy_output torch.cuda.empty_cache() mean_syn = np.sum(timings) / repetitions std_syn = np.std(timings) print(mean_syn) ``` ## 10/8(Sun) - magit status(C-x g)で「symbol's value as variable is void - executable-find」みたいなエラーが出る→「https://www.reddit.com/r/emacs/comments/107pc9m/emacs_can_find_the_executablefind_command/」 - compatとmagitを一度removeしてから再度入れ直し ## 8/18(Fri) ### emacsの設定 - all the icons→nerd-iconsに変更 - doom modelineをupdate - package utilsを入れて、M-x package-utils-upgrade-by-nameで個別update - elpyを捨ててlspへ移行(trampが使える) - 参考:https://umi-uyura.hatenablog.com/entry/2023/04/09/211446 - lspを全体・仮想環境にpipで入れる(pip install python-lsp-server[all]) - 両方に入っていないとpylspが見つかりませんでしたというエラーが出る - which pylspでlspの実体のパスを取得 - M-x add-dir-local-variablesでpython-modeの変数lsp-pylsp-server-commandに上記のパスを追加、保存(dir-locals.el) - パスはダブルクォーテーションでくくること - pythonファイルを開いて、local variablesを読み込むかをyesで答えてM-x lsp - tabで補完できる - 補完はcompany, C-M-iでできる - xref-find-definitions, referencesなどで定義・参照が見れる ### matplotlibをterminalで表示 - pip install python3-tk ## 2/19(Sun) - cudnnのインストール - [ここに行く](https://developer.nvidia.com/rdp/cudnn-download) - local install for debを選ぶ - ```dpkg -i cudnn~``` - ```sudo cp /var/cudnn-local-repo-*/cudnn-local-*-keyring.gpg /usr/share/keyrings/``` - ```sudo apt update``` - ```sudo apt install -y libcudnn8 libcudnn-dev libcudnn-samples``` - ControlNetについて - xformersを入れるとバグる(一緒に入るtorch関連のパッケージのせい?) - memoryが足りないのでconfig.pyのsave_memory的なところをTrueにする。 --- ## 1/22(Sat) - pipenvのインストールにめちゃくちゃみする - ```sudo apt-get install pip3``` - ```pip3 install pipenv``` - ```pipenv --python 3.8``` - うまくいかないときは```ModuleNotFoundError: No module named 'virtualenv.seed.via_app_data```がでてくる - こういうときは```pip3 uninstall pipenv```, ```pip3 uninstall virtualenv```, ```pip3 install virtualenv```する - pipのPATHを通すことを忘れない - ```export PATH="$PATH:/usr/bin/pip3:/home/naoki/.local/bin"``` ## 1/19(Wed) - awsパブリックIPv4アドレス:13.115.246.213 - awsプライベートIPv4アドレス:10.0.2.18 ## 1/18(Tue) - 結局素のubuntuの方が使いやすい(権限回りおかしい、動作もっさり、ein動かない) - 土日で、使ってないSSDに新しくubuntuを入れなおす!(物理的にWindowsとLinux分ける, kubuntu!) ## 1/11(Tue) - WSLの使い方メモ - Ubuntuを管理者権限で実行 - config.xlaunchを実行 - Ubuntu terminal内で``` gnome-terminal & ``` - 最初は/mnt/cや~/.emacs.d/recentfのpermissionでエラーがでることがあった→```chmod 777 ```で解決 - cuda, pytorchも入って普通に使える(Chromeの方が使いにくい、CTRL+pとかしたいときにCTRLをもう一度押さなければならないから) - gpu使うときはubuntu, 競プロ(?)するときはWindowsみたいな感じで使い分けた方がいいかも ## 12/30(Thu) - shortkeysのscroll downにctrl+Nを割り当てることでなんとか動くようになった - .emacs.dを置き換えたらうごくようになった - M-x all-the-icons-install-fontsでアイコンの文字化け治る ## 11/7(Sun) - nvidia driverをaptでいれるとsuspendできなくなるのでrunファイルからinstallするようにした - aptでcudaをいれてもならない(495のdriver入れられる→suspendバグ) - 競馬aiつくる(画像取得、deeplabv3でsegmentation) ## 10/7(Thu) - シェル芸挑戦 - 眠くても何もやらずに寝ることだけは避ける ## 10/6(Wed) - 少しだけ並列プログラミング読んだ - あと部屋の模様替えした(デスクトップをちゃんとデスクの上に置くようにした) ## 9/27(Mon) - 実習を通しての振り返り ## 9/24(Fri) - mit_python:8章(testing and debugging) - 基本情報の申込みと勉強始める - 土日は基本家で勉強する - 自転車の空気入れに行く - ## 9/15 - Introduction to~の勉強 - ~~最終日に配るお菓子を買いに行く(土日)~~ - ibus-mozcに変えたらバグ治った(なぜか「の」が打てなかった) - でもrebootしたらカーネルを変更しないとubuntuが起動しない(土日に解決試みる)