ハードウェア技術者のスキルアップ日誌

某家電メーカーの技術者がスキルアップのために勉強したことを記録するブログです

Keras/Tensorflow - h5/hdf5からckptへの変換方法

以前、ckptからpbへの変換方法をブログに書きましたが、今回はKerasのh5/hdf5形式からckptへ変換する方法を調べましたので、ここにメモしておきます。 masaeng.hatenablog.com 変換方法 私の環境でうまくいったサンプルコードです。 from keras import backe…

5Gの規格を勉強して分かった、理解する上での前提知識と誤解していたこと

仕事で5Gを扱うことになり、いろいろな文献を読み漁って5Gの規格を調査しました。これだけ話題となっている技術で、すでにサービスが開始されようとしている段階で今更感があるのですが。。。 前置き:どのようにして調査したか 初めは英語の規格書にチャレ…

経験値ゼロのハードウェアエンジニアがAIを理解して動かすことができるようになるまで

前回の更新からだいぶ間が開いてしまいましたが、また勉強したことのアウトプットを再開していきます。 今回は今までとはちょっとテイストが変わりますが、表題の通り、AIに関して何も知らなかった私がどのようにAIを勉強して理解できるようになったかを書い…

struct2depth(距離推定)を動かしてみた

久しぶりにGITHUBで公開されているDeep Learningのネットワークを動かしてみました。今回はtensorflowのソース内にあるstruct2depthです。慣れていればどうってことないのでしょうか、初見でつまずいてしまったので、手順を記録しておきます。 struct2depth…

【読書記録】ー 転職と副業のかけ算

今回はmotoさんの「転職と副業のかけ算」という本を読んだので、学んだことを書いていきたいと思います。 転職と副業のかけ算 生涯年収を最大化する生き方 作者: moto 出版社/メーカー: 扶桑社 発売日: 2019/08/09 メディア: 単行本(ソフトカバー) この商…

【読書記録】ー 考具

技術者という仕事をやっていてもアイデアを求められることは常日頃あります。そのような周りからの期待に応えたい気持ちは山々なのですが、中々いいアイデアを出せず、悔しさを感じていました。そんな中、書店で「考具」という本を見つけたので、アイデア出…

ラズパイでUART通信を行う

前回、ラズパイでハードウェアを制御する方法の勉強をスタートしました。 masaeng.hatenablog.com 少し間が開いてしまいましたが、第二回目はUART通信です。UARTはマイコンのデバッグ用通信やデバイス間通信などによく使われていますね。ラズパイでUARTを使…

【読書記録】- PLAY WORK

今回は「PLAY WORK」という本を読みましたので、要点をまとめます。 PLAY WORK プレイ・ワーク 仕事の生産性がグングン高まる「遊びながら働く」方法 作者: ピョートル・フェリクス・グジバチ 出版社/メーカー: PHP研究所 発売日: 2019/07/24 メディア: 単行…

Tensorflow ー 複数の学習済みモデルを同時に実行する

GITHUBで公開されているディープラーニングの学習済みモデルを流用し、USBカメラ映像を入力して推論するというプログラムをいくつか作ってきました。今まで動かしたプログラムは全てモデル1つだけを動かしていましたが、複数の学習済みモデルを組み合わせて…

Tensorflow - ckptからpbへの変換方法

PC上で学習したモデルを動かす際にはckptファイルで問題ないですが、iOS, Android上や組み込み機器上で動かしたい場合、pb(protocol buffer)形式のファイルが必要となります。ckptからpbへの変換方法を調べたのでメモしておきたいと思います。 ckpt, pbとは…

Tensorflowで作成したグラフのノード名、型を表示する方法

Tensorflowの学習済みモデル、重みデータのcheckpointファイルをProtocolbuf形式(pbファイル)に変換する際にグラフのノード名を指定する必要があったのですが、ノード名を知る方法がわからなかったので調べてみました。 結論から記載すると、以下の記述です…

Tensorflow, CUDA, CuDNN バージョン確認方法

Tensorflow GPU環境を作る際に何度も調べなおしているので備忘録です。 対応表 Tensorflow-GPU, CUDA, CuDNNのバージョンは正しい組み合わせでないと正常に動かないため、以下のリンク先で確認します。 https://www.tensorflow.org/install/source#tested_bu…

シェルスクリプト - フォルダ内の全ファイルに対して処理

シェルスクリプトを作るときにフォルダ内の各ファイルに対して同じ処理を繰り返す場合が多いのですが、よく書き方が分からなくなるので、備忘録として記録しておきます。 シェルスクリプトのサンプル 以下はフォルダ内の各mp4ファイルを引数にしてsample.py…

フォルダ内のファイルを連番でリネーム

仕事で作業している中で手こずった内容を備忘録としてメモしておきたいと思います。今回はLinuxOSでフォルダ内のファイルを連番でリネームする方法です。 コマンドの一例はこちら。 $ ls *.png | sort -t - -k 2 -n | awk '{ printf "mv %s %04d.png\n", $0,…

FaceNet(顔認証)を使って自動撮影カメラを作ってみた

前回、GITHUBで公開されているFaceNetを動かしてみました。今回はこれを使って登録した人の顔を自動で撮影するおもちゃを作ってみたいと思います。 masaeng.hatenablog.com ソースコードの修正 FaceNetのcompare.pyを修正して、USBカメラで撮影した映像に対…

