O'Reilly Japan - ゼロから作るDeep LearningのP.12辺りのサンプルが動くか試してみる。

PyCallのインストール

$ ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]

$ bundle init

# Gemfile
gem 'pycall'

$ bundle

numpy.rb

require 'bundler'
Bundler.require

require 'pycall/import'
include PyCall::Import
pyimport 'numpy', as: :np

x = np.array.([1.0, 2.0, 3.0])
y = np.array.([2.0, 4.0, 6.0])
p x + y # array([ 3.,  6.,  9.])

A = np.array.([[1, 2], [3, 4]])
p A # array([[1, 2],
    #        [3, 4]])
p A.shape # (2, 2)
p A.dtype # dtype('int64')

B = np.array.([[3, 0], [0, 6]])
p A + B # array([[ 4,  2],
        #        j[ 3, 10]])
$ bundle exec ruby numpy.rb 

普通に動いた!

参考

ソース

https://github.com/tnantoka/hello-pycall