これはhttp://mitochondrion.jp/に掲載している「医学日記」を 検索用に 1 記事 1 ファイルとして形成し直したものです。 簡単なプログラムで自動生成しているので、体裁の乱れなどが一部にあるかと思われます。 通して読むには、トップページからオリジナルページにアクセスしてください。


2024/04/16 PyTorch 2.4 on NetBSD 10.0

研究上、深層学習 (deep learning) の技術を習得する必要が生じた。これはデータ処理上、時として有力な手法であるが、しばしば処理内容が black box 化するので、扱いには慎重になるべきであろう。世間では「人工知能 (artificial intelligence; AI)」として近年もてはやされている技術と密接な関係にある。ただし何をもって「人工知能」と呼ぶかは曖昧であるし、現在の機械学習による情報処理はあくまでパターン認識に過ぎず、知能と呼べる代物ではない。それにもかかわらず、これを知能として宣伝する専門家も多く、また、素人の中には機械が知能を持って考え始めたかのように錯覚している人もいるようである。

それはさておき、深層学習を学ぶ環境として PyTorch が便利である。これを使った入門メモを Uta 氏が書いているので、これに倣って深層学習に触れてみよう。

と、思ったのだが、PyTorch が公式にサポートしているのは Linux, Windows, MacOS のみであり、 私が使っている NetBSD はサポート外である。NetBSD の pkgsrc にも PyTorch は含まれていないようである。しかしソースをみる限りでは、なんだか NetBSD でも動きそうな気がする。そこで、公式サイトの手引きに従って、Linux でソースからビルドするのと同じ要領でインストールを試みた。

環境変数に "CFLAGS=-D__NetBSD__" を加えることで、PyTorch に含まれる一部のプログラムはNetBSD に対応されるようなので、これを設定しておく。無論、それでも多量のエラーが吐かれるので、適宜パッチを作成した。もし私と同じようなことをしようとしている人がいたら、参考になるかもしれないので、一応、そのパッチをここに置いておこう。ただし、私は PyTorch や NetBSD を知り尽くした上でパッチを作成したわけではないので、これが適切に動くかどうかは、知らぬ。特に Scalar_test.cpp に対しては、よくわからないのでエラーを吐く場所をコメントアウトする、という乱暴な対処を行ったので、どこかで不具合が生じそうな気がする。

以下は 2024.04.17 追記

昨日アップロードしたパッチでは、実行時に"operating system is not supported in cpuinfo" というエラーが不必要に表示される。動作には問題ないのだが、邪魔なので、このエラーメッセージを表示しないように修正してパッチを更新した。なお torchvision は import 時に "operator torchvision::nms does not exist" のエラーが出て使えない。これを修正するだけの気力がないので、とりあえずは空いている PC に Debian 12.5 (Linux) をインストールして計算サーバーとして、手元の NetBSD から ssh 経由で使うことにする。


Home
Copyright (c) Francesco