-
表意文字词嵌入思考
中文作为表意文字感觉更加容易词嵌入才对,可以直接把文字变成像素,然后用像素`0`和`1`直接嵌入。例如`妹`和`姐`很好建立联系。现在还有一个问题想不明白,例如`女`和`媳`有关系,但是像素上面关系有点弱,有什么办法通过变形将两者关联起来。是不是可以将左右结构、上下结构作为一个维度,这样加上平面的二维就是一个三维张量了。
词嵌入 表意文字 -
找不到rknn模块
最近研究使用`rk3568`的`npu`运行`onnx`模型,但是每次总是提示`ModuleNotFoundError:Nomodulenamed'rknn'`。但是我已经安装了`rknn-toolkit2`,并且没有报错。最后发现使用`x64`系统安装`rknn-toolkit2`就没问题了。
rknn -
搜索引擎屏蔽部分网站
上述条件`-site:域名`,如下:```什么是Java-site:*.csdn.net-site:*.zhihu.com```
搜索引擎 -
好用的ppa库
[https://launchpad.net/ubuntu/+ppas](https://launchpad.net/ubuntu/+ppas)##FFmpeg```savoury1/ffmpeg6savoury1/ffmpeg7ppa:ubuntuhandbook1/ffmpeg6ppa:ubuntuhandbook1/ffmpeg7```##wxWidgets```ppa:leamas-alec/wxwidgets3.2```
ppa -
LibTorch短时傅里叶变换
```/***短时傅里叶变换**201=win_size/2+1*480=7|4800=61|48000=601*[1,201,61,2[实部,虚部]]**@parampcmPCM数据*@paramn_fft傅里叶变换的大小*@paramhop_size相邻滑动窗口帧之间的距离*@paramwin_size窗口帧和STFT滤波器的大小**@return张量*/externtorch::Tensorpcm_stft(std::vector&pcm,intn_fft=400,inthop_size=80,intwin_size=400);/***短时傅里叶逆变换**@paramtensor张量*@paramn_fft傅里叶变换的大小*@paramhop_size相邻滑动窗口帧之间的距离*@paramwin_size窗口帧和STFT滤波器的大小**@returnPCM数据*/externstd::vectorpcm_istft(consttorch::Tensor&tensor,intn_fft=400,inthop_size=80,intwin_size=400);torch::Tensorlif...
libtorch stft istft -
H5五线谱钢琴演奏
一个基于`H5`的`musicxml`的钢琴演奏项目。地址:[https://gitee.com/acgist/demo/tree/master/piano](https://gitee.com/acgist/demo/tree/master/piano)
五线谱 musicxml -
VSCode
今天彻底放弃`eclipse`,全面拥抱`VSCode`,为了彰显我的诚意快捷键直接改为`VSCode`,去掉`eclipse`快捷键插件了。下面一些常用插件:
VSCode 编辑器 -
Ubuntu升级
升级步骤:```#更新软件sudoaptupdatesudoaptupgradesudoaptdist-upgradesudoaptautoremovesudoaptclean#更新系统sudodo-release-upgrade-csudodo-release-upgrade-d```如果提示没有`LTS`版本就去掉`-d`参数,还是建议使用`LTS`版本,除非你是开发人员或者尝鲜人员。
Ubuntu -
wxWidgets hidpi导致模糊问题
现在很多电脑都是高清屏,但是使用的时候字体太小所以很多都会缩放屏幕,这样就会导致一些软件变得模糊。`Win`解决方案有两个:##手动设置##代码设置```#include"WinUser.h"SetProcessDPIAware();````Linux`和`Mac`没接触过🤡🤡🤡
wxWidgets hidpi -
vcpkg总结
不得不说有了`vcpkg`之后,`windows`的包管理也非常方便了,这里总结一些技巧。##常用命令```vcpkgsearchvcpkginstallvcpkglistvcpkgremove```##重新编译安装```--recurse```##指定`64`位系统```#命令vcpkginstallwxwidgets:x64-windows#环境变量VCPKG_DEFAULT_TRIPLET=x64-windows```##清理垃圾```downloads:下载文件可以删除(但是不建议删除里面包含工具链)buildtrees:编译目录可以删除```
vcpkg -
文档结构
总结一些常用文档结构```背景(目标)方案设计流程...总结(结果、风险、问题)优化(后续工作)开发计划技术风险测试报告常见问题```
文档结构 -
ldconfig导致连接失效
```ln-sf/usr/local/lib64/libstdc++.so.6.0.29/usr/lib64/libstdc++.so.6```上面的连接文件执行`ldconfig`之后连接就会失效,需要先连接全名,然后再次连接文件即可。```ln-sf/usr/local/lib64/libstdc++.so.6.0.29/usr/lib64/libstdc++.so.6.0.29ln-sf/usr/lib64/libstdc++.so.6.0.29/usr/lib64/libstdc++.so.6```
ldconfig -
GLIBC安装问题
**升级`GLIBC`容易导致系统崩溃,所以建议多开几个`SSH`窗口,同时建议一个版本一个版本升级,版本跨度不要太大。**```2.17->2.28可以2.17->2.3x不行``````无法识别的选项"--gdwarf-4"```这个是`as`版本太低导致的,连接一个新的即可。```ls:relocationerror:/lib64/libpthread.so.0:symbol__libc_dl_error_tsd,versionGLIBC_PRIVATEnotdefinedinfilelibc.so.6withlinktimereference```升级`glibc`可能会导致系统崩溃,使用下面命令还原:```sln/usr/lib64/ld-2.17.so/usr/lib64/ld-linux-x86-64.so.2sln/usr/lib64/libc-2.17.so/usr/lib64/libc.so.6sln/usr/lib64/libm-2.17.so/usr/lib64/libm.so.6```下面问题可以忽略:```PleasereadtheFAQandtheREADMEfile...
GLIBC -
VSCode配置Java
##配置不同版本```"java.configuration.runtimes":[{"name":"JavaSE-17","path":"C:\\develop\\java\\jdk-17.0.1"},{"name":"JavaSE-11","path":"C:\\develop\\java\\jdk-11.0.2","default":true},{"name":"JavaSE-1.8","path":"C:\\develop\\java\\java-se-8u41-ri"}]```##配置编码```{"configurations":[{"type":"java","name":"Application","request":"launch","mainClass":"com.acgist.snail.javafx/com.acgist.main.Application","projectName":"snail.javafx","encoding":"UTF-8"}]}```
VSCode Java -
libtorch项目cuda错误
##requiresthelanguagedialect"CUDA23"```CMakeErrorin/data/lifuren/build/CMakeFiles/CMakeTmp/CMakeLists.txt:Target"cmTC_c4c9f"requiresthelanguagedialect"CUDA23"(withcompilerextensions),butCMakedoesnotknowthecompileflagstousetoenableit.CMakeErroratdeps/libtorch-gpu/share/cmake/Caffe2/Modules_CUDA_fix/upstream/FindCUDA/select_compute_arch.cmake:120(try_run):Failedtogeneratetestprojectbuildsystem.CallStack(mostrecentcallfirst):deps/libtorch-gpu/share/cmake/Caffe2/Modules_CUDA_fix/upstream/FindCUDA/select_compute...
libtorch cuda -
获取apt包的下载地址
```sudoaptinstall--reinstall--print-urislibyaml-cpp-dev```
apt -
CentOS配置named作为DNS解析服务
```yuminstallbindbind-utilsfirewall-cmd--permanent--add-service=dnsfirewall-cmd--reloadvim/etc/named.conf---listen-onport53{any;};listen-on-v6port53{any;};allow-query{any;};---vim/etc/named.rfc1912.zones---zone"acgist.com"IN{typemaster;file"/etc/acgist.com.zone";};---vim/etc/acgist.com.zone---;@=本域$TTL1D@INSOA@acgist.com.(01H10M1D3H)INNS@;@INA127.0.0.1;wwwtestINA10.0.0.1;子域demoINA10.255.163.252;子域---chownnamed:named/etc/acgist.com.zonesystemctlrestartnamedsystemctlenablenamednslookupacgist.com127.0.0.1nsloo...
CentOS named DNS -
FFmpeg片段
##SDP输入```constAVInputFormat*iformat=av_find_input_format("sdp");AVDictionary*format_opts=NULL;av_dict_set(&format_opts,"sdp_flags","custom_io",0);avformat_open_input(&inputFormatCtxPtr,"video.sdp",iformat,&format_opts);```##RTP配置```AVDictionary*options=NULL;//av_dict_set(&options,"pkt_size","1400",0);//av_dict_set(&options,"buffer_size","102400",0);//av_dict_set(&options,"send_buffer_size","102400",0);av_opt_set_int(outputFormatCtxPtr->priv_data,"payload_type",96,0);avio_open2(&a...
FFmpeg -
技术路线
整理一下以后技术路线##代码*逻辑*安全*性能##操作系统LinuxDebianUbuntuWindows##业务后台DubboSpringBootSpringCloudSpringCloudAlibaba##音视频FFmpegOpenCVWebRTCMediasoup##网络编程TCP/IPTCP/UDP/RTP/HTTP...socket/asio/muduo/libcurl/libev/libuv/libevent##人工智能PyTorchLibTorchTensorRTOpenVINOONNXRuntime##硬件CPUGPUMEM##财富基金股票医疗、科技、能源、芯片##分析调试gdbperfgprofvalgrind>真别再去看什么嵌入式开发、驱动开发了🤡🤡🤡学不动了,现在需要的是深度了不是广度了。
技术路线 -
FFmpeg内存模式fmp4
```if(!this->start){//I帧AVDictionary*options=nullptr;//frag_keyframe+empty_moov//frag_keyframe+empty_moov+default_base_moof//frag_keyframe+delay_moov+default_base_moof+faststart//Winh264_mf可以使用delay_moov|empty_moov//Linuxlibx264只能使用delay_moov否则空头可能解析失败av_dict_set(&options,"movflags","frag_keyframe+delay_moov+default_base_moof+faststart",0);avformat_write_header(this->formatCtx,&options);av_dict_free(&options);this->start=true;}```网上很多都是`empty_moov`但是`Linux`使用`MediaSource`播放保存,改成`delay_m...
FFmpeg FMP4