【読書記録】- THE TEAM 5つの法則

今回は読書メモ。リンクアンドモチベーション取締役 麻野耕司さんのTHE TEAMという本を読んでみたので、学んだことを記録します。 今の仕事は個人作業の要素が強いのですが、一方で、メンバーを信頼し、協力しながら困難に立ち向かうといったチームで進める…

FaceNet(顔認識)を動かしてみた

YOLOやSSDなどディープラーニングのネットワークをいくつか試してきましたが、今回は顔認識のニューラルネットワークであるFaceNetを動かしてみましたので手順を記録しておきます。 FaceNetの概要 FaceNetは2015年にGoogleが発表した顔認証用のニューラルネ…

【読書記録】- VISION DRIVEN 直感と論理をつなぐ思考法

今回はVISION DRIVENという本を読んでみました。 私は経営者やリーダーは細かい指示をする前にビジョンを語るべきだと思っていて、人を動かすビジョンや、それを伝えるヒントが得られればと思い、手に取りました。 いつものように要約と自分の気づきをまとめ…

ラズパイでGPIO制御をする

今までソフトウェア中心の勉強でしたが、ハードウェアのスキルの幅を広げるためにもラズベリーパイを使って電子回路を制御し、いろんなものを作っていきたいと思っています。そのためにラズパイでハードウェアを制御する方法を勉強していきます。初回はGPIO…

【読書記録】ー GIVE & TAKE

久しぶりの読書記録になりました。 今回は友人に勧められて読んでみたGIVE & TAKEという本について、学んだことを記録します。 GIVE & TAKE 「与える人」こそ成功する時代 (単行本) 作者: アダムグラント,楠木建 出版社/メーカー: 三笠書房 発売日: 2014/01/…

Linuxコマンドまとめ⑥ - GIT

Linuxの勉強も6回目になりました。一応今回で一区切りにしたいと思います。今回のテーマはGIT(バージョン管理システム)です。コマンドだけでなく概念的なところまで勉強したので、まとめを残しておきます。 インストールと初期設定 $ sudo apt-get install …

Linuxコマンドまとめ⑤ - アーカイブ/圧縮・パッケージ管理

Linux勉強の5回目。今回はアーカイブ/圧縮とパッケージ管理。ソフト開発を始めて使う機会が多くなったように思います。忘れないように勉強したことをまとめます。 アーカイブ/圧縮 アーカイブとは・・・複数ファイル・ディレクトリをまとめること(tarコマン…

Linuxコマンドまとめ④ - シェルスクリプト

Linuxの勉強の4回目。今回はシェルスクリプトです。 シェルスクリプトとは・・・シェルのコマンドラインをあらかじめ記述しておくファイルのこと 仕事で使う際によく書き方を忘れてしまうので、これを機に使う頻度が高いもの、これから使ってみたいものを整…

Linuxコマンドまとめ③

Linuxの知識の整理 3回目。今回はbashの設定、パーミッション、プロセス管理、テキスト処理などについてです。コマンドだけでなく、Linuxそのものに関するものも含まれていますが、早速まとめていきたいと思います。 bash bashの設定は~/.bashrcというファイ…

Linuxコマンドまとめ② - Vimの操作

Linuxの知識の整理。2回目はテキストエディタのVimです。 昔はファイルを開いたっきり閉じられないということになっていました(笑)備忘録のため、使いそうな操作方法をまとめておきます。 起動・終了 ファイルをvimで開く vi <ファイル名>エディタの終了 …

Caffeの環境構築(Windows)

仕事でCaffeを使うことになり、環境構築をやってみたのですが、非常に苦労したため、次に同じことにならないように手順を残しておきます。 Windows上への構築をやろうとしたのですが、Caffe windowsブランチのリンクが切れているようだし、Visual studio2015…

Linuxコマンドまとめ①

仕事でLinuxを扱うことが増えました。 毎回コマンドが分からず、調べながら仕事をしているので、自分が覚えていないコマンドを中心に使いそうなまとめておくことにします。 基本操作 起動・終了 シャットダウン shutdown -h now再起動 shutdown -r now カー…

画像データのフォーマットまとめ(画像認識用)

ディープラーニングの画像認識デモを作っているときに画像データのフォーマットを合わせるのに苦戦したので、調べたことをまとめておきます。 OpenCV OpenCVで扱う画像データはNumpy配列のndarray型3次元の配列で高さ x 幅 x 色数色の順番はRGBではなくBGR i…

【読書記録】ー 人生の勝算

以前「メモの魔力」の読書記録をこのブログにも書きました。最近でもTVに出演され、それを受けてTwitterやブログで話題になっています。Webマーケティングのやり方は非常に勉強になっています。https://masaeng.hatenablog.com/entry/2019/02/17/000229 今回…

Python入門 ー 個人的メモ

以前AidemyでPython入門を受講しましたが、YOLOなどのサンプルコードを読んでいく中で自分の理解が足りなかった部分を改めて勉強しましたので、学んだことを個人的な備忘録として記録しておきます。 まとめ方が悪い、見難い部分があると思いますがご了承くだ…