理科系の勉強日記

Linux/Ubuntu/Mac/Emacs/Computer vision/Robotics

TEX Shinobiが来た!

2019年6月頃に注文したTEX shinobiがコロナ禍を乗り越えて家まできました.tex.com.tw 重厚感がほしいなあとおもって黒軸にしたような気がします.トラックポイントがそのまんまThinkpadですね.レトロなキーキャップがとてもかっこいいです.学生時代,Thin…

自己証明書とNGINXでhttps通信

nginxでリバースプロキシができたので、次はフロントのサーバまでの通信をHTTPSにしてみたいと思います。簡単のため証明書はオレオレ証明書(自己証明書)を使いたいですが、そのままだとブラウザに危険サイトだと怒られるので、まずそれの設定をします。な…

Lighttpdとnginxでリバースプロキシ

ゴール フロントのサーバのIPアドレスが192.168.3.3で、127.0.0.1:8123で待っているflaskのweb APIをリバースプロキシで呼び出したい、という状況です。 Lighttpdとnginxどちらでもいいですが、設定が簡単で開発の盛んなnginxのほうがいいかもですね。 フロ…

Karabiner-ElementsでVSCodeのキーバインド変更メモ

背景 VSCodeの素晴らしい拡張Awesome Emacs Keymap marketplace.visualstudio.com でVSCode上でもEmacs likeな操作感をエンジョイしています。ありがとうございます。ただ、MacでMetaキーがoptionに割り当てられていて微妙に押しにくいのと、他のOSで開発す…

ポートフォリオ最適化でCVXOPTを学ぶ

MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); リターンを確保しつつリスクを最小にするポートフォリオを構成するにはどの銘柄をどれだけ持てばいいのでしょう?ポートフォ…

pytorchハマったところ備忘録

Cuda assert fails: device-side assert triggered BCELossにnanを入力していました。BCELossの入力は[0,1]なのでエラーが出ますね。BCEWithLogitsを使えば[0,1]以外も扱えますが、nanをだしている方をなんとかしました。nanが出ていた理由は学習率が高すぎ…

B spline曲線と曲面

B spline曲線について勉強したかったんですけどずっと放置していたので、ついに実装して遊んでみました。 basic functionとknot vectorが曲線にどう関係してくるのか実装するまでわかっていませんでした。 Basic function B spline curve Knot vector, basic…

ガウス過程回帰を実装して遊ぶ

ガウス過程回帰を実装して遊んだ ガウス過程の本が発売されるということで復習として簡単にメモしようとおもったけど、はてなのTeX記法にうまく馴染めなかった1ので 数式は載せずに結果だけ簡単に貼り付けて日記としておきます。 結果 ガウス過程回帰、ハイ…

Jupyter notebookのthemeを変えたら出力セルが見切れる件

最高なjupyter notebookをさらに最高にするためのjupyter notebook themesをインストールしたが、 どうも表示の調子がよくない。端が切れている。 OS:Mac OS High Sierra ブラウザ:Google Chrome v64 (Safariでも同様)このままでは辛いので、もとのcssを直…

Juliaで主成分分析

