ruby-dnn 0.9.4 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,97 +0,0 @@
1
- # LIB-APIリファレンス
2
- ruby-dnnの付属ライブラリのリファレンスです。
3
- 最終更新バージョン:0.8.6
4
-
5
-
6
- # dnn/lib/mnist
7
- MNISTデータセットを扱うライブラリです。初回利用時は、データセットのダウンロードを行うため、時間がかかります。
8
-
9
-
10
- # module MNIST
11
- MNISTを扱うモジュールです。
12
-
13
- ## 【Singleton methods】
14
-
15
- ## def self.load_train
16
- トレーニング用データを取得します。
17
- ### arguments
18
- なし。
19
- ### return
20
- Array
21
- [イメージデータ, ラベルデータ]の形式で取得します。
22
- * イメージデータ
23
- Numo::UInt8の[60000, 28, 28]の形式
24
- * テストデータ
25
- Numo::UInt8の[60000]の形式
26
-
27
- ## def self.load_test
28
- テスト用データを取得します。
29
- ### arguments
30
- なし。
31
- ### return
32
- Array
33
- [イメージデータ, ラベルデータ]の形式で取得します。
34
- * イメージデータ
35
- Numo::UInt8の[10000, 28, 28]の形式
36
- * テストデータ
37
- Numo::UInt8の[10000]の形式
38
-
39
-
40
- # dnn/lib/cifar10
41
- CIFAR-10データセットを扱うライブラリです。初回利用時は、データセットのダウンロードを行うため、時間がかかります。
42
-
43
-
44
- # module CIFAR10
45
- CIFAR-10を扱うモジュールです。
46
-
47
- ## 【Singleton methods】
48
-
49
- ## def self.load_train
50
- トレーニング用データを取得します。
51
- ### arguments
52
- なし。
53
- ### return
54
- Array
55
- [イメージデータ, ラベルデータ]の形式で取得します。
56
- * イメージデータ
57
- Numo::UInt8の[50000, 3, 32, 32]の形式
58
- * テストデータ
59
- Numo::UInt8の[50000]の形式
60
-
61
- ## def self.load_test
62
- テスト用データを取得します。
63
- ### arguments
64
- なし。
65
- ### return
66
- Array
67
- [イメージデータ, ラベルデータ]の形式で取得します。
68
- * イメージデータ
69
- Numo::UInt8の[10000, 32, 32, 3]の形式
70
- * テストデータ
71
- Numo::UInt8の[10000]の形式
72
-
73
-
74
- # dnn/lib/image
75
- 画像のread/writeを行うライブラリです。内部でstb_image.hとstb_image_write.hを使用しています。
76
-
77
-
78
- # module Image
79
-
80
- ## def self.read(file_name)
81
- 画像をNumo::UInt8形式で読み込みます。
82
- ### arguments
83
- * String file_name
84
- 読み込む画像のファイル名。
85
- ### return
86
- Numo::UInt8
87
- [height, width, rgb]のNumo::UInt8配列。
88
-
89
- ## def self.write(file_name, img, quality: 100)
90
- Numo::UInt8形式の画像を書き込みます。
91
- ### arguments
92
- * String file_name
93
- 書き込む画像のファイル名。
94
- * Numo::UInt8 img
95
- [height, width, rgb]のNumo::UInt8配列。
96
- * Integer quality: 100
97
- 画像をJPEGで書き込む場合のクオリティ。
@@ -1,44 +0,0 @@
1
- #include <ruby.h>
2
- #include <stdint.h>
3
- #include <stdlib.h>
4
-
5
- #define CIFAR10_WIDTH 32
6
- #define CIFAR10_HEIGHT 32
7
- #define CIFAR10_CHANNEL 3
8
-
9
- static VALUE cifar10_load_binary(VALUE self, VALUE rb_bin, VALUE rb_num_datas) {
10
- uint8_t* bin = (uint8_t*)StringValuePtr(rb_bin);
11
- int32_t num_datas = FIX2INT(rb_num_datas);
12
- VALUE rb_x_bin;
13
- VALUE rb_y_bin;
14
- int32_t i;
15
- int32_t j = 0;
16
- int32_t k = 0;
17
- int32_t size = CIFAR10_WIDTH * CIFAR10_HEIGHT * CIFAR10_CHANNEL;
18
- int32_t x_bin_size = num_datas * size;
19
- int32_t y_bin_size = num_datas;
20
- uint8_t* x_bin;
21
- uint8_t* y_bin;
22
-
23
- x_bin = (uint8_t*)malloc(x_bin_size);
24
- y_bin = (uint8_t*)malloc(y_bin_size);
25
- for (i = 0; i < num_datas; i++) {
26
- y_bin[i] = bin[j];
27
- j++;
28
- memcpy(&x_bin[k], &bin[j], size);
29
- j += size;
30
- k += size;
31
- }
32
- rb_x_bin = rb_str_new((char*)x_bin, x_bin_size);
33
- rb_y_bin = rb_str_new((char*)y_bin, y_bin_size);
34
- free(x_bin);
35
- free(y_bin);
36
- return rb_ary_new3(2, rb_x_bin, rb_y_bin);
37
- }
38
-
39
- void Init_cifar10_loader() {
40
- VALUE rb_dnn = rb_define_module("DNN");
41
- VALUE rb_cifar10 = rb_define_module_under(rb_dnn, "CIFAR10");
42
-
43
- rb_define_singleton_method(rb_cifar10, "load_binary", cifar10_load_binary, 2);
44
- }
@@ -1,3 +0,0 @@
1
- require "mkmf"
2
-
3
- create_makefile("cifar10_loader")