2020年11月

ログ一覧

11月30日(月)

一週間ログを書いてなかった。確か火曜日の準備とかしていたはず。

11月29日(日)

レポートの採点。論文読み。

11月28日(土)

疲れた。論文読み。

11月27日(金)

いろいろバタバタする。レポートの採点。相変わらず時間がかかる。

Kaggleもくもく会。今日も「House Prices: Advanced Regression Techniques」の続き。適当なデータをいくつかone-hot vectorとして数値化し、LightGBMで回帰。明らかに過学習してそうだったがとりあえずsubmitしたところ、誤差は0.28520(小さいほどよい)、順位は4500人中3904位。まぁこれから。

11月26日(木)

研究室ミーティング。卒論の書き方のガイダンスをした。

プログラム基礎同演習11回のスライド修正。もともと拡散方程式と反応拡散方程式だったのを、弾道計算と反応拡散方程式に変えたので。また、課題について説明を少し多めにした。

本読み輪講(田崎統計)。今日は5.1~5.2。カノニカル分布の応用とかギブズのパラドックスとか。

11月25日(水)

なんかさっそく曜日がガタガタだ。自動化すべきかなぁ。でも、こういう形で日付書くの楽でいいんだよな。

「卒論の書き方」はできたことにして、卒論テンプレートをGitHubに作って、指導教員をコラボレータに入れる説明を書こうとしたら、なんかGitHubにpushできない。どうやら、MacのKeychainが認証情報をキャッシュしているらしくて、同じ鍵、異なるアカウントでGitHubへのアクセスしようとすると問題を起こすらしい。これにしばらく時間が取られてしまった。

あと、Macのバージョンが上がったせいか、プリントできなくなっている。要調査。

Macといえば、プレビューがおかしくて、一度画像を表示した状態で、元画像を更新すると、表示も更新されるんだけれども、プレビュー上でコピーすると古い画像がコピーされてしまう、という不具合がなかなかなおらない。これ、どこに言えばいいのかな。

卒業論文の準備書けたことにした。

11月24日(火)

気合を入れ直す。

(多分)Yahooのニュースをスマホで見ていたら、なにか大人向けの漫画の広告を誤タッチしてしまい、以降、広告がその漫画だらけになった。これ、前もあったな。メインの収入源である以上、広告掲載は仕方ないが、せめて分野を指定できないか。

プログラミング基礎同演習オフィス・アワー。今日は再帰の話。ついでにスタックフレームについて。再帰の関数の中のローカル変数がどうなっているかを説明。変数のメモリ配置とかに食いついてくた学生さんがいたので、来週はSIMDとか話そうかな。

「卒論の書き方」のスライドは作った。あとはテンプレートの完成と、GitHubのコラボレータの追加のところを書けばOKかしら。

11月23日(月)

NOP

11月22日(日)

卒論の書き方を書いている。

11月21日(土)

多数あるTeXの処理系の違いや、TeXとLaTeXの違いが良く分からなくなったので調べた。これまでずっと曖昧にしてきた。

TeX言語は低レベルな組版処理系であり、LaTeXはTeX言語で作られたマクロ体系、という理解で良いらしい。LaTexはTeX言語で書かれているため、それを処理するTeX処理系は複数あり得る。Cで書かれたプログラムと、C言語処理系の関係みたいなイメージでいいのかしら。TeXがギリシャ文字の「タウ―イプシロン―カイ」であることも、TeXがWEB言語という言語で作られていることも知らなかった。WEB言語は、Knuth先生が文芸的プログラミングを実践するためにPascalにマクロを追加したものらしい。

学生さんに教える段になって自分が全く分かっていないことに気づく、最近そんなことばかり。

卒論テンプレートを作りはじめる。一年目はいろいろ大変だ。

このlog、pushするたびにGitHub ActivityにGitHub Pagesのデプロイのアナウンスが出るんだけど、この表示消せないのかな。

リポジトリの「Watch」をクリックして「All Activity」から「Participating and @mentions」に変えたら、とりあえずビルドのお知らせは消えた。

11月20日(金)

レポートの採点。やっぱり数時間かかってしまう。

