Raspberry Pi3上でキャラクタ型デバイスドライバを作る

Raspberry Pi3上でキャタクタ型デバイスドライバを作る. 以下の文献を参考にした.特に3件目のコードをいじって動かした. Linuxデバイスドライバプログラミング 組み込みLinuxデバイスドライバの作り方 (1) - Qiita http://d.hatena.ne.jp/mmitou/20120707…

データがダーティであるとは

データがダーティである,という意味がわからなかったので調べた結果をメモ. ある実体とそのコピーがある状態で, コピーが変更されてまだその変更が実体に反映される前の段階のことを言う. wikipediaのページングのページにも当該用語が用いられている箇…

Linuxデバイスドライバプログラミングを読みつつRaspberry Piでデバドラ開発(5章)

5章はドライバプログラミングの基礎知識について. 連結リスト Linuxカーネルには,ドライバへの連結リストの実装を容易化する構造体やマクロが提供されている. 連結リストは次のlist_head構造体を用いて実装する. この構造体をどのように利用すればよいか…

Linuxデバイスドライバプログラミングを読みつつRaspberry Piでデバドラ開発(4章)

4章 ここからはラズパイ上で簡単なカーネルモジュールを作成する ドライバのビルドに必要なパッケージ sudo apt-get install raspberypi-kernel-headers これによりヘッダとビルド用Makefileがインストールされる. 簡単なカーネルモジュールとMakefile #inc…

Linuxデバイスドライバプログラミングを読みつつRaspberry Piでデバドラ開発(1章~3章)

Linuxデバイスドライバプログラミングを読んで, Raspberry Pi上でデバイスドライバを作ってみる. 挫折しないようにメモ. 1章~3章は読むだけで開発は含まれない. 1章 ext2/ext3 ファイルシステム ext2とext3は機能が異なる 2章 insmodとmodprobeの違い こ…

Raspberry Pi 3でCapsLockをCtrlに変更する

Raspberry Pi 3でCapsLockをCtrlに変更するためには, /etc/default/keyboard を編集する sudo nano /etc/default/keyboard XKBOPTIONSの行がデフォルトでは指定なしになっているが, 次のようにcapslockをctrlに変更する句を挿入する. XKBOPTIONS=ctrl:noc…

Raspberry Piにemacs25をインストールする

sudo apt install emacs25 としてインストールできる。 ただし次のようなエラーメッセージが出る。 ** (emacs:12527): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnkno│drwxr-xr-x 2 pi pi 4096 6月 27 1…

Raspberry Pi 3でDMAするためにBroadcom BCM2837のマニュアルを読む

DMAはCPUを介さずに直接メモリにアクセスしてメモリコピーする方式のことをいう。 メモリ→メモリ、 メモリ→ペリフェラル、 ペリフェラル→メモリの3種類のDMAでコピー可能だ。 ラズパイのメインLSIはラズパイ世代ごとに違う。 ラズパイ3は Broadcom BCM2837で…

Raspberry Piにsshで入る

Raspberry Piを買ってみたのでsshで入ってみる. 固定IPアドレス割当 デフォルトゲートウェイのアドレス情報を知るためにroute -nとコマンドを打つ pi@raspberrypi:~ $ route -n カーネルIP経路テーブル 受信先サイト ゲートウェイ ネットマスク フラグ Metr…

GNU GLOBAL と gtags.elをインストールする

インストール http://www.gnu.org/software/global/download.htmlからパッケージをダウンロードする。 $ tar -zxvf global-6.5.4.tar.gz $ cd global-6.5.4 $ ./configure $ make $ make install 途中でcurses libraryがないと怒られる場合は、 apt-getでイ…

FlaskでAddress already in use errorとなったときの対処法

Flaskでアプリを起動しようとして, OSError: [Errno 48] Address already in use とエラーが出る原因は 前回起動時のプロセスが死んでないこと. 対処法としてはプロセスを探して殺す事を行う. ps -fA | grep python または sudo lsof -i:8080 としてでて…

日本語以外のサイトだけを対象にGoogle検索する方法

URLの末尾に「&lr=-lang_ja」を足す. 例: 日本語 https://www.google.com/search?q=apple 日本語以外 https://www.google.com/search?q=apple&lr=-lang_ja

触覚提示のために音響を振動に変換する方式

触覚提示のための振動を用意するには、 (1)手作業で作る方法と(2)音響から変換して作る方法(と他にも色々あるが割愛)がある. (1)手作業で作る方法は,immersionとかが出してるエディタで行う(のかな). 一方,(2)音響から変換する方法にも色々な方式がある…

IEEE Haptics Symposium 2018に行ってきた

趣味でやっている研究活動の一環で 触覚に関する国際会議の1つの IEEE Haptics Symposium 2018 に行ってきた. 会社でまるまる有給をとり,共著の方の援助を受けサンフランシスコへ. 普段は深層学習まわりしか記事にしてきていなかったが、 今回は触覚にま…

TensorFlowのRNNを追ってみる

