ReactをJavaScriptのみで使う
おじさん、最近のフロントエンドには全くついていけません。そのなかでも特にわからいのがReact。Reactって開発者向けのライブラリで学習に時間がかかるらしい。おじさん、開発者だけどわからないぞ。JSXとかBabel.jsってなんなんだよ!しかもReactはJSXを使わないでJavaScriptのみで書くととってもめんどくさい。Vue.jsやAnglarjsみたいにJSファイルだけで使えるとよいんだ...
View ArticleKaggleのTitanicタイタニックの正解率をあげる。
おじさん、やっと暇ができました。途中までやっていた、正解率78%のKaggleのタイタニックの正解率をとりあえず80%くらいにあげようと思います。前回まではKaggleをC言語でやるための準備だったので、今回が本当のスタートです。まず、SVMが線形カーネルだとよくないので、RBFカーネルをサポートしているlibsvmに変えます。まぁRBFカーネルのほうが真ん中取り出せるし。次に、親兄弟の数と子供の数...
View Articleオペアンプで遊ぶ
最近、テレワークが流行っているようです。でもおじさん、テレワークでやることがない。そこで、今日はオペアンプでヘッドフォンアンプをつくって電子工作をしてみようと思います。アマゾンで安く売っているヘッドフォンアンプキットがこれ。A47アンプというらしいです。ChuMoy...
View Articleオペアンプで遊ぶ その2
オペアンプのブログが意外とうけが良いので、調子に乗って本日も真のオペアンプではないですが、アンプ系です。おじさん今から30年以上前の小学4年生の時にLM386というICではじめてインターフォンを作りました。IC一つで作れるんで、小学生でも作れるんですね。音系の電子工作ってどれもとても音が悪かった記憶が残っています。しかし、最近、インターネットでいろいろな人が回路図を公開することが増えて、回路図をみん...
View ArticleC++のヘッダーファイルだけでシングルトンを作る
おじさん、この年になってもいまだにC++で上手にシングルトンが作れません。スレッドセーフとか考えるとあれ結構難しくない?やっぱシングルトンは良質な水と原料からでないと作れないっぽいです。だれでも簡単に任意のクラスをシングルトンにできるクラスとか作れないんだろうか。よく、シングルトンを作るために.cppファイルでstatic変数をstatic...
View Article実効再生産数を計算する。
おじさん、おうちでやることがない。とっても暇なのです。コードを書かないと頭が鈍ってしまう。なので、今日は頭の体操に、最近よくニュースで発表されている「実効再生産数」を自分で計算してみたいと思います。まず、計算アルゴリズム。有名な西浦先生のやつみてみます。http://statmodeling.hatenablog.com/entry/covid19-estimate-effective-reprod...
View Article会社のパソコンの電源をリモートでいれる。
おじさんも最近テレワークしています。家から会社のパソコンにアクセスしているのですが、たまにその会社のパソコンがハングして固まってしまいます。その固まったパソコンを再起動するために会社にいかないといけないのです。とってもめんどくさいので、スマートプラグを使用して家から会社のパソコンの電源をリモートでON/OFFできるようにしてみました。1.機材の準備broadlinkという会社から発売されているスマー...
View Articleマスク着用を判定する。
おじさんの会社では、入り口のゲートのところにカメラが置いてあって、マスクをしているかチェックされます。間違ってマスクを会社に置いたまま外に出ると、二度と社内に入れなくなります。AIがマスク着用判定、注意も...
View Article算数の問題を解く
おじさん、子供の公文式の分数の計算問題があまりにめんどくさくてできません。帯分数を仮分数に直して通分して計算して約分して仮分数を帯分数に直さないといけないのです。もうなんなんだこのめんどくささ。小学生の子供にどうやって問題を解いているのか聞いたら、Photomathというアプリをタブレットに入れて、写真を撮れば答えがわかるよと言われました。どうも最近はスマホで算数の問題の写真を撮ると答えが出るらしい...
View ArticleTensorflow2をビルドする
いつのまにかTensorflowのバージョンが2に上がっている。以前はVisualStudioでビルドできなかったのですが、バージョンアップに伴いWindowsでも簡単にビルドできるようになったっぽいのでおじさんもビルドしてみました。bazelでビルドするとビルド途中でエラーが・・・なんでだよ。なのでbazelを使わないでビルドしてみました。VisualStudio2019に以下のファイル追加すれば...
View Articlemonodepthをやってみる
前回、最小のTensorflow2をつくることができたました。そこで今回はこれを使って深度推定のmododepthをやってみたいと思います。https://arxiv.org/pdf/1609.03677.pdfmonodepthは、深度推定のアルゴリズムの中では高速で正確らしいです。最近はCPPのコードも充実してきています。https://github.com/yan99033/monodepth...
View ArticleAlphaGoをやってみた。
AlphaGoは、数年前にGoogleの子会社のDeepMindが作った最強の囲碁プログラムです。http://augmentingcognition.com/assets/Silver2017a.pdfオリジナルはPythonで書かれているのですが、なんとC++版を実装してくれた人がいます。https://github.com/leela-zero/leela-zeroおじさん、前からAlphaG...
View ArticleVariational Autoencoder(VAE)をやってみた。
おじさんの本日のディープラーニングはオートエンコーダーです。いつも認識系ばっかりやっているので、たまには生成系もやってみます。論文はこれ。https://arxiv.org/pdf/1312.6114.pdfMNISTでいうと、通常は画像から数値に変換していました。オートエンコーダーでは逆で数値から画像を作ります。日本語の解説はこの辺に載ってます。https://qiita.com/kenmatsu...
View ArticleTensorflowのC++APIで学習をする
ここ数日暑い、暑すぎる。あまりにも外が暑いので家でプログラムをします。TensorflowのC++APIはあまりマニュアルが整備されていないため、ソースコードがほとんどありません。その中でも特にC++APIを使った学習に関するサンプルはGoogleが作った簡単なもの以外まったくない。一番ありそうなMNISTの学習サンプルもないのです。なんで?世の中でまだ誰もTensorflowのC++APIを使った...
View ArticleC言語の標準ライブラリだけでMNISTをつくる
前回、TensorFlowのC++APIでMNISTを作ったときに気づいたのですが、MNISTってほとんどがPythonで書かれていて、C言語で書かれたもはほとんどみあたりません。MNISTって簡単だからC言語の標準ライブラリ関数だけでかけるんじゃない?おじさん、世の中にないものは作りたくなってしまう・・・。大学生とかが課題ででそうだけどなぁ。数時間でできそうなので、C言語で書かれたシンプルなMNI...
View ArticleLM380非革命アンプとLM386革命アンプを作る
おじさんみたいなエンジニアは年を取ってくるとアンプを作りたくなるみたいです。なんでみんなじじいになるとアンプをつくるんだろう?おじさん、前回のUSB切替機を作ったときに、Kicadの使い方と格安プリント基板の発注方法がわかったので、調子にのってアンプの基板も作ってみました。以前このブログで紹介した、LM386のICを使った「LM386革命アンプ」とLM380のICを使った「LM380非革命アンプ」の...
View Articleレールスプリッター
おじさん、最近ヘッドフォンアンプを作ろうとしてレールスプリッターではまってしまいました。オペアンプのICを使おうとするときに最初につまづく負の電圧源。よくオペアンプの教科書に+5Vと-5Vを作らないといけないなんて書かれています。おじさんも大学生の時にWebなんてなかったから、どうやって負の電圧を作ればいいのか何か月もなやんだしなぁ。この負の電圧を仮想的に簡単に作るのがレールスプリッター。https...
View Article電流帰還アンプを作る
おじさん、LM380非革命アンプとLM386革命アンプの基板を注文したのですが、到着までに3週間程度かかるみたいで、後に注文したLM380非革命アンプの基板がまだ届きません。一回も回路のミスをしなくても、基板をつくって、部品を購入して、はんだ付けをし、動作確認するまで1か月以上かかるようです。回路図をミスってもう一度作ると二か月かかるのかぁ。LM386の革命アンプしか作ってないけど、革命アンプシリー...
View Article