ruby-dnn 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/lib/dnn/core/layers.rb +13 -4
 - data/lib/dnn/core/version.rb +1 -1
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: a9bd42ca5cbea3b4a3abd984157df19cf87ca2a6ba80a3a76cf155e020582508
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 2be2b617347618bf18d140e1ed4b5ede5d3a0f6540d6bc18217ae9b86c22aa2d
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 9077ebdf09fbc33d5b163c9ef2bd9ec4bb6681b87e5f638db25d6fbc46603ba50a8a6cb81123a42e07984636d2055fae3ed54712f11df815d856854a5845973d
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 5b3c56027727a7dee1f1cbae31c6ddd887d5ea7cf015c1d111942e6c518579ffc607c8c38c13702e77f86ad9b4428d27296287fd3c2b13e02a77992b5360900b
         
     | 
    
        data/lib/dnn/core/layers.rb
    CHANGED
    
    | 
         @@ -188,6 +188,12 @@ module DNN 
     | 
|
| 
       188 
188 
     | 
    
         
             
                    img2[true, true, pad...(ih + pad), pad...(iw + pad)] = img
         
     | 
| 
       189 
189 
     | 
    
         
             
                    img2
         
     | 
| 
       190 
190 
     | 
    
         
             
                  end
         
     | 
| 
      
 191 
     | 
    
         
            +
             
     | 
| 
      
 192 
     | 
    
         
            +
                  def back_padding(img, pad)
         
     | 
| 
      
 193 
     | 
    
         
            +
                    i_end = img.shape[2] - pad
         
     | 
| 
      
 194 
     | 
    
         
            +
                    j_end = img.shape[3] - pad
         
     | 
| 
      
 195 
     | 
    
         
            +
                    img[true, true, pad...i_end, pad...j_end]
         
     | 
| 
      
 196 
     | 
    
         
            +
                  end
         
     | 
| 
       191 
197 
     | 
    
         
             
                end
         
     | 
| 
       192 
198 
     | 
    
         | 
| 
       193 
199 
     | 
    
         | 
| 
         @@ -246,7 +252,8 @@ module DNN 
     | 
|
| 
       246 
252 
     | 
    
         
             
                    end
         
     | 
| 
       247 
253 
     | 
    
         
             
                    @grads[:bias] = dout.sum(0)
         
     | 
| 
       248 
254 
     | 
    
         
             
                    dcol = dout.dot(@params[:weight].transpose)
         
     | 
| 
       249 
     | 
    
         
            -
                    col2im(dcol, @x_shape, @out_height, @out_width, @filter_height, @filter_width, @strides)
         
     | 
| 
      
 255 
     | 
    
         
            +
                    dx = col2im(dcol, @x_shape, @out_height, @out_width, @filter_height, @filter_width, @strides)
         
     | 
| 
      
 256 
     | 
    
         
            +
                    @padding ? back_padding(dx, @padding) : dx
         
     | 
| 
       250 
257 
     | 
    
         
             
                  end
         
     | 
| 
       251 
258 
     | 
    
         | 
| 
       252 
259 
     | 
    
         
             
                  def shape
         
     | 
| 
         @@ -293,11 +300,12 @@ module DNN 
     | 
|
| 
       293 
300 
     | 
    
         
             
                    super
         
     | 
| 
       294 
301 
     | 
    
         
             
                    prev_height, prev_width = prev_layer.shape[1], prev_layer.shape[2]
         
     | 
| 
       295 
302 
     | 
    
         
             
                    @num_channel = prev_layer.shape[0]
         
     | 
| 
       296 
     | 
    
         
            -
                    @out_height = (prev_height - @pool_height) / @strides[0] + 1
         
     | 
| 
       297 
     | 
    
         
            -
                    @out_width = (prev_width - @pool_width) / @strides[1] + 1
         
     | 
| 
      
 303 
     | 
    
         
            +
                    @out_height = (prev_height + @padding * 2 - @pool_height) / @strides[0] + 1
         
     | 
| 
      
 304 
     | 
    
         
            +
                    @out_width = (prev_width + @padding * 2 - @pool_width) / @strides[1] + 1
         
     | 
| 
       298 
305 
     | 
    
         
             
                  end
         
     | 
| 
       299 
306 
     | 
    
         | 
| 
       300 
307 
     | 
    
         
             
                  def forward(x)
         
     | 
| 
      
 308 
     | 
    
         
            +
                    x = padding(x, 2) if @padding > 0
         
     | 
| 
       301 
309 
     | 
    
         
             
                    @x_shape = x.shape
         
     | 
| 
       302 
310 
     | 
    
         
             
                    col = im2col(x, @out_height, @out_width, @pool_height, @pool_width, @strides)
         
     | 
| 
       303 
311 
     | 
    
         
             
                    col = col.reshape(x.shape[0] * @out_height * @out_width * x.shape[1], @pool_height * @pool_width)
         
     | 
| 
         @@ -311,7 +319,8 @@ module DNN 
     | 
|
| 
       311 
319 
     | 
    
         
             
                    dmax = SFloat.zeros(dout.size * pool_size)
         
     | 
| 
       312 
320 
     | 
    
         
             
                    dmax[@max_index] = dout.flatten
         
     | 
| 
       313 
321 
     | 
    
         
             
                    dcol = dmax.reshape(dout.shape[0..2].reduce(:*), dout.shape[3] * pool_size)
         
     | 
| 
       314 
     | 
    
         
            -
                    col2im(dcol, @x_shape, @out_height, @out_width, @pool_height, @pool_width, @strides)
         
     | 
| 
      
 322 
     | 
    
         
            +
                    dx = col2im(dcol, @x_shape, @out_height, @out_width, @pool_height, @pool_width, @strides)
         
     | 
| 
      
 323 
     | 
    
         
            +
                    @padding ? back_padding(dx, @padding) : dx
         
     | 
| 
       315 
324 
     | 
    
         
             
                  end
         
     | 
| 
       316 
325 
     | 
    
         | 
| 
       317 
326 
     | 
    
         
             
                  def shape
         
     | 
    
        data/lib/dnn/core/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: ruby-dnn
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.8
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - unagiootoro
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2018-07- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2018-07-11 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: numo-narray
         
     |