とりあえずこのログをレスポンシブに対応してみた。具体的には画像とコードがはみ出さないように修正。

Kaggleもくもく会。いい加減Titanicにあきたので、Getting Startedから家の値段を調べる奴に挑戦。とりあえず回帰してみたが全然ダメだった。次は過学習してもいいからget_dummiesで全部のせでやってみるかな。

np.tensordotで、潰した軸が一番右にずれるの忘れてた。

import numpy as np
                        
                        A = np.zeros((2, 3, 4))
                        B = np.zeros((2, 5))
                        C = np.tensordot(A, B, (0, 0))
                        print(C.shape)  # => (3,4,5)

最後、shapeが(5,3,4)になることが期待されるところ、(3,4,5)と移動してしまっている。

「卒論の書き方」のスライド作りはじめた。

11月19日(木)

イメージ貼り付けテスト。Paste Imageでは、デフォルトでは「YYYY-MM-DD-HH-MM-SS.png」という名前になるが、VS Codeでテキストを選択した状態で貼り付けると、その名前が採用される。なんか「この画像を何時何分に貼り付けたか」が見えるのってちょっとイヤなので、原則として名前をつけよう。

イメージテスト

これら記事に出てくる小崎資広さんと光成滋生さん、「ふたりとも直接話したことがあるぞ」というミーハーな気持ちと、「僕はどうしてこういう華々しい活躍ができないんだろう」という落ち込む気持ちのハイブリッド並列。

目の前の仕事を片付けて行くしかないんだけれども。

オンライン研究室配属説明会。研究室運営について自分の思うところを正直に話した。わりとお客さんが来てくれてよかった。

11月18日(水)

久しぶりに公開日記をつけてみることにした。なんかTwitterやブログのような「人との関わり」を前提とする仕組みが息苦しくなった。三日坊主になる気がするが、まぁ始めてみて、ダメだったらやめよう。

もともと2000年から公開日記をつけていた。記録では2017年9月までつけてたことになっている。前職で持っていたサーバは2019年3月まで動いていたはずだが、その前に記録をやめたようだ。

もともと「やらなければならないこと」だけで一日が終わらないようにと始めたはずの日記だが、いつの頃か初心を忘れていた。markdownからブログにするサービスをいろいろ探したが、いまいちピンとくるのがなかったので、自分で作ることに。まずはMDをpandocでhtmlにする仕組みをつくって、GitHub Actionsを設定してみた。YAMLファイルはこんな感じ。

# This is a basic workflow to help you get started with Actions
                        
                        name: Deploy GitHub Pages
                        
                        # Controls when the action will run. Triggers the workflow on push or pull request
                        # events but only for the main branch
                        on:
                          push:
                            branches: [ main ]
                        
                        # A workflow run is made up of one or more jobs that can run sequentially or in parallel
                        jobs:
                          # This workflow contains a single job called "build"
                          build:
                            # The type of runner that the job will run on
                            runs-on: ubuntu-latest
                        
                            # Steps represent a sequence of tasks that will be executed as part of the job
                            steps:
                              # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
                              - uses: actions/checkout@v2
                        
                              # Runs a single command using the runners shell
                              - name: install make and pandoc
                                run: sudo apt-get install -y make pandoc
                              - name: Run a one-line script
                                run: make
                              - uses: peaceiris/actions-gh-pages@v3
                                with:
                                  github_token: ${{ secrets.GITHUB_TOKEN }}
                                  publish_dir: ./docs

peaceiris/actions-gh-pages@v3を使うことで非常に簡単にデプロイできる。毎回pandocをインストールするのがアホらしいが、これは後でなんとかしよう。デフォルトでgh_pagesというブランチにpublishされ、publish_dirで指定したディレクトリがルートディレクトリとなる。なので、GitHub Pagesでページを公開する時には、Branchをgh_pages、ディレクトリは/(root)にしてやる必要がある。

いきなり日付を間違えてpushしてしまった。上記のYAMLもシンタックスハイライトされていないし、いろいろ要調整だな。

とりあえずシンタックスハイライトだけ直した。