2021年12月28日火曜日

[Memo] How to build waifu2x-ncnn-vulkan on jetson nano with JetPack 4.5 or 4.6

 How to build waifu2x-ncnn-vulkan on jetson nano with JetPack 4.5 or 4.6


1. First of all, prepared mandatory apt library should be installed as follows


  sudo apt install libvulkan1 libvulkan-dev vulkan-utils nvidia-l4t-libvulkan

  

  

2. Clone source code from GitHub as follows


   git clone https://github.com/nihui/waifu2x-ncnn-vulkan.git

   cd waifu2x-ncnn-vulkan

   git submodule update --init --recursive

   

3. Set Environment variables to use pthread libararies


   export LDFLAGS="-pthread  -lpthread"

   

4. and run CMake as


   mkdir build

   cd build

   cmake  -DVulkan_LIBRARY=/usr/lib/aarch64-linux-gnu/libvulkan.so -DVulkan_INCLUDE_DIR=/usr/include/vulkan -D OpenMP_EXE_LINKER_FLAG=-pthread ../src


5.  Probably you stay at build directory, So patch ../src/CMakeLists.txt as manually

      to comment out first 2 lines of the file

      

       #cmake_policy(SET CMP0091 NEW)

       #set(CMAKE_POLICY_DEFAULT_CMP0091 NEW)

       

 6. Finally, run make 

 

       make -j 4

2021年6月16日水曜日

Jetson nanoで OpenCV 4.xを野良ビルドしたら pythonから cv2.VideoCaptureでコケた時

 Jetson Nanoで GPU 有効化されたOpenCVを野良ビルドしたら

