Blogs

libtorch的dll实在是太大了

晕死,带CUDA支持的分发包基本都是1G以上

https://github.com/pytorch/pytorch/issues/34058

delphi的eco system实在是太差了

以前一直在用lockbox2做rsa加密,这玩意有严重的bug,加密后的文本经常无法解密。

今天试了半天lockbox3,tmd一堆bug,完全没法用,查了一下网络上用的人也非常少。RSA这么常见的算法,就没有一个靠谱的原生的库来处理。我晕,最后还是不得不使用openssl来做rsa的加解密。还是C的生态靠谱。

追记:CnPack Crypto Library 这个也对应了RSA,改天有空试试。

delphi的win64 debugger慢的跟狗屎一样

firemonkey的绘图函数的缩放坑

对Bitmap的Canvas调用FillEclipse这些函数使用的rect需要针对TBitmap.BitmapScale做缩放,在不同的dpi下面,这些函数描画时会进行缩放。
我用位图坐标去画圆,总是被偏移了25%,发现位图的scale是1.25。这个变化应该是对highdpi对应时追加的处理。

Firemonkey中创建自定义Cursor的坑

坑1:需要写一个自定义的CursorService,
参考https://stackoverflow.com/questions/26025572/how-to-load-custom-cursor-in-firemonkey
坑2:
创建的光标显示错位。用了一个在线的png to cursor生成的光标不对,

后来换成了https://www.cursor.cc/就OK了,应该里面有一些别人不知道的know how

C++Builder号称更新到了CLang15,但是实际编译体验还是像翔一样

想着用它编译一下libtorch相应的例子,编译一大堆错误,VS2022编译起来极其湿滑,一点错误没有。

libtorch使用中遇到的一些坑

libtorch是个C++的库,不像tensorflow那样提供了C的api,用起来有点不方便
自己去下载的库有很多问题,执行过程中会crash,我后来使用的下面这个网站下载的库
https://pytorch.org/get-started/locally/

图像转换这块,libtorch没有提供numpy的接口,所以,要用opencv读进来,然后用from_blob去转换,这里面还有几个坑。以后有空会说。

创建的Tensor一定要注意不仅是Shape要跟模型要求的一致,而且数据类型也要一致,否则出力结果会莫名其妙。使用模型推导,可以直接Model(input), 也可以用Model.forward。两者是等价的。

编译32bit的webrtc的windows release library

set WINDOWSSDKDIR=D:\Windows Kits\10
set vs2022_install=d:\Program Files\Microsoft Visual Studio\2022\Community
set GYP_MSVS_OVERRIDE_PATH=d:\Program Files\Microsoft Visual Studio\2022\Community
set GYP_GENERATORS=msvs-ninja,ninja
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_MSVS_VERSION = 2022

使用老的visual studio professional

set WINDOWSSDKDIR=D:\Windows Kits\10
set vs2022_install=C:\Program Files\Microsoft Visual Studio\2022\Professional
set GYP_MSVS_OVERRIDE_PATH=C:\Program Files\Microsoft Visual Studio\2022\Professional
set GYP_GENERATORS=msvs-ninja,ninja

Flutter创建图标

发现还是flutter_launcher_icons这个插件比较方便,XCode默认的工程就没有Default Icon,我测试程序还去专门找了一个网站生成的图标。真是操蛋

Flutter 的IOS build

好久没有发布Flutter的IOS程序,都忘了怎么搞了

1.打开ios目录下的Runner工程,修改为有效的签名
1.在工程目录下执行flutter build ios, 执行这步就不需要手工执行pod install了,否则编译会报告各种native的module找不到的错误。

Syndicate content