Skip to content

M-Quadra/Irokane

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Irokane

MPSGraph DSL,辅助建图。

移植 torch 模型至 CoreML 后,遭遇各类 CPU-only op 与推理加速降级。

一气之下想强上 GPU,瞅了眼 MPSGraph,不顺手。

好累,不想爱了。

不行,云老婆就是我所有的爱。

手动拆模型,实现是重写 CPU-only 部分积攒的。精神不佳,太监可能。

就结果而言,大体与我的人生一样失败。

开源献丑。

导入说明

仅支持 SwiftPM,建议最低兼容 iOS17。

快速开始

  • 输入输出
import Irokane

func forward(x: MLMultiArray) throws -> MLMultiArray {
    let graph = Irokane.Graph()
    
    let x = try x.ik.to(graph: graph)
    let y = x + 1
    
    return try y.tensorData().ik.toMLMultiArray()
}
  • Functional 引用
import Irokane
fileprivate typealias F = Irokane.Functional

let y = F.pad(x, pad: (3, 4))
let y = F.pad(x, pad: [(0, 0), (1, 0), (0, 0)])
let y = F.softmax(x, dim: -1)
  • 切片操作
x[mask] .= y
x[..., 1] .= 2
// x[..., None] >= y
x[..., .none] >= y
// x[:, :-1]
x[.all, ..<(-1)]

其他文档

随缘施工。

Irokane.Graph

CoreML 踩坑记录

MPSGraph 踩坑记录

Releases

No releases published

Packages

No packages published

Languages