MacBook Proが充電できないとき

今朝起きたらMacBook Pro (2017)が起動しなくなっていた.
ACアダプタに繋いでいるのに,ずっと充電されず,0%のまま….

ちょっと焦ったけど,調べるとSMC (System Management Controller)をリセットすれば良いということがわかった.

リセットの仕方は以下の通り.

  1. キーボード左側のShift+Control+Optionを押しながら電源ボタンを10秒押す
  2. その後,キーを離してから電源ボタンを押す

これは公式にも書かれていた.

その後MacBookは起動し,無事使えるようになった.

Darknetの設定中の"policy"

cfgファイルの中にpolicyというのがあって,よくわからなかったので調べてみた.
policyは学習率を決定するパラメータらしい.

darknetのnetwork.cを読むと,以下のようになっている.

switch (net->policy) {
    case CONSTANT:
        return net->learning_rate;
    case STEP:
        return net->learning_rate * pow(net->scale, batch_num/net->step);
    case STEPS:
        rate = net->learning_rate;
        for(i = 0; i < net->num_steps; ++i){
            if(net->steps[i] > batch_num) return rate;
            rate *= net->scales[i];
        }
        return rate;
    case EXP:
        return net->learning_rate * pow(net->gamma, batch_num);
    case POLY:
        return net->learning_rate * pow(1 - (float)batch_num / net->max_batches, net->power);
    case RANDOM:
        return net->learning_rate * pow(rand_uniform(0,1), net->power);
    case SIG:
        return net->learning_rate * (1./(1.+exp(net->gamma*(batch_num - net->step))));
    default:
        fprintf(stderr, "Policy is weird!\n");
        return net->learning_rate;
}

何も指定しないと,学習率は一定.
これはconstantを指定したときと同じ挙動.

stepの場合,scaleパラメータで指定した値のbatch_num/net->step乗の割合で学習率を減衰させていく.

Power8上のLinuxでzshコンパイル

ソースコードを落としてきて普通に
./configure
make
make install

しようとすると,
configure: error: cannot guess build type; you must specify one
と表示されて ./configure の段階で失敗する.

この場合,ビルド先のアーキテクチャがわかってないのが原因なので,
./configure --build=ppc64-linux
という風に指定するとうまくいく.