学习Widevine服务

我不理解,为什么像Netflix、Spotify流媒体服务提供商,包括苹果、谷歌等公司,会使用数字版权管理。他们在我买的设备上,浪费我的硬件算力,加密我买的数字内容,以阻止我下载。君子也防?[doge]

本文尝试欺骗DRM License Server获取秘钥,来解密被DRM加密的多媒体内容。

阅读更多

理解Transformer模型2:训练Transformer

接着上一篇文章,任务目标依然是通过使用Transformer将英语翻译为意大利语,来理解Transformer是如何编写和训练的,同时本文还将通过可视化观察注意力模型的细节。文中将使用Hugging Face的opus_books作为训练集,通过Hugging Face的工具链完成数据集的下载,和将文本转换为词表的工作。

阅读更多

理解Transformer模型1:编写Transformer

回头看来,Attention Is All You Need这篇文章是所有大模型的根基,从MLP、CNN、RNN发展而来的船新版本特征提取器。这次跟着油管UP Umar Jamil对照论文通过手写transformer来学习这个划时代的算法。Coding a Transformer from scratch on PyTorch, with full explanation, training and inference。本文以翻译任务为例,展示如何使用pytorch手写一个将英语翻译为意大利语的Transformer。

阅读更多

OpenAI API尝鲜

chat.openai.com这个网页是相当的难伺候,即使你是美帝IP也得看在哪个机房,比如注明的某瓦工就进了微软爸爸的ban list,所以想尝试一下通过API的方式稳定聊天。

阅读更多

PingCap的Rust训练课程5:异步编程

前言

任务:通过自定义协议,使用异步网络创建一个多线程、持久化键/值存储的服务端和客户端。

目标

  • 了解在Rust中编写future时使用基本模式
  • 了解future的错误处理
  • 学会调试类型系统
  • 使用Tokio运行时执行异步网络
  • 使用boxed future处理棘手的类型系统问题
  • 使用impl Trait创建匿名Future类型

关键词:异步、future、tokio、impl Trait

阅读更多

PingCap的Rust训练课程4:并发与并行

前言

任务:使用自定义协议,创建一个具有同步网络的多线程、持久化键/值存储的服务端和客户端。

目标

  • 写一个简单的线程池
  • 使用通道进行跨线程通信
  • 利用锁共享数据结构
  • 无锁执行读操作
  • 对单线程与多线程版本进行基准测试

关键词:线程池、通道、锁、无锁数据结构、原子化、参数化基准测试。

阅读更多

PingCap的Rust训练课程3:同步的“客户端-服务端”网络模块

前言

任务:创建一个单线程、持久化的键/值存储的服务器和客户端,使用自定义协议进行同步联网

目标

  • 创建一个客户端-服务器应用程序
  • std库的网络API编写自定义协议
  • 为服务端引入日志记录功能
  • 用trait实现可插拔的后端
  • sled对手写的后端进行基准测试

关键词std::net、日志、trait、基准测试。

阅读更多

PingCap的Rust训练课程2:日志结构文件I/O

前言

任务:创建一个键/值存储程序,能够从命令行访问,支持持久化

目标

  • 编写健壮的错误和异常处理
  • 使用serde进行序列化
  • 使用标准文件API将数据作为日志写入磁盘
  • 从磁盘读取键/值数据的状态
  • 将内存中的索引键映射在磁盘的对应值上
  • 定期压缩日志以删除过期数据

关键词:日志结构文件I/O、bitcask、failurecrate、Read/Writetrait、serdecrate。

扩展练习:尝试使用structoptcrate。

阅读更多
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×