周りの人と読んでいる本(ベイズ推論による機械学習)の影響でJuliaをさわってみました。 まだあまりむずかしいことができないので、操作に慣れるために主成分分析をしてみました。 (主成分分析を一発で実行する関数もあるかもしれませんが、練習なので教科書…

セルオートマトンによる渋滞シミュレーション

はじめに 年末年始に渋滞学という本を読んだ。 車の渋滞だけではなく、緊急時の避難や蟻の行列、通信についても書かれていて勉強になった。渋滞学 (新潮選書)作者: 西成活裕出版社/メーカー: 新潮社発売日: 2006/09/21メディア: 単行本購入: 8人 クリック: 1…

シェルスクリプトで可変長データを読み取る

はじめに こんなデータに出くわした。data.txtとする。 1, hoge, foo, bar, piyo, [ID: 1; a; b; c; d;ID: 2; a; b; c; d;ID: 3; a; b; c; d;ID: 4; a; b; c; d;ID: 5; a; b; c; d;] 2, hoge, foo, bar, piyo, [ID: 1; a; b; c; d;] 3, hoge, foo, bar, piyo…

Git bashでSolarized Color

Solarizedのdarkが大好き。 Solarized - Ethan Schoonover 自分が使うPCのターミナル(とEmacs)をすべてsolarized darkにすることで環境の差を小さくし、 会社にいながら家にいるような気持ちでリラックスしてPCに向き合える。*1WindowsのPCにはGit bash(mi…

jediによるpythonコード補完 with Emacs on Windows

背景 年始なのでEmacsの設定を見直すことにした。大学時代に作った環境をずっと使っていたが、あれからpackage.elによるパッケージ管理が主流となり、自分の環境が時代遅れのものとなっていた。(auto-completeよりはcompany-modeがいいとか)pythonのコーデ…

線分と平面の交点を求める

線分の両端点(a, b)と平面の法線ベクトル(nv)と平面上の任意の点(p)から、線分と平面の交点を求めるC++のプログラム。線分abと平面の交点が線分abを内分する点となることから交点の座標を計算する。 #include <iostream> #include <opencv2/opencv.hpp> #include <opencv2/highgui/highgui.hpp> #include <string> using namespac</string></opencv2/highgui/highgui.hpp></opencv2/opencv.hpp></iostream>…

LabelingクラスをOpenCVで利用

学生時代にも一度お世話になったラベリングクラスhttp://imura-lab.org/products/labeling/を久々に使いました。 OpenCVで使える関数を作ったのでメモ。2値化が大津の手法なので、琵琶湖の画像にしてみました。 素敵な写真はこちらから使わせていただきまし…

RANSACで多項式推定

RANdom SAmple Consensus:RANSACは、外乱を含む観測値から数学的モデルのパラメタを推定する手法のひとつである。インターネットで調べれば文献が出てくるが、サンプルプログラムを調べてみるとOpenCVのHomography行列の推定か直線の推定がおおいので、多項…

Amazon DriveでMacの写真のバックアップ

はじめに 自分はMacの「写真app」を使って写真を管理し、これをiPhoneと同期させて出先で見たり見せたりしている。 そろそろクラウド上にバックアップを取ろうと思い、Amazon Driveを使うことにした。 Amazon Drive Amazon Driveとは、Amazonが運営するクラ…

視差画像とV-disparity

背景 ステレオ視差画像から平面を抽出する一つの手法として、視差画像をV-disparity画像に変換するというものがある。今回は視差画像からV-disparity画像への変換の練習をしてみる。 結果 試みに視差画像のy方向にノイズを加えてみた。その結果がV-disparity…

sdfファイルをrviz上のRobotDescriptionで表示する(後半)

実行環境 Ubuntu14.04 Gazebo 2.2.3 sdf 1.4 ROS indigo (そろそろGazebo7に戻りたい…) 背景 前半編でsdfからurdfを生成してrobot_descriptionに登録する方法を学んだ。 今回は、collada(daeファイル)をrvizで見られるか確認ついでに、sdfからurdfを変換す…

sdfファイルをrviz上のRobotDescriptionで表示する(前半)

実行環境 Ubuntu14.04 Gazebo 2.2.3 sdf 1.4 ROS indigo 背景 sdfを使ってモデルを作ったのにrvizのRobotDescriptionがurdfしか対応してないと知ってショックを受けた。 調べてみると、pysdfというROSのパッケージを使ってsdf to urdfの変換ができるようだ。…

Ubuntu14.04でeth0が見つからない

新しく手に入れたThinkPad x260にUbuntu14.04 LTSをインストールしたが、有線も無線もつながらない。Ethernetケーブルを挿してifconfigしてみると、普段現れるはずのeth0が見当たらず、loだけが表示されている。 ~$ lspci | grep Ether 00:1f.6 Ethernet con…

ATAM install on Ubuntu 14.04 LTS

基本的には公式[1]の通り。ただし、windowsでのインストールのみなので、メモを残す。まずOpenCV3.0を入れる。ROSと一緒に入ったOpenCVが2.4だったので、ソースを落としてきてcmakeした。 ググったらインストール方法はでてくる[2]が、non-freeをコンパイル…

ardrone simulatorでPTAM

環境: VM fusion 7 Ubuntu 14.04 LTS ROS IndigoROSのインストールについては公式参照。ardrone関係については、基本的にはここをみてインストールした。 http://wiki.ros.org/tum_ardronecatkinなので(?)、cloneしてきてcatkin_wsでcatkin_makeを繰り返…

ROS indigo, OSX 10.10.5

ROS indigoを[1]を参考にmac(OSX 10.10.5)にインストールしたのでメモ。 $ brew config HOMEBREW_VERSION: 0.9.5 ORIGIN: https://github.com/Homebrew/homebrew HEAD: 0f37e2943bba265b42bb2087ea24b86dcc614c35 Last commit: 4 hours ago HOMEBREW_PREFIX:…

awkでユーザ定義関数

awkには絶対値を返すabs()関数がないようだ。 ユーザ定義関数は以下のようにして定義可能。 seq 1 10 | awk '{print abs(-$1)} function abs(x){return (x>0)? x:-x}

Emacsで改行を置換

1 2 3 4 5を 1 2 3 4 5にしたい.EmacsのM-x replace-stringでC-q C-jとすれば^Jが入力され,改行を置換できる.

macportsをプロキシ経由で

Mac

プロキシ経由でmacportsのselfupdateができない場合は sudo env RSYNC_PROXY=proxy.hoge:8080 port selfupdateのようにしてRSYC_PROXYを設定すればOK. 普通に環境変数を設定すると,その値をsudoでの実行時に引き継げるような設定をsudoersに記述する必要が…

利尻島

黒部・立山