Deep learning memo

1
2
3
import netron
modelPath = "models.onnx"
netron.start(modelPath)

then browse to http://localhost:8080.
onnx to trt

1
./trtexec --onnx=Resnet34_3inputs_448x448_20200609.onnx --saveEngine=Resnet34_3inputs_448x448_20200609.trt --workspace=6000

TensorRT docs https://docs.nvidia.com/deeplearning/tensorrt/api/c_api/classnvinfer1_1_1_i_runtime.html

Precision of time_since_epoch

1
2
#include <chrono>
uint64_t timestamp = std::chrono::system_clock::now().time_since_epoch().count();

'timestamp' is in ns, not in us(μs or microsecond).

1
2
3
4
5
6
1 s = 1000 ms
1 ms = 1000 μs
1 μs = 1000 ns
1 ns = 1000 ps
 
2 GHz = 2 x 10^9 Hz, its 1 circle has 0.5 ns long.

Build protobuf in Windows

git clone https://github.com/protocolbuffers/protobuf.git
cd protobuf
git submodule update --init --recursive

mkdir bld
cd bld
cmake -G "Visual Studio 16 2019" -DCMAKE_INSTALL_PREFIX=%CD%/installed -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_BUILD_SHARED_LIBS=ON ../cmake/

If the project which we link with the protobuf.so complains "libprotobuf.so.22 is not found", it means we build protobuf in another way, through ./configure.

Cpu Affinity

from 宋宝华:
https://www.toutiao.com/article/6937097613720191520/

1
2
3
4
5
6
7
8
9
10
11
12
# grub.cfg, cpu order number starts from 0.
	linux ... isolcpus=2
 
# bash
taskset -cp 2 662
cat /proc/interrupts
cat /proc/irq/44/smp_affinity
 
# make menuconfig
NO_HZ_FULL
NO_HZ_IDLE
Documentation/timers/no_hz.rst

Could NOT find CARES

When I built wireshark in ubuntu, it emitted this error.

The correct packages to install are

1
2
3
4
5
sudo apt install libgcrypt20-dev libc-ares-dev libpcap-dev
mkdir bld
cd bld
cmake .. -DCMAKE_INSTALL_PREFIX=`pwd`/installed -DCMAKE_PREFIX_PATH=/home/work/3rdParty/qt/5.15.2/gcc_64
#.

转载:日语口语中常用省略形式介绍

一、日语口语省略形

1「い」

在口语中,接在「て」之后的「い」音常会被省略掉。

~ている→てる
~ていられない→てられない
~ていく→てく

2ちゃ/じゃ/きゃ

~ではない→じゃない
~なければならない→なきゃならない
ちゃった→てしまった
じゃった→でしまった
ちゃう→てしまう

3「りゃ」

これは→こりゃ
すれば→すりゃ
闻いていれば→闻いてりゃ

4「形容词~くって」

形容词~くって其后省略了「たまらない(非常)」。为口语强调型。

忙しくてたまらない→忙しくって忙死了

5「とく」

「とく」是「ておく预先、保持某种状态」的口语简略形

ておく→とく
ておいて→といて
ておけば→とけば

二、口语中的拨音便

1ら行常会音变成「ん」音。

信じられない→信じらんない
~てる→てん
ふざけるな→ふざけんな
なってるの→なってんの
分からなくて→分かんなくて

【注意】

「の」之前所接若为「る」时,此时的「る」通常会发「ん」音。

2「の」口语形式也常会发「ん」音。

~のだ→んだ
~ので→んで
~もの→もん

refer to:
http://www.wushiyintu.com/kouyu-1116.html

C++ memo

Terms,

1
2
RTTI: Runtime Type Identification		// typeid
RAII: Resource Acquisition Is Initialization	// std::mutex