cap = cv2.VideoCapture(input_video,

みたいな処理で

[ERROR:0] global /home/jetson/opencv/modules/videoio/src/cap.cpp (116) open VIDEOIO(GSTREAMER): raised OpenCV exception:

OpenCV(4.1.1) /home/jetson/opencv/modules/videoio/src/cap_gstreamer.cpp:144: error: (-215:Assertion failed) ptr in function 'get'

というエラーでコケる。


原因は GStreamerが有効化されると OpenCVのフラグ構成上

  cv::CAP_GSTREAMER = 1800,

  cv::CAP_FFMPEG = 1900,

GSTREAMER(数値が低いほう)が優先順位が高いらしい。

じゃー、どうしたら OpenCVのバックエンド切り替えられるのかというと


cap = cv2.VideoCapture(input_video, apiPreference=cv2.CAP_FFMPEG)


とVideoCaptureに apiPreferenceを指定せよとのこと。 

2020年7月4日土曜日

AWS cloud9で いまさら ruby 2.5.3を導入して rmagickが install出来ないとき


sudo yum -y install ImageMagick -ImageMagick-devel


だけでは、 gem install rmagickで libgompのヘッダーエラーになるので



sudo -s
cd /usr/lib64
ln -s    /usr/lib/gcc/x86_64-amazon-linux/4.8.5/libgomp.so .
ln -s   /usr/lib/gcc/x86_64-amazon-linux/4.8.5/libgomp.a .
ln -s   /usr/lib/gcc/x86_64-amazon-linux/4.8.5/libgomp.spec .
exit


して、gem install rmagick して

bundle install


2017年11月28日火曜日

cloud9のnode.jsテンプレートでAngular4を起動するときのメモ

package.jsonにおいて

"start": "webpack-dev-server --port=8080 --host=0.0.0.0 --public=node-js-xxxxxxx.c9users.io",
と記述して

npm startでOK

あとは、preview running applicationでインラインブラウザから(あるいはポップアップボタンで)確認。

という設定を確認済んだところで、Angular5がリリースされたニュースが出たのでやり直しかな

2015年11月8日日曜日

ruby OpenIPMap query API

OpenIPMap queryのクラスをrubyで実装してみた。
https://github.com/lukather7/ruby-OpenIPMap-query

2015年6月29日月曜日

IPAさんの注意喚起 詳細手順の中で示された管理者向けコマンドラインの内容を手打ちしてみた。

IPAから2015年6月29日付けでアナウンスされた「【注意喚起】潜伏しているかもしれないウィルスの観戦検査を今すぐ!」http://www.ipa.go.jp/security/ciadr/vul/20150629-checkpc.html において
詳細手順の中で示された管理者向けコマンドラインの内容を手打ちしてみた。(乞添削)

↓ウィルスファイルの検索 ここから
dir /a /r /s /b "%TEMP%" "%SystemDrive%\Users\%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\" "%SystemDrive%\Users\All Users\Microsoft\Windows\Start Menu\Programs\Startup\" | findstr /I /R "\\leanp\.exe \\leassap\.exe \\leassaq\.exe \\leassnp\.exe \\mdm\.exe \\nvsvcv\.exe \\nvvscv\.exe \\slwga\.exe \\upsl\.dll \\vmat\.exe \\vmatam\.exe \\vmatap\.exe \\vmater\.exe \\vmmat\.exe \\vmnatam\.exe \\vmwere\.exe \\windump\.exe \\ct\.exe \\yrar\.exe \\csvde\.exe \\GetPassword\.exe \\mimikatz\.exe \\mimikatzx64\.exe \\mimikatz1\.exe \\gp\.exe \\Gp64\.exe \\msver\.exe \\ss\.exe \\mailfinal\.exe \\mail_noArgv_final\.exe \\result\.log \\14068\.rar \\ms14-068\.exe \\ps\.txt \\kptl\.doc \\kenpo\.doc"
↑ここまで
追記
↓タスクスケジューラの確認
schtasks /query /v |findstr /I /R "\\leanp\.exe \\leassap\.exe \\leassaq\.exe \\leassnp\.exe \\mdm\.exe \\nvsvcv\.exe \\nvvscv\.exe \\slwga\.exe \\upsl\.dll \\vmat\.exe \\vmatam\.exe \\vmatap\.exe \\vmater\.exe \\vmmat\.exe \\vmnatam\.exe \\vmwere\.exe \\windump\.exe \\ct\.exe \\yrar\.exe \\csvde\.exe \\GetPassword\.exe \\mimikatz\.exe \\mimikatzx64\.exe \\mimikatz1\.exe \\gp\.exe \\Gp64\.exe \\msver\.exe \\ss\.exe \\mailfinal\.exe \\mail_noArgv_final\.exe \\result\.log \\14068\.rar \\ms14-068\.exe \\ps\.txt \\kptl\.doc \\kenpo\.doc"

追記その2
バッチファイルなどにすると盲目的に信じて利用しようとする人がいるのでそこまでのお節介はしません。しかし、多数の管理者が一連のファイルリストアーギュメントを書き写すのは不毛なので作成した次第。

追記その3
IPAさんのアナウンス内容をご熟読の上ご利用下さい。

2015年2月22日日曜日

rubyで遠隔地のRTX-1200/1100を監視しよう

従来 rubyでNet::Telnetなんかを使ってARPテーブルの監視や動的なIPフィルタリング等をしていた。あとはSNMP関連なども

でも、それはローカルネットワークだから良かった話。遠隔地のルータを監視しようと思うと生パスワードが飛び交うのはイヤだし、通信内容も暗号化したい。

というわけで、Net::SSHを gem install net-sshしてサンプルコードを見ながら、遠隔地のRTX-1200に向けて
   ssh.exec! 'show arp lan1'
等としてみるのだが、closed stream (IOError)等と言われてうまく動作しない。
試しにコマンド部分を 'ls /etc'に変えて最寄りのunixマシンに投げると動くので、rubyのコード自体はさほど間違ってないはず。

おっかしいなぁと思って、シェル上からssh user@router 'show arp lan1'を投入してみると、Channel request 'exec' is not supported !!
そう、YAMAHAのRTXシリーズのsshではexecは効かないのであった。

代替策として、 gem install net-ssh-telnetして
require 'rubygems'
require 'net/ssh'
require 'net/ssh/telnet'

s = Net::SSH::Telnet.new(
          "Dump_log" => "/dev/null",   # /dev/stdout would be work for debug
          "Host" => @remotehostname,
          "Username" => @user,
          "Password" => @password
)

arp_string = s.cmd("show arp lan1")

のようにして解決したのであった