想用Ruby做Deeplearning推论吗?
是的,你可以!
准备
-
ONNXRuntime 及其由 Andrew Kane 创建的 Ruby binding .
st.rb
require 'magro'
require 'onnxruntime'
model = OnnxRuntime::Model.new('')
input = Magro::IO.imread(ARGV[0])
.transpose(2, 0, 1)
.expand_dims(0)
.to_a
output = model.predict(input1: input)
result = Numo::Int32[*output['output1'][0]]
.clip(0, 255)
.transpose(1, 2, 0)
.cast_to(Numo::UInt8)
Magro::IO.imsave(ARGV[1], result)
实行
输入图像大小应为4的倍数。
ruby st.rb in.jpg out.jpg
生成的图像
https://commons.wikimedia.org/wiki/File:Arimatsushibori.JPG 1
candy
mosaic
pointilism
rain_princess
udnie
美丽的画面。
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) ↩︎