用MPSNN运行编译后的Core ML模型

Core ML已经出2.0了,性能进一步增强,但是之前就有的一个老问题还是存在:不支持任意大小图像的输入输出。虽然对于图像分类、语义分割来说问题不大,但是对图片滤镜类的卷积神经网络就不太友好了。MPSNN基于Metal Performance Shaders,作为iOS平台另一个机器学习框架,虽然学习曲线相对较陡,但是实际使用比Core ML灵活得多。除了支持任意图像大小外,还能动态更改模型,甚至可以将各种非机器学习的计算内核(Computing Kernel)也组合起来用。

iPhone XS/XS Max和新iPad Pro搭载了内置神经网络加速器的A12芯片。然而,waifu2x-ios在这块“性能怪兽”上似乎有点水土不服,输出图片会有明显的色阶(见此issue)。手上并没有设备进行调试,所以只能靠推测认为是因为神经引擎降精度运行导致的。即使有设备调试,也就能看看GPU Frame,多半也没有什么好解决办法,因为Core ML内部就是个黑盒,外面无从得知里面到底怎么运行的,更不可能通过一些手段介入。所以,是时候考虑增加MPSNN作为后端了。

在Steam Link盒子上安装OpenWrt包管理器opkg

Steam LinkV社出的一款游戏流式盒,可以将电脑游戏无线传输到电视上,也可以当成无线显示器用。在VirtualHere的加持下,甚至可以远程传输各种USB设备。由于底层基于Linux,在安装应用后也可以完全脱离PC使用。尽管官方提供SDK,似乎没有什么人真的去开发应用。同时受限于性能,可玩性不算很高。不过,由于硬件规格十分接近路由器,在上面跑个OpenWrt环境是完全可行的。

用Bash和Automator实现mac自动更换在线壁纸

Windows Store上有一款叫做老司機鎖屏的应用,可以自动从yande.re下载最新图片并设置为桌面或锁屏壁纸。除了默认的yande.re开车路线外,也支持用自定义地址与XPath创建其他路线。可惜,这个有趣的应用在macOS上并没有类似的替代品。不过通过编写Automator(自动操作)中运行的bash脚本完全可以实现和这个应用相同的功能。

在Python中正确地将RGB转换成YCbCr

计算机对于颜色的存储有很多种不同的格式,其中最常见的就是RGB了。不过在很多计算机视觉的应用中,我们并不需要颜色信息,这时将颜色转换成YUV就可以在不丢失图片主要信息的前提下节约大量空间。然而,自古以来YUV的标准就相当混乱。最标准的格式应该是YCbCr,具体规范为ITU-R BT.601。不过JPEG的YUV格式更为常见。尤其要命的是,很多库自称是YCbCr,但实际上的实现并不标准,经常和JPEG的YUV混淆,典型的例子就是Python中的Pillow。如果只是使用Pillow库,就算不知道这个问题也不会影响使用。但在Python和MATLAB的软件混合使用的时候就会带来非常多不必要的麻烦。

在未越狱的iOS设备上运行简陋的Linux系统

众所周知,由于iOS的封闭性,在不越狱的情况下应用被严格限制在各自的沙盒内,无法访问任何其他未经授权的文件。同时,每个应用或扩展(extension)只允许运行一个进程,这样使未越狱的iOS上无法运行原生的shell。最近AppStore批准了一款叫Terminal开源应用,实现了简易的shell,并可以运行少数几个Unix命令。其思想很简单,用创建线程代替创建进程,很多如curl的命令完全可以运行。所有代码都封装进framework中,也可以实现self-contained。事实上,如果愿意折腾的话,完全可以通过模拟器的方式实现真正的Linux Shell。

使用IIS做HTTP和WebSocket服务的反向代理

反向代理对于服务器来说是非常实用的功能,可以将毫不相关的网站部署到同一个域名下,对于使用docker的人来说可以免去大量配置上的麻烦。它还能将HTTP流量转换成HTTPS,多个服务只需要一个证书就能解决。

对于nginxApache,网上已经有大量教程,不管是什么样的服务都能找到相应的配置。然而由于使用IIS的人数相对较少,对于IIS的反向代理几乎没有什么人去研究。连进行URL重写的AAR模块也没什么相关资料。

在iOS应用中读取Smart Keyboard等物理键盘的原始输入

加入了Apple Developer Program后就能生成长达1年有效期的Wildcard证书,烦人的开发证书7天限制再也没有了,相信无论是谁都会忍不住在自己的iOS设备上安装各种AppStore上无法上架的应用。

最近在折腾各种iOS的模拟器游戏,从能装Windows 95的dospad到覆盖全平台的PPSSPP都玩了个遍。但是,除了dospad之外都普遍存在一个问题:不兼容iPad Pro的Smart Keyboard。

|