ruby-dnn 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/dnn/core/version.rb +1 -1
- data/lib/dnn/lib/cifar10.rb +34 -7
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a30ecc0e25621a1ea4c06948c155adb037983241ac8f7f05efa2a28db9e52e48
|
4
|
+
data.tar.gz: 601599d13059ae9db1a4fb8129f3483bbea258a0408c3208b11a4b4f55f82198
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6db06348f1a7f7e27a5a0010199302a20000242fba944a03a12aa42ebda7832fa1a80271475de1f20e3866b653e3ebf6dd44c4e42e22bd6c9b1874f6671a4178
|
7
|
+
data.tar.gz: 0af1c1c6bf2d1ed8b48876730a76e3f1324319a075be72885cdcb24ffb0d15de9c673beb6b446b74be5f9298730d9a7e17a4ceb0f2dfe232663b2bd4dcd83824
|
data/lib/dnn/core/version.rb
CHANGED
data/lib/dnn/lib/cifar10.rb
CHANGED
@@ -1,26 +1,53 @@
|
|
1
1
|
require "dnn"
|
2
2
|
require "dnn/ext/cifar10/cifar10_ext"
|
3
|
+
require "open-uri"
|
4
|
+
require "zlib"
|
5
|
+
require "archive/tar/minitar"
|
6
|
+
|
7
|
+
URL_CIFAR10 = "https://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz"
|
8
|
+
CIFAR10_DIR = "cifar-10-batches-bin"
|
3
9
|
|
4
10
|
module DNN
|
5
11
|
module CIFAR10
|
12
|
+
class DNN_CIFAR10_LoadError < DNN_Error; end
|
13
|
+
|
14
|
+
class DNN_CIFAR10_DownloadError < DNN_Error; end
|
15
|
+
|
6
16
|
private_class_method :_cifar10_load
|
7
17
|
|
18
|
+
def self.downloads
|
19
|
+
return if Dir.exist?(__dir__ + "/" + CIFAR10_DIR)
|
20
|
+
cifar10_binary_file_name = __dir__ + "/" + URL_CIFAR10.match(%r`.+/(.+)`)[1]
|
21
|
+
puts "Now downloading..."
|
22
|
+
open(URL_CIFAR10, "rb") do |f|
|
23
|
+
File.binwrite(cifar10_binary_file_name, f.read)
|
24
|
+
Zlib::GzipReader.open(cifar10_binary_file_name) do |gz|
|
25
|
+
Archive::Tar::Minitar::unpack(gz, __dir__)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
File.delete(cifar10_binary_file_name)
|
29
|
+
puts "The download has ended."
|
30
|
+
rescue => ex
|
31
|
+
raise DNN_CIFAR10_DownloadError.new(ex.message)
|
32
|
+
end
|
33
|
+
|
8
34
|
def self.load_train
|
35
|
+
downloads
|
9
36
|
bin = ""
|
10
37
|
(1..5).each do |i|
|
11
|
-
|
38
|
+
fname = __dir__ + "/#{CIFAR10_DIR}/data_batch_#{i}.bin"
|
39
|
+
raise DNN_CIFAR10_LoadError.new(%`file "#{fname}" is not found.`) unless File.exist?(fname)
|
40
|
+
bin << File.binread(fname)
|
12
41
|
end
|
13
42
|
_cifar10_load(bin, 50000)
|
14
43
|
end
|
15
44
|
|
16
45
|
def self.load_test
|
17
|
-
|
46
|
+
downloads
|
47
|
+
fname = __dir__ + "/#{CIFAR10_DIR}/test_batch.bin"
|
48
|
+
raise DNN_CIFAR10_LoadError.new(%`file "#{fname}" is not found.`) unless File.exist?(fname)
|
49
|
+
bin = File.binread(fname)
|
18
50
|
_cifar10_load(bin, 10000)
|
19
51
|
end
|
20
|
-
|
21
|
-
def self.dir
|
22
|
-
"cifar-10-batches-bin"
|
23
|
-
end
|
24
52
|
end
|
25
53
|
end
|
26
|
-
##30730000
|