使用 Ruby 实现 LeNet-5 卷积神经网络
如何在 Ruby 中实现一个 LeNet-5 卷积神经网络 (CNN) 结构,使用 MNIST 数据集在 PyTorch 上进行训练,最后将训练好的模型参数导入到我们自己的实现中?
如何在 Ruby 中实现一个 LeNet-5 卷积神经网络 (CNN) 结构,使用 MNIST 数据集在 PyTorch 上进行训练,最后将训练好的模型参数导入到我们自己的实现中?
Ruby (MRI, Matz’s Ruby Interpreter) 与 MSVC 的兼容性不好,想要在 Visual C++ 中使用 Ruby 作为脚本语言来运行,可以选择 mruby。本篇文章介绍如何在 Windows 上编译 mruby,并在 Visual C++ 项目中添加 mruby 的标头和库文件。
在之前的一篇文章 Ruby 中的扩展方法 中,我们对比 Scala 扩展方法,介绍了一种在 Ruby 中给现有类添加新方法的方式,称为“打开类”,这篇文章将继续这个主题,并介绍 Ruby 中的单例类(Singleton Class)。
很多大型项目引入脚本语言来提高灵活性。例如当在 IDEA 中调试时进入断点后,IDE 允许我们写一段 Groovy 脚本来检查上下文;在 Nginx 中,编写 Lua 脚本来扩展功能;运行在浏览器中的 JavaScript 能对页面的功能进行增强。本篇文章我们来尝试一下在 C 中运行 Ruby 脚本。
Ruby 的执行流程与 JVM 类似,它会先将源码编译成字节码,再由 RubyVM 执行。我们利用 Ruby 的解析器 Prism 和 RubyVM::InstructionSequence 两个工具对 Ruby 的执行流程进行初探。