Bartlett Beamformer and MVDR Beamformer in the Browser
用 javascript 做出兩個 algorithm,然後讓你調整參數看二者的不同。
可以看出 Capon 容許較大 noise (調整 SNR 來看),有比較大的鑑別度。
有關這兩個 beamforming 的方法,這一篇 : "Beamforming algorithms - beamformers" -- Norsonic tech notes, by Jørgen Grythe, Norsonic AS, Oslo, Norway 有白話的說明。
2022/11/8
2022/11/2
SonarQube , install and test
用 Docker 安裝。
官方是用 docker-compose.: example-compose-files
要run 的主機,要先把 file limit 相關增加
然後就可以在 docker-compose.yml 目錄下: docker-compose up -d
之後一些message 結束後,可以用 docker ps 看是不是有兩個 container 在 run:
啟動完成,開啟 browser,到 http://host-name:9000 就會顯示 login 畫面,default 是 admin, admin,登入完成會立刻要求修改 passowrd (+123)
follow instruction,先 create 一個 new project,用 local,然後就會產生一個 key。之後就會指示要你download 一個 zip,做 scan 用。
依照你要 run scan 的平台(windows, linux, mac), download 不一樣的 zip 檔。
zip 解開後,在 sonar-scanner-4.7.0.2747-linux/bin/ 下就是 sonar-scanner 執行檔。
在 ~/bin/ 下建一個link,讓自己可以 invoke 到。
如果要給所有人都可以 run, 就要 copy 到 /usr/opt/ ,然後建 link 到 /bin/
回到 server,gen 完 token 後,第二步要你download zip,後面就是 sonar-scanner 的 example command。
用 sonarqube 的 example 來測試:
把節結果顯示出來..
可以看看 example 中的 sonar-project.properties 和剛剛 command 的 -D overwrite 裡面的定義。
麻煩的是,如果要 scan c++,sonar 須要知道code是怎麼 build 的,所以跟 build system 有關 (bazel, msbuild.. etc)
需要另一個tool: build-wrapper
然後 server 好像要是 developer editiion 以上,community edition 不支援的樣子..
這一篇 有說,好像有 opensource implement C++ extension
官方是用 docker-compose.: example-compose-files
要run 的主機,要先把 file limit 相關增加
sudo sysctl -w vm.max_map_count=262144 sudo sysctl -w fs.file-max=65536 ulimit -n 65536 ulimit -u 4096這樣做,reboot 後又要重新設定,可以修改 /etc/sysctl.conf 和 /etc/security/limits.conf
然後就可以在 docker-compose.yml 目錄下: docker-compose up -d
之後一些message 結束後,可以用 docker ps 看是不是有兩個 container 在 run:
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 39b76878cb7f sonarqube:community "/opt/sonarqube/bin/…" 39 minutes ago Up 39 minutes 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp compose-sonarqube-1 bd6b6e8ef34b postgres "docker-entrypoint.s…" 39 minutes ago Up 39 minutes 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp compose-db-1如果有沒起來的,用 docker ps -a 看,然後用 docker start container-id -a 看啟動 log,找找看 Error message。
啟動完成,開啟 browser,到 http://host-name:9000 就會顯示 login 畫面,default 是 admin, admin,登入完成會立刻要求修改 passowrd (+123)
follow instruction,先 create 一個 new project,用 local,然後就會產生一個 key。之後就會指示要你download 一個 zip,做 scan 用。
依照你要 run scan 的平台(windows, linux, mac), download 不一樣的 zip 檔。
zip 解開後,在 sonar-scanner-4.7.0.2747-linux/bin/ 下就是 sonar-scanner 執行檔。
在 ~/bin/ 下建一個link,讓自己可以 invoke 到。
如果要給所有人都可以 run, 就要 copy 到 /usr/opt/ ,然後建 link 到 /bin/
回到 server,gen 完 token 後,第二步要你download zip,後面就是 sonar-scanner 的 example command。
用 sonarqube 的 example 來測試:
https://github.com/SonarSource/sonar-scanning-examples.git cd sonar-scanning-examples/sonarqube-scannercopy剛剛step 2 的 command 來 run
sonar-scanner -Dsonar.projectKey=test1 -Dsonar.sources=. -Dsonar.host.url=http://i9rtx3090:9000 -Dsonar.login=sqp_87a27fdf903c31857f1349b47bee1aa31706e427執行完,server 網頁就變了...
把節結果顯示出來..
可以看看 example 中的 sonar-project.properties 和剛剛 command 的 -D overwrite 裡面的定義。
麻煩的是,如果要 scan c++,sonar 須要知道code是怎麼 build 的,所以跟 build system 有關 (bazel, msbuild.. etc)
需要另一個tool: build-wrapper
然後 server 好像要是 developer editiion 以上,community edition 不支援的樣子..
這一篇 有說,好像有 opensource implement C++ extension
2022/10/20
Stable-Diffusion-Webui
Running on local URL: http://127.0.0.1:7860 To create a public link, set `share=True` in `launch()`.所以
python webui.py --listen結果是看這一個。
要 clont source,還要另外 download model.ckpt。
然後啟動 webui.py
最近的吃面輸出..我的是..
這一篇有一些 animate model,一開始還有用 command line download magnet 的 package 安裝
這個是一個給 linux 用的 install script,預先用conda create 好python3 的環境。
然後這一篇 是官方的安裝說明?
還有說要一些其他的 package ,例如
Linux 安裝大概就是:
安裝 python 3.10 環境 (conda ?)
git clone git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
copy ckpt 到 models/Stable-diffusion 下,rename model.ckpt
run webui.sh
它會create venv,再裡面安裝 requirments.txt
所以要單獨run webui.py 的話,要自己install requirement.txt
然後還是有一些沒裝, clip, gdown,
看 webui.sh,啟動 venv 後就 run launch.py
launch.py 安裝 gfpgan, clip, xformers, deepdanbooru, pyngrok
再 install requirements.txt
2024/11/8 update:
用 conda
conda create -n stablediffusion python=3.11進去之後,clone
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui因為是用 conda,所以修改 webui-user.sh:
diff --git a/webui-user.sh b/webui-user.sh
index 70306c60..ac9cf712 100644
--- a/webui-user.sh
+++ b/webui-user.sh
@@ -19,7 +19,7 @@
#export GIT="git"
# python3 venv without trailing slash (defaults to ${install_dir}/${clone_dir}/venv)
-#venv_dir="venv"
+venv_dir="-"
可以看 webui.sh,裡面有關 venv_dir之後就是自動...
$ ./webui.sh ################################################################ Install script for stable-diffusion + Web UI Tested on Debian 11 (Bullseye), Fedora 34+ and openSUSE Leap 15.4 or newer. ..這一版會自動下載 ckpt..
Downloading: "https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors" to /home...sion-webui/models/Stable-diffusion/v1-5-pruned-emaonly.safetensors其實需要..
sudo apt-get install google-perftools要安裝xformers 的話,可以啟動加上
$ ./webui.sh --xformers他檢查到沒有,就會安裝,之後就不用加這個 option。
2022/10/13
set default gw metrics for multiple NIC
因為有兩張網卡,都是m dhcp,所以最後會有兩個 metric 都是 100 的 default gw。
因為這兩個網卡網段不一樣。所以連線就會 fail。
要在 netplan 設定 route metrics。依照說明是用:
但是修改完用 netplan try,出現 Error: Error while loading /etc/netplan/50-cloud-init.yaml
所以只好用另一個方法:
因為這兩個網卡網段不一樣。所以連線就會 fail。
要在 netplan 設定 route metrics。依照說明是用:
enp3s0:
dhcp4: true
dhcp4-overrides:
route-metric: 200
大概是這樣,把 metric 設為 大於 100,就不會優先用他。但是修改完用 netplan try,出現 Error: Error while loading /etc/netplan/50-cloud-init.yaml
所以只好用另一個方法:
cp /run/systemd/network/10-netplan-enp4s0.network /etc/systemd/network/然後修改 /etc/systemd/network/10-netplan-enp4s0.network:
[DHCP] RouteMetric=200 ..
scp指定 NIC
要單獨取的某 interface 的 ip (v4)
要指定 scp 使用哪個 interface,就要...
ip -4 addr show enp3s0 | awk '/inet/ {print $2}' | cut -d/ -f1
要指定 scp 使用哪個 interface,就要...
scp -o BindAddress=192.168.145.58 myfile remotehost:~/如果要在 ip addr 的輸出中篩出來,就要先用 grep 過濾,
grep -A 2 enp3s0: ip-addr-out-file-A 2 就是show 後面兩行。
2022/10/12
cross compile mener (mender-client) for aarch64
其實就是照 官方文件 說的..
即使有把 libz.so 也放到 -L libpath,結果也一樣。
應該是沒有加上 -lz
所以只好依照官方文件,corss build openssl,這樣就會 disable zlib support,就不會需要 libz。
最後是偷懶把 openssl, xz 的 include/* copy 到 mylib/include,把 lib/* copy 到 mylib/lib
先加入 cross-compile toolpath
在宣告 cross compile tool:
其他這注意事項:
用 go 1.10 版失敗,先是說 main.go app 找不到,他一定要在 $GOPATH/src/github.com/mendersoftware,
但是照著 set GOPATH,clone ,error 變成語法錯誤。
最後還是改用 go 1.13 直接就成功了。
就 apt install golang-1.13,然後手動改 /usr/bin/go link 到 ../lib/go-1.13.0/bin/go
- cross build openssl
- cross build xz
- cross build mender (client)
即使有把 libz.so 也放到 -L libpath,結果也一樣。
應該是沒有加上 -lz
所以只好依照官方文件,corss build openssl,這樣就會 disable zlib support,就不會需要 libz。
最後是偷懶把 openssl, xz 的 include/* copy 到 mylib/include,把 lib/* copy 到 mylib/lib
先加入 cross-compile toolpath
在宣告 cross compile tool:
export CC=aarch64-linux-gnu-gcc然後 make
make CGO_CFLAGS="-I/home/charles-chang/mylib/include" CGO_LDFLAGS="-L/home/charles-chang/mylib/lib" CGO_ENABLE=1 GOOS=linux GOARCH=arm64 TAGS=nodbus如果要 dbus 的話,還要 cross compile glib
其他這注意事項:
用 go 1.10 版失敗,先是說 main.go app 找不到,他一定要在 $GOPATH/src/github.com/mendersoftware,
但是照著 set GOPATH,clone ,error 變成語法錯誤。
最後還是改用 go 1.13 直接就成功了。
就 apt install golang-1.13,然後手動改 /usr/bin/go link 到 ../lib/go-1.13.0/bin/go
2022/10/11
cross-compile openssl for linux-aarch64
Configure 有:
用 linaro 的話,安裝在 /usr/local/linaro-aarch64-2020.09-gcc10.2-linux5.4/bin/
toolchain prefix 是 aarch64-linux-gnu
Configure 中也有:
打開 configure 出來的 Makefile 看...
附帶 liblzma (xz) 的 cross-compile:
看 configure..
其他看 configure 可以知道,要 build static libary 的話,就 --enable-static (--enable-shared 是 default 就有的)
CROSS_COMPILE => env('CROSS_COMPILE'),
所以猜..用 linaro 的話,安裝在 /usr/local/linaro-aarch64-2020.09-gcc10.2-linux5.4/bin/
toolchain prefix 是 aarch64-linux-gnu
Configure 中也有:
--cross-compile-prefix=結果用了這個configure:
./Configure linux-aarch64 --cross-compile-prefix=aarch64-linux-gnu- --shared --prefix=/home/charles/myssl竟然就 build OK ?!
打開 configure 出來的 Makefile 看...
OPTIONS=--cross-compile-prefix=aarch64-linux-gnu- enable-shared --prefix=/home/charles-chang/myssl no-afalgeng no-asan no-buildtest-c++ no-crypto-mdebug no-crypto-mdebug-backtrace no-devcryptoeng no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fuzz-afl no-fuzz-libfuzzer no-heartbeats no-md2 no-msan no-rc5 no-sctp no-ssl-trace no-ssl3 no-ssl3-method no-ubsan no-unit-test no-weak-ssl-ciphers no-zlib no-zlib-dynamic原來所有 support lib option 都 off 了。
附帶 liblzma (xz) 的 cross-compile:
看 configure..
--host=HOST cross-compile to build programs to run on HOST [BUILD]其他就沒了,所以猜是
./configure --host=aarch64-linux-gnu --prefix=/home/charles-chang/myxz果然這樣make 就 OK 了。
其他看 configure 可以知道,要 build static libary 的話,就 --enable-static (--enable-shared 是 default 就有的)
訂閱:
文章 (Atom)
