aian さんはインスタンス mstdn.jp のユーザーです。アカウントさえ持っていればフォローしたり会話したりできます。 もしお持ちでないなら こちら からサインアップできます。

aian @aian@mstdn.jp

例えば、機械学習のプログラムでは、特徴ベクトルを学習や推論に使うけれども、特徴ベクトルの構成と学習/推論のインターフェイスは、そんなに変わらない。SVM/RVMだろうが、k-meansだろうがDNNだろうが、基本的にはベクトルの作り方と、それを使った学習/推論の過程は同じように扱われる。

一方、機械学習を利用した開発プロジェクトは、一般に様々な実験を伴うことが多く、中のアルゴリズムや特徴ベクトルと内容はゴリゴリと変わる。なので、きちんと設計している機械学習の開発者は、特徴ベクトルの作り方や学習/推論のアルゴリズムについて、ある程度共通のフォーマットを用意することになる。このフォーマットに合わせて開発すれば、その他の部分について、特別に考えなくても従来通りの挙動を期待できる。これが抽象化。

OOな言語を考慮するとき、開発規模の要素が強調されることもあるんだけど、実のところ、開発規模も副次的な問題で、結局、より根本的には、拡張や再生産を容易に行う仕組みをどれだけ簡単に作れるか、とゆ問題に帰着する。開発規模が大きくなると、プログラムの内容を逐一全部覚えることはできない(IDEを使ってても同じ)ので、部品ごとに分解して半製品化するアプローチが採られる。そのためのOOであり、抽象化だったりする。

オブジェクト指向でプログラムを書く際の要請は「書きやすい」とか「手早く作れる」とかではなく、言うなれば「保守・拡張しやすく書ける」なんだよね。なので、

(1)ある程度の規模のプログラム(数十万ステップ程度から)を「保守」したり「改修」したりするタスクがあること
(2)使い捨てでなく少なくとも5年程度は保守を続けるプログラムを書くタスクがあること

がないなら、はっきり言ってOOで書く意味はない。どんな言語で書いても結果は同じだし、OOな考え方で書くと、却って非効率になることもある。
逆に、これくらいの要請のないプログラムしか扱っていないなら、OOについてはまだありがたみが分からないんじゃないかと思う。

staticおじさんの話が再燃しつつあるようなので、少し書いておこうと思う。

qiita.com/minebreaker/items/45

んー…やっぱり熱くなるな…。CPUも低速で回ってるのに熱くなるってことは、もうこのパソコン、構造的に熱くなる仕組みになってるんだろうか。どうしよ。

分解してからかは分からないけど、usbdがIOERRORを吐いているなぁ…。デバイス自体は認識していて、何も接続していないので問題ない気もするけど。モンヤリだ。

powerdを有効にしたところ、1800MHzから800MHzまでアイドル時の動作周波数が低下した。掃除してからは、あまり熱くなっていない気もする。

とりあえず、分解して掃除してみた。これでダメならもう一度OSの設定を疑うことにしよう。

ひとまずXorgまでは立ち上げた。
続いて熱問題。ファンがブンブン言って熱くなるんだけれども、これはOSとゆよりヒートシンクが目詰まりしたりしてるんだろうな。分解してみるか。

xf86-video-amdgpuのX11ドライバってパッケージになってるのかしら。

とりあえずこれで様子を見てみよう。

[/boot/loader.conf]
cpufreq_load="YES"
[/etc/rc.conf]
powerd_enable="YES"

あとはg6の熱問題だよなー…アイドル状態でもCPUが回ってるようで、何もしなくてもブンブンファンが回ってしまう。

ネットワークにつながったので、x.orgでも入れるか。最近のWMって、何が流行りなんだろう。あたしゃずっとBlackboxだったんだけど。

蟹野郎を認識させた。FreeBSD 11.2Rでは次のようにすればいい。

[/boot/loader.conf]

if_rtwn_load="YES" 
legal.realtek.license_ack=1 
rtwn-rtl8192cfwU_load="YES" 
rtwn-rtl8192cfwU_B_load="YES"

つか、rtwn(4)にそのまんま書いてあった。後は他と同じように/etc/rc.confと/etc/wpa_supplicant.confを設定すれば認識する。

11.xあたりから、スレーブのデバイスはdmesgに出力しなくなったそうで、rtwn0のデバイスは表示されない。

さて、もう少しいじるかな。ネットにつなげないとどうにもならない。

Realtekのネットワークアダプタは相変わらず認識しないなぁ…。あの蟹野郎。

知人からもらった半分ジャンクのパソコンにFreeBSDをインストールするなど。パソコンの諸元は以下のようなもの。

hp pavilion g6-1302au
AMD E2-3000M APU with Radeon 1.8GHz
2.0GB RAM (max. 8.0GB)
320GB HDD

バッテリーが完全に死んでいて使えないので、互換バッテリーを買う必要がある。メモリもちと心許ないので、パソコンが使えるようなら増設する。

Rustやりたいんだけど、近頃詰め込みすぎてるんだよな…。厄年なので、少しセーブしないと。

長らくC++ + C + ASMな開発がメインだったんだけれども、この際、Rust + C + ASMとゆ選択肢を考えた方がいいかな、と思ってる。

あー…そうだ、もう一つあった。光学的な特性を緩和する方法として、古典的だけれども、前処理としてメディアンフィルタをかけておくと、ばたつきを抑えることはできる。ただこれは画像を劣化させるので、色を分類する時の前処理として位置づけて、出力は工夫した方がいい。メモリ食うんだけど。