TensorFlowのRNN実装はサンプルが少なく、 かつそういったサンプルコードでは、 限定された一部のAPIしか使っていないなど全体を網羅しづらい感じがあるので、 なるべく全体感を思い出しやすいように、自分用にメモ。 (と言う割に基本的なAPIしか使ってない…

PyTorchでGPUメモリが解放されないときの対処法

PyTorchのDataLoaderのバグでGPUメモリが解放されないことがある. nvidia-smiで見ても該当プロセスidは表示されない. 下のコマンドで無理やり解放できる. ps aux|grep <username>|grep python|awk '{print $2}'|xargs kill</username>

Neural Style Transferを音に応用した研究たち

結論としては今のところ上手くいっていないように見える. 今後の進展にとても期待. Audio texture synthesis and style transfer https://dmitryulyanov.github.io/audio-texture-synthesis-and-style-transfer/ 初出はなんとブログ。 Gatysらの一番最初の…

触覚系テクスチャデータセット

テクスチャ画像のみのデータセットと違い、 触覚情報を含むテクスチャデータセットはあまり公開されていない。 というわけで加速度データなどの触覚情報を含む貴重なデータセットをメモ。 今後も追加予定。 LMT Haptic Texture Database http://www.lmt.ei.t…

Deep Image Priorを試す

Deep Image Prior https://arxiv.org/abs/1711.10925 「画像とはこういうもの」という事前情報がCNNの構造自体にそもそも備わっている、 というところを出発点として、大量の画像データセットによる学習を必要とせず、単一画像のみ用いて学習を行ってその画…

conditional DRAGANでのラベルの与え方

conditional GANのラベルの与え方は色々あり、 毎回どうすれば良いかよくわからず迷ってしまう。 githubの実装をみると様々に書かれている。 文献を読むよりも色んな人の実装を漁るほうが知見が貯まるこの頃。 今回はMNISTに対してDRAGANを用いて、 その中で…

SwishをCIFAR10で試してみる

Swish: a Self-Gated Activation Function https://arxiv.org/abs/1710.05941 ReLUの代わりになる活性化関数Swishの提案。 Swishの形はシンプル。 $$ f(x) = x \cdot σ (x) $$ ReLUとの違いは,non-monotonicityとsmoothnessだと思う. 小さい負の入力はReLU…

音声信号をSTFT、MS、MFCC、CQTで可視化してみる

広田研・廣瀬研にいたときに視触覚のクロスモダリティをテーマに研究をしていた。 GANの応用について調べていたら、同じクロスモダリティを扱った論文を見つけた。 Deep Cross-Modal Audio-Visual Generation https://arxiv.org/abs/1704.08292 この中で音声…

音声信号をスペクトログラム化してみる

テクスチャの識別に関する以下の読み物を読んでいたら, 加速度信号をCNNへ入力する前にフーリエ変換してスペクトログラムにしていたので、自分でも真似てみる. Deep Learning for Surface Material Classification Using Haptic And Visual Information ht…

Adversarial Examplesに興味がある

Intriguing properties of neural networks https://arxiv.org/abs/1312.6199 adversarial exampleを勉強したくて読んだ。 メモ。 本文ではDNNの直観的でない以下の2つの性質について触れている 個別ユニットを観察するのも、複数ユニットの組合せを観察する…

DRAGAN + SRResNetでいらすとや画像生成する

MakeGirlsMoeは 驚異的な生成画像の質で、お盆休み中の世間を驚かせた。 このMakeGirlsMoeの ネットワーク構造(SRResNet) 目的関数(DRAGAN) を使っていらすとや画像を生成してみる。 DRAGANについては、以前に記事を書いている。 当時あまり注目されていない…

pix2pixで車載画像の昼夜の変換を試す

最近、業務の忙しさと、 別件で進行しているモデルのパラメータチューニングの収束しなさから、 ブログ更新をしばらく行っていなかった。 一旦、更新が途絶えてしまうと、なかなかモチベーション的に再開しづらいので、 以前も試したことのあってお手軽なpix…

pix2pixの枠組みを利用した動画の異常検知

Abnormal Event Detection in Videos using Generative Adversarial Nets https://arxiv.org/abs/1708.09644 異常検知の難しさ 既存の異常データセットのサンプルサイズが小さいこと 異常の定義がはっきりしていないこと これらの課題に対して、正常なパター…

教師なし学習で生成画像を制御できそうなinfoGANを試す

InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets https://arxiv.org/abs/1606.03657 教師なし学習で生成画像を制御できそうなinfoGANを試してみる。 生成してみた画像がこちら 背景 GANの学習ではG(…

GANによる医療画像の異常検知

Unsupervised Anomaly Detection with Generative Adversarial Networks to Guide Marker Discovery https://arxiv.org/abs/1703.05921 まず下準備として,正常な画像を訓練データとして使い,GANを学習させる. 学習後のGANの はlatent space representatio…

シミュレータで生成した画像に現実感を付与する(SimGAN)

Learning from Simulated and Unsupervised Images through Adversarial Training https://arxiv.org/abs/1612.07828 概要 学習のための画像がない場合や不足している場合,シミュレータ等を使い人工的に画像を生成することがある. しかしシミュレータで生…