积累日常生活的点滴,开发过程的心得。

docker中安装pip也需要指定版本

今天遇到一个问题,docker中使用RUN pip install --upgrade pip升级到最新版本,导致gym无法安装。报告下面错误

pip._vendor.packaging.requirements.InvalidRequirement: Expected matching RIGHT_PARENTHESIS for LEFT_PARENTHESIS, after version specifier
opencv-python (>=3.) ; extra == 'all'

所以docker image中所有的命令都应该指定版本,特别apt-get update这种命令会导致每次生成的docker image都不一样,非常讨厌。

ggml和onnx的区别

主要的区别就是ggml优点支持q4的量化,这样可以使得它可以在较低配置的机器上跑大模型。onnx好像是不行的。
ggml缺点是它的模型文件只有权重信息,没有网络结构,这导致你必须自己手写代码来实现网络结构,onnx的模型是包含网络结构的,不用从头手撸网络结构。ggml的网络结构定义写起来很繁琐,不知道为啥没有人实现ggml动态的网络结构定义。

清理docker空间的命令

sudo docker image prune --filter="dangling=true"

Docker Container连不上的问题

用VSCode连接remote docker,报告下面的错误

Docker not running on Ubuntu WSL due to error cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? [closed]

https://stackoverflow.com/questions/61592709/docker-not-running-on-ubuntu-wsl-due-to-error-cannot-connect-to-the-docker-daemo

原因:Docker Desktop每次升级完之后,会把默认连接WSL2的Ubuntu引擎给去掉,不知道为啥,还需要手工重置一下,真tmd烦人。

如何在Windows Host的vmware中安装Mac OSX 最新版本

https://forum.amd-osx.com/threads/mac-os-install-on-amd-ryzen-vmware-opencore.4696/

好用的清理docker image的命令

docker rmi $(docker images -qf dangling=true)

sdl_mixer1.2和2.x的一个处理区别导致的音量变小的bug

很久以前就发现使用sdl_mixer播放的声音音量相比SDL变小了,以前sdl_mixer 1.2的时候没有这个问题,这个问题困扰我很久,我一直以为是sdl_mixer2.x的regression bug。

5.1放假正好有空研究了一下sdl_mixer的代码,终于发现问题的原因了,现在我们注册一个effect,不会直接修改输出的声音流,而是跟原始的声音做一个resample,因为原始声音都是0,所以mix后音量就变小了。看了一下代码,要想直接改原始的声音流,可以通过注册一个music effect来实现,改了以后测试了一下,声音确实变大了。

lanczos应该是比较好的缩小算法

我测试了一下,感觉比bilinear,bicubic啥的要好很多。

将pytorch迁移到onnx失败了

https://pytorch.org/docs/stable/onnx_torchscript_supported_aten_ops.html

onnx很多pytorch的operator还不支持,很多模型无法导出为onnx

libtorch的dll实在是太大了

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

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

同步内容