Module: DNN::CIFAR10
- Defined in:
- lib/dnn/datasets/cifar10.rb
Defined Under Namespace
Classes: DNN_CIFAR10_LoadError
Class Method Summary
collapse
Class Method Details
.downloads ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/dnn/datasets/cifar10.rb', line 12
def self.downloads
return if Dir.exist?(DOWNLOADS_PATH + "/downloads/" + DIR_CIFAR10)
Downloader.download(URL_CIFAR10)
cifar10_binary_file_name = DOWNLOADS_PATH + "/downloads/" + URL_CIFAR10.match(%r`.+/(.+)`)[1]
begin
Zlib::GzipReader.open(cifar10_binary_file_name) do |gz|
Archive::Tar::Minitar.unpack(gz, DOWNLOADS_PATH + "/downloads")
end
ensure
File.unlink(cifar10_binary_file_name)
end
end
|
.load_test ⇒ Object
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/dnn/datasets/cifar10.rb', line 40
def self.load_test
downloads
fname = DOWNLOADS_PATH + "/downloads/#{DIR_CIFAR10}/test_batch.bin"
raise DNN_CIFAR10_LoadError, %`file "#{fname}" is not found.` unless File.exist?(fname)
bin = File.binread(fname)
datas = Numo::UInt8.from_binary(bin).reshape(10000, 3073)
x_test = datas[true, 1...3073]
x_test = x_test.reshape(10000, 3, 32, 32).transpose(0, 2, 3, 1).clone
y_test = datas[true, 0]
[x_test, y_test]
end
|
.load_train ⇒ Object
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/dnn/datasets/cifar10.rb', line 25
def self.load_train
downloads
bin = ""
(1..5).each do |i|
fname = DOWNLOADS_PATH + "/downloads/#{DIR_CIFAR10}/data_batch_#{i}.bin"
raise DNN_CIFAR10_LoadError, %`file "#{fname}" is not found.` unless File.exist?(fname)
bin << File.binread(fname)
end
datas = Numo::UInt8.from_binary(bin).reshape(50000, 3073)
x_train = datas[true, 1...3073]
x_train = x_train.reshape(50000, 3, 32, 32).transpose(0, 2, 3, 1).clone
y_train = datas[true, 0]
[x_train, y_train]
end
|