CLIP+VQGAN 风格关键词示例

Disco Diffusion 是最近比较火的多模态 AI 图像生成系统,可以通过英文文本描述直接生成质量还不错的画作。 该系统生成图像的风格受到若干关键词的强烈影响,因此社区中一个热点就是寻找各种风格独特的关键词组合。imgur 上有位网友 @kingdomakrillic 整理了一份 CLIP + VQGAN 生成图像的风格关键词示例,基本上可以直接套用到 Disco Diffusion 系统中,非常有用!

Read More

自动配置网线直连数据传输方案

背景

在很多场景下(手头没有 U 盘、某台电脑 USB 口不可用或没有足够权限安装存储设备驱动等等),我们都需要通过网线直连的方式在两台电脑之间传输数据,这样就要求正确地将两台电脑设置为同一子网下的不同静态 IP。对于电脑知识较为丰富的用户来说此设置过程非常简单,但对于一般用户来说就比较困难了,此时就希望通过程序自动配置好这种网络环境。

Read More

Ubuntu 18.04 LTS 中让桌面系统不占用 N 卡显存的方法

背景

使用自己电脑的 N 卡进行 CUDA 加速时都希望能使用全部显存,但在 Ubuntu 18.04 LTS 中安装官方专有驱动后,如果用 nvidia-settings 将 PRIME profiles 设为 Nvidia,会让包括 X 桌面在内的所有图形加速功能都走 N 卡,会占用不少显存。若将 PRIME profiles 改为 Intel,N 卡驱动又不会被加载,无法使用 CUDA 加速。

Read More

Java 正则库 bug 一例

一日同事尝试用 Java 正则库匹配某模式总是抛出 String index out of range 异常,百思不得其解。经过一番研究,得到了这样一个最小复现用例:

1
2
3
4
5
6
7
8
9
10
11
import java.util.regex.*;
public class RegexBug {
public static void main(String[] args) throws Exception {
String s = "x"+Character.highSurrogate(0x10000)+Character.lowSurrogate(0x10000);
Pattern p = Pattern.compile("(.)*xx");
Matcher m = p.matcher(s);
if(m.find()) {
System.out.println("matched");
}
}
}

Read More

IPython Notebook 转成 LaTeX 时的中文问题解决方案

从 IPython 1.0 开始 IPython Notebook 就自带了 nbconvert 工具,可以将 notebook 转换为 HTML/LaTeX/Markdown/reStructure/Slides 等多种外部格式,以方便内容的快速重用。从内容展现的一致性上看,将 notebook 转成 LaTeX 再处理为 PDF 文件是表现最好的,因此使用频率也最高,然而当 notebook 中出现中文时,默认生成的 LaTeX 文件无法进行支持,会导致最终生成的 PDF 文件中中文部分都是空白。经过实验,对生成的 LaTeX 文件进行如下手工修改可以快速修正此问题:

Read More

OpenJDK 中查看 JIT 编译结果的方法

背景

大家都知道 JVM 有 HotSpot 引擎可以对热代码路径进行有效的 JIT 优化,大幅度提升计算密集代码的性能,但 HotSpot 对自己编写的 Java 代码时进行了哪些 JIT 优化?优化后生成的 native code 长什么样?知道了这些信息之后,才能有的放矢地改进自己的代码。

Read More