Sha256: 4b3384113dbace403e3e62f2fdf60f1784cc4202122cb2140ea08d43a9833231

Contents?: true

Size: 1.08 KB

Versions: 3

Compression:

Stored size: 1.08 KB

Contents

require 'onnx-chainer/operator'

module OnnxChainer
  module Operators
    class Relu < Operator
      class << self
        def parse(node, input_names, inputs, output_name_index)
          need_initialized = node.input.any? { |i| inputs.map(&:name).include?(i) }

          output_names = {
            node.output.first => "r#{output_name_index}"
          }
          instance_variable_name = "@r#{output_name_index}"

          self.new(input_names: input_names, output_names: output_names, instance_variable_name: instance_variable_name, need_initialized: need_initialized)
        end
      end

      def initialize(input_names:, output_names:, instance_variable_name:, need_initialized:)
        @input_names = input_names
        @output_names = output_names
        @instance_variable_name = instance_variable_name
        @need_initialized = need_initialized
      end

      def chainer_class
        ::Chainer::Functions::Activation::Relu
      end

      def to_call_string(args)
        "#{@output_names.values.first} = #{chainer_class}.relu(#{args.join(', ')})"
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
onnx-red-chainer-0.1.2 lib/onnx-chainer/operators/relu.rb
onnx-red-chainer-0.1.1 lib/onnx-chainer/operators/relu.rb
onnx-red-chainer-0.1.0 lib/onnx-chainer/operators/relu.rb