[[FrontPage]

機械学習の再挑戦

fashion-MNISTを以前よくわかないままやった。今回は手書き数字のデータセットを機械学習で取り扱う例題をやってみた。kerasというのを使うやり方が紹介されているのでほとんど同じような感じでやることになる。ただどんなデータなのかを表示する例がないのが少し残念。しかも自分でやると収束が遅く、グラフが違うものになった。

https://weblabo.oscasierra.net/python/keras-mnist-sample.html

どんな手書きデータを見て、どう判断したかについてわかりやすくしてあるページがあった。

https://gtrt7.com/blog/python/mnist-dl

飛行機とか犬とかを画像判断するCIFAR-10という例題がある。これをネットにあるやり方をコピペしてやり始めたが、なぜか時間がかかる。fitでエラーが出たのでnb-epochをepochsに変更して始めた。こうなるとIntel第10世代やアップルM1とかが気になり始めます。3万円のノートパソコンCeleron N3450だと苦しい。

頭の体操

'A geometric answer to the Basel problem' というのがRNA vaccineのビデオを見ているうちに出て来た。英語力を磨く上でも良さそう。周長2の円の上にある灯台から出る光が下に届く。円を上側に2倍ずつ増やしていく。一つ前に描いた円上の灯台と頂点を結ぶ線分を増やした円まで伸ばして灯台を置いて、灯台の数を2倍にしていく。増やした灯台の光の強さは最初の灯台と変わらないし、灯台までの距離は奇数倍あるように増えていくので、奇数の2乗分の一の級数のの2倍が最初の灯台の明るさになるという仕組みを使ってバーゼル問題が解ける。偶数の2乗分の1の和の級数は求める級数の1/4であることから、最終的な答えにたどり着く。なんたる不思議。プランク定数を求める時に使われた級数の解法の簡単なもの。ビデオでは湖の縁に並んだ灯台の光の和というイメージを使っている。

raspbian でarduino

ふた通りインストールのやり方がある。本家から取ってくるのと、apt install arduinoとやるのと。今回はaptコマンドで行ってみた。いちごのマークの「プログラミング」にできているので立ち上げると文字が日本語フォントの関係で表示されない。以下のページに従って英語表記に変更した。

https://qiita.com/tamamori/items/7d40bfb73b3a5766ce29

一応、BME280は読めた。I2CはWire.hを使って取り扱う。SPICEMANというブログにコードが載っている。

BMP280は少しお安いが湿度が測れません。でもデバイスの認識から丁寧に説明するページがありました。

https://www.denshi.club/cookbook/arduino/spresense/spresensel-24-wire.html

step motor

https://techweb.rohm.co.jp/motor/knowledge/basics/basics-04/499

障害物回避のプログラム例

https://osoyoo.com/ja/2017/05/10/arduino_car_obstacle_avoidance/

読みやすいプログラムがありました。UCTRONICS K0069は障害物回避、IRリモコン、BluetoothとScratchを組み合わせたコードになっていて読みにくいです。

うなりの現象をpythonで

https://blog.proglearn.com/2020/01/25/【python】numpy-matplotlib-math-を使いこなせ!-入門②-グラフ描画を/

使っているのがリストの内包表記という技。リストを数式的に作る基本技術。radiansは角度をラジアンにする関数。振動の関数の引数が2pi*f*tであることを思い出せば意味がわかる。x軸(今の場合時間軸)がmsec単位となっている。numpyはndarrayにして、高速にCを使って行列計算するためのもの。単純にグラフだけかかすなら、listでも良さそうだけど。やって見ないとわからないところもある。

レーザー変位計のデータ表示

一点だけ読めたが、マップ状にするとするとファイルの読み書きなども考える必要がある。h5というのがあったような。->見よう見まね風にリストのリストにした。あとはバイト列を文字列に変換する必要があるかもしれない。

raspberry Pi 4BのGPIO

sunfounder マニュアルに従ってやろうとするとgpio readallコマンドが効かないのでネットで調べて対処した。sunfounderの安いロボットカーはpythonで動く。電池は保護回路のないのを買った。外したりするのが大変なので。

cd /tmp
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
cd /home/pi/
git clone https://github.com/sunfounder/davinci-kit-for-raspberry-pi.git
cd davinci-kit-for-raspberry-pi/1.1.1
gcc 1.1.1_BlinkingLed.c -o BlinkingLed -l wiringPi

2.2.3温度湿度計はCだとうまく読めない。pythonだと読める。なんでか。Step Motorもできるようだが、9Vの電池が必要。

buffaloのhepnet用無線ルーター

困ったことにこれにつなぐとネームサーバーがセットされない。linux系だと/etc/resolv.confに手打ちでセットしてやるとOK. windowsはこれから調べる。->最近はなぜか問題ない。

cache serverのセッティング

named.confに自分のネットワークを入れてなかった。digでrecursionができてないとコメントが出てたので、変えて見た。

acl my-network{
       192.168.0.0/24; 192.168.10.0/24; 192.168.11.0/24; xxx.yyy.zzz.0/24; localhost;
};

UCTRONICS K0073の動作について

これはH接続という2個づつのスイッチのON,OFFを切り替える配線が内蔵されているL293Dと呼ばれるモータードライバーを使って動かすようになっている。Rasbianを入れたラズパイ4にコードのページ通りgitコマンドで入れたが、うまく動かなかった。なぜかOpenCVが入っていたのでそのままコンパイルすると2箇所エラーがあったが、エラーメッセージが分かりやすいものだった。最初に書いてあるラズパイ4用のdebianパッケージを入れておかないとピンヘッダーの割り当てが違っていて動かないとわかった。ロボットカーのサーバーサイドがCのコードなので解読すると面白そう。クライアントサイドはアンドロイドのアプリ。ロボットカーを木材で持ち上げ、テストする。歯車マークをタップして、IPアドレスをラズパイの無線ランに合わせておくと接続する。左がカメラの擬似ジョイスティックで右が移動用。この辺をPython化出来ないものか?TelloやBB8はネットにあったが。

iPhone SE2 ホームボタン

iPhone6からSE2に買い換えた。ホームボタンが不思議な感覚になっている。押すと凹む感触がなく、振動するような特殊な感覚がある。つい触るだけにすると押せていないことになるので故障と勘違いする。ロック解除が触るだけなので、触るだけと勘違いするのかも。指紋認証のスピードが上がったせいかな。

戦後10年生まれの人は

やっぱり「Midway」を見に行きますよね。Richard Bestさんがほぼほぼすべて。一人で赤城を沈めたみたいでした。しかももう一人のヒーローのマクラスキー司令官が2飛行中隊全部を加賀に集中させたミスを一人で挽回したということでした。英語のwikiが正確です。飛龍はあと2時間で日没だったのに残念。日本語wikiは日本時間なので真夜中に攻撃隊を出したことになったりしてるので現地時間を付記しないと。雷装を地上攻撃用に転換したのが最大のミス。地上攻撃は急ぐ必要がなかったのに。

https://en.wikipedia.org/wiki/Richard_Halsey_Best

レーザー変位計の通信インターフェース

http://www.omron-ap.co.nz/data_pdf/mnu/zx2-sf11_inst-3731763-7b.pdf?id=2979

最近見てびっくりのブログ

http://yuuyuusyumi.blogspot.com/

ステージをpythonで制御

コムスのステージコントローラーの通信速度は9600の4倍だった。windowsではCOM3に接続されているようなので、pyserialでそこに向けてホームポジション移動コマンドを送ると動作した。

pyserial シグマ光機で検索したら以下のページがあった。

https://github.com/elerac/autopolarizer

jitsiのテレビ会議システムを紀要に投稿

tex原稿なのでzipでフォルダーごとまとめた。

filekiyou2020-2.zip

CentOSはdefaultが非接続

やってはいけないのがrestart network。切れちゃう。 どっかを変えないといけないがどこだったかな。

nmcli connection modify enp2s0 connection.autoconnect yes 

CentOS7のnamed.conf

ipv6に関連してlogにメッセージが出るのを抑制する。

http://vega.pgw.jp/~kabe/vsd/bind-unreach.html

そろそろjavaのアプレットをmainに変換?

https://nompor.com/2017/11/30/post-1503/

アニメーションもあった。

https://nompor.com/2017/12/22/post-1825/

wan側、lan側にルーターを使って分離する

よくやられているのがlan側内部にもネームサーバーを入れるというやり方。?(この辺の解釈は間違い)今の無線ルーターで名前参照ができてない。

どうも権威サーバーでhep.kyokyo-u.ac.jpについて情報を提供し、もう一台キャッシュサーバーなるものをrecursiveに情報検索するDNSサーバーとして建てる必要があったようだ。勉強になりました。無線ランルータが参照する相手は権威サーバーでなく、キャッシュサーバーにする。今までは兼用してたので良くなかったらしい。結局最低2台WAN側に必要。セカンダリーも設定したらどうか。

https://qiita.com/nk9bb8/items/9a0b678b1abdfcb958ea

CentOS 7の日本語入力

アプリケーションからfirefoxを立ち上げると入力がおかしくなる。以下のようにすれば問題なかった。

export  GTK_IM_MODULE=xim
firefox &

いろいろある。

自宅のLinux

最後がnoだったので以下の設定が必要

echo "source ~/anaconda3/etc/profile.d/conda.sh" >> ~/.bashrc
conda upgrade --all

をbaseでやっている。anaconda-navicatorが使えているので、tfからそれを立ち上げて、jupyter-notebookが使える。 まずbase端末でanaconda-navicatorを起動しapplication on のところをtfにしてからjupyter-notebookをインストールする。そのあとtf端末からjupyter-notebookを起動するとブラウザに入力画面が出てくる。

物体認識は以下のところをクローンする

https://github.com/rdeepc/ExploreOpencvDnn

opencv-pythonのversion4以上で動作する。ubuntu py27では動作した。

Telloでpose recognition

ファイルがダウンロードできなかったが、ぐぐってみるとおいてあるところが書いてあった。以下のページでまず動かしてみましょう。

http://codecrafthouse.jp/p/2018/01/picto-san-generator-using-pose-estimation/

chainerのインストールとか面倒だったので、とりあえずTelloのプログラムを起動したところ、あっさり動作した。opencvの関数だけでもpose 認識はできることがわかった。

Tello SDKの例題

Tello_Videoをやってみた。py27の環境にcondaでしてから、今まではbaseでしてたせいか、エラーが出たので以下を行った。

pip install pumpy
pip install Pillow
pip install opencv-python
python main.py

Telloの回転などはキーボードから操作する。一応写真などsnapshotのボタン押し下げで取得。

anaconda3 on ubuntu

to disable base, type as follows

conda config --set auto_activate_base false

I have created python 2.7 environment and activated it

conda create --name py27 python=2.7
conda activate py27

pygameをやってみた

(py27)でpip install pygameとしてds4で以下を試すと、あっさりハットのところがkey操作と対応していた。サードパーティのds3はハットが0でエラーとなった。

https://sd08419ttic.hatenablog.com/entry/2019/06/26/224930

BB8をジョイスティックで動かしてみた。座標軸が計算機画面でやるのがゲームなので、向こう側を0度にしようとすると逆になるので符号を反転した。あと角度を0から360度にするときはxが負のときだけ2πをたす。Xbox360とDS4の左スティックで動かすのは確認済み。

fileBB8axis.py

BB8をpythonでやろうとしてはまる

自宅のUbuntu 18.04にanaconda3が入っていてpython 3.7.7が(base)となったときのpython

source activate py27

とするとpython 2.7となる。pip install bluepyとしてBB8test.pyをMACをBB8_driver.pyにセットするとなんと動作した。ただpipを使うと警告がでるし、

Stored in directory: /home/takasima/.cache/pip/wheels/b5...

となっているので(base)との関連、condaのパッケージの関連がよくわからず不安。

gitで入れたが2.7みたい。connectしないがどうしてか?

https://www.ipride.co.jp/blog/2510

pythonの演習教材

京都大学のPythonの演習課題がある。

https://repository.kulib.kyoto-u.ac.jp/dspace/handle/2433/245698

CentOSの日本語入力

最初に「設定」(実際はgnome-cntrol-centor)を選んだ時に「日本語」しかないが、その後「日本語(かな漢字)」が出てくるので大丈夫。

gnome-control-centor

I was trying to set japanese environment on CentOS desktop. By some mistake, gnome-control-centor become unavailable. It said

gnome-control-center: error while loading shared libraries: libwbclient.so.0: ...

I checked Web and saw the comment about sssd-libwbclient. I installed sssd-libwbclient without no understanding about the package. Trouble recovered.

fusion360でCFRP

繊維の方向とそれに直角な方向でだいぶ違いそう。10GPaと300GPaということで、 10GPaで実際と一致。CADの元の数値は130GPaぐらいだった。

http://www.performance-composites.com/carbonfibre/mechanicalproperties_2.asp

応力解析、異方性で検索するとFemtetもヒットする。ANSYSもヒットする。

windwos でtellopyはできるのか

以下のページにやり方はある。miniconda3も入れてみた。

https://qiita.com/beholder/items/158e2d29364dff392f3b

去年はDAQでpythonも使ってたので復習

pythonの仮想環境が使えるように以下の頁の通り自宅のlinux練習マシンにanacondaを入れてみた。.bashrcに自動でセットされた。個別のディレクトリに環境が配置された。

https://www.kkaneko.jp/tools/ubuntu/anaconda.html

anacondaのbaseがpython 3.7.7となった。その上でtellopyをその環境でgit cloneでいれて前のように飛ばしてみたところ、videoがエラーだがjoystickは動作した。右ボタンで離陸、左ボタンで着陸、左スティックが上下と回転、右スティックはドリフトでいわゆるモード2。openCVのversion不整合?aptではOpenCVは3.2?

File "<stdin>", line 1, in <module> cv2.error: OpenCV(4.2.0) 

AutoCADの練習

最初のtutorialをやってみている。線分を描く、トリムのオブジェクトを選択など続きの動作が想定されている時、コマンドのインストラクションを見ながらやっていくが、操作の終了を指示するためには右クリックしてメニューを表示してEnterを選択して終了する。これがわかってないと色々困る。また、オフセットの時は最初にオブジェクトを選択しておくのが、今やっているバージョン。ビデオではオフセットを選んだ後、選択してるように見える。


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS