ruby-dnn 0.14.1 → 0.14.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a07d117f60cfce7327a63514df0ffb2bf2228d4dfaa531d5b1c849ad581c5aa3
4
- data.tar.gz: 460158875978df670f99a501dc1a5878c392517d2c5123f13c3c8c96718f3a5e
3
+ metadata.gz: 26d153a8ef243d2a069fd5b48a08e0216c28d8dd0307f570fce2ef146eef3cfe
4
+ data.tar.gz: 9130ce3f31d2e7b5b3a3ecb48d9e4e10cddd307b2f900e13799206f8b16c3022
5
5
  SHA512:
6
- metadata.gz: e8cbb2fc0992b458f5af4176d2757f9e1222aba1cf1a980db5f8c4e64c20f8442bb1c6c103f78adbe5855bfdd7a8f01b33ffe3978b369b20b52efbdd9de7af4c
7
- data.tar.gz: a67ced6f09ea4d1fd5c81a7e13a1ac1b35d46512b54e06fa3773025036fed3cf5200b5cefb985defe4debd8fc2b8a669fa9a48a2ea21ee6721ff539c89c1d944
6
+ metadata.gz: f6167f81c1c7c76ae0539d17e9f9d252f03b603a15ee376cf91d0aa620d8d60aa5f434d3587f3331221679f661d22978207564d60a7ae59cf22551c482beb62c
7
+ data.tar.gz: 0ab323a64dd7d68692c901257fa38981355c6533eb106a76ed1f4072c4d338bb4c5c72b0a4db2704c146ae49b827c75f45b79db924cdde92352f72f332bd7c9c
@@ -76,7 +76,7 @@ model2 = MLP.new
76
76
  if SAVE_STYLE == USE_MARSHAL
77
77
  loader = MarshalLoader.new(model2)
78
78
  loader.load("trained_mnist.marshal")
79
- # MLP.load("trained_mnist.marshal") # This code is equivalent to the code above.
79
+ # model2 = MLP.load("trained_mnist.marshal") # This code is equivalent to the code above.
80
80
  elsif SAVE_STYLE == USE_JSON
81
81
  loader = JSONLoader.new(model2)
82
82
  loader.load("trained_mnist.json")
@@ -174,7 +174,7 @@ module DNN
174
174
 
175
175
  def forward(y, t)
176
176
  @x = SigmoidCrossEntropy.sigmoid(y)
177
- -(t * Xumo::NMath.log(@x) + (1 - t) * Xumo::NMath.log(1 - @x))
177
+ -(t * Xumo::NMath.log(@x + @eps) + (1 - t) * Xumo::NMath.log(1 - @x + @eps))
178
178
  end
179
179
 
180
180
  def backward(y, t)
@@ -145,7 +145,7 @@ module DNN
145
145
  # @return [Hash] Hash of contents to be output to log.
146
146
  private def test(x, y, batch_size: 100)
147
147
  acc, test_loss = accuracy(x, y, batch_size: batch_size)
148
- { accuracy: acc, test_loss: test_loss.mean }
148
+ { accuracy: acc, test_loss: test_loss }
149
149
  end
150
150
 
151
151
  # Training once.
@@ -180,7 +180,7 @@ module DNN
180
180
  batch_size = batch_size >= num_test_datas[0] ? num_test_datas : batch_size
181
181
  iter = Iterator.new(x, y, random: false)
182
182
  total_correct = 0
183
- sum_loss = Xumo::SFloat[0]
183
+ sum_loss = 0
184
184
  max_steps = (num_test_datas.to_f / batch_size).ceil
185
185
  iter.foreach(batch_size) do |x_batch, y_batch|
186
186
  correct, loss_value = test_on_batch(x_batch, y_batch)
@@ -202,7 +202,7 @@ module DNN
202
202
  call_callbacks(:before_test_on_batch)
203
203
  x = forward(x, false)
204
204
  correct = evaluate(x, y)
205
- loss_value = @loss_func.loss(x, y, layers)
205
+ loss_value = @loss_func.loss(x, y)
206
206
  call_callbacks(:after_test_on_batch)
207
207
  [correct, loss_value]
208
208
  end
@@ -37,7 +37,6 @@ module DNN
37
37
  Dir.mkdir(dir_name) unless Dir.exist?(dir_name)
38
38
  end
39
39
  h, w, ch = img.shape
40
- bin = img.to_binary
41
40
  match_data = file_name.match(/\.(\w+)$/i)
42
41
  if match_data
43
42
  ext = match_data[1]
@@ -47,13 +46,18 @@ module DNN
47
46
  case ext
48
47
  when "png"
49
48
  stride_in_bytes = w * ch
50
- res = Stb.stbi_write_png(file_name, w, h, ch, bin, stride_in_bytes)
49
+ res = Stb.stbi_write_png(file_name, w, h, ch, img.to_binary, stride_in_bytes)
51
50
  when "bmp"
52
- res = Stb.stbi_write_bmp(file_name, w, h, ch, bin)
51
+ res = Stb.stbi_write_bmp(file_name, w, h, ch, img.to_binary)
53
52
  when "jpg", "jpeg"
54
53
  raise TypeError, "quality:#{quality.class} is not an instance of Integer class." unless quality.is_a?(Integer)
55
54
  raise ArgumentError, "quality should be between 1 and 100." unless quality.between?(1, 100)
56
- res = Stb.stbi_write_jpg(file_name, w, h, ch, bin, quality)
55
+ res = Stb.stbi_write_jpg(file_name, w, h, ch, img.to_binary, quality)
56
+ when "hdr"
57
+ float_img = Numo::SFloat.cast(img) / 255
58
+ res = Stb.stbi_write_hdr(file_name, w, h, ch, float_img.to_binary)
59
+ when "tga"
60
+ res = Stb.stbi_write_tga(file_name, w, h, ch, img.to_binary)
57
61
  else
58
62
  raise ImageWriteError, "Extension '#{ext}' is not support."
59
63
  end
@@ -1,3 +1,3 @@
1
1
  module DNN
2
- VERSION = "0.14.1"
2
+ VERSION = "0.14.2"
3
3
  end
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.14.1
4
+ version: 0.14.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - unagiootoro
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-21 00:00:00.000000000 Z
11
+ date: 2019-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: numo-narray