learning_model 1.0.24 → 1.0.25

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.
@@ -5,6 +5,7 @@ declare class LearningImage implements LearningInterface {
5
5
  epochs: number;
6
6
  batchSize: number;
7
7
  learningRate: number;
8
+ validateRate: number;
8
9
  labels: string[];
9
10
  isRunning: boolean;
10
11
  isReady: boolean;
@@ -14,12 +15,13 @@ declare class LearningImage implements LearningInterface {
14
15
  readonly MOBILE_NET_INPUT_HEIGHT = 224;
15
16
  readonly MOBILE_NET_INPUT_CHANNEL = 3;
16
17
  readonly IMAGE_NORMALIZATION_FACTOR = 255;
17
- constructor({ epochs, batchSize, limitSize, learningRate, }?: {
18
+ constructor({ epochs, batchSize, limitSize, learningRate, validateRate, }?: {
18
19
  modelURL?: string;
19
20
  epochs?: number;
20
21
  batchSize?: number;
21
22
  limitSize?: number;
22
23
  learningRate?: number;
24
+ validateRate?: number;
23
25
  });
24
26
  onProgress: (progress: number) => void;
25
27
  onLoss: (loss: number) => void;
@@ -34,7 +34,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
35
  const tf = __importStar(require("@tensorflow/tfjs"));
36
36
  class LearningImage {
37
- constructor({ epochs = 10, batchSize = 16, limitSize = 2, learningRate = 0.001, } = {}) {
37
+ constructor({ epochs = 10, batchSize = 16, limitSize = 2, learningRate = 0.001, validateRate = 0.2, } = {}) {
38
38
  this.trainImages = [];
39
39
  this.MOBILE_NET_INPUT_WIDTH = 224;
40
40
  this.MOBILE_NET_INPUT_HEIGHT = 224;
@@ -49,6 +49,7 @@ class LearningImage {
49
49
  this.epochs = epochs;
50
50
  this.batchSize = batchSize;
51
51
  this.learningRate = learningRate;
52
+ this.validateRate = validateRate;
52
53
  this.labels = [];
53
54
  this.isRunning = false;
54
55
  this.isReady = false;
@@ -120,6 +121,7 @@ class LearningImage {
120
121
  const history = yield this.model.fit(inputData, targetData, {
121
122
  epochs: this.epochs,
122
123
  batchSize: this.batchSize,
124
+ validationSplit: this.validateRate,
123
125
  callbacks: customCallback
124
126
  });
125
127
  console.log('Model training completed', history);
@@ -5,6 +5,7 @@ declare class LearningMobilenetImage implements LearningInterface {
5
5
  epochs: number;
6
6
  batchSize: number;
7
7
  learningRate: number;
8
+ validateRate: number;
8
9
  labels: string[];
9
10
  modelURL: string;
10
11
  isRunning: boolean;
@@ -16,12 +17,13 @@ declare class LearningMobilenetImage implements LearningInterface {
16
17
  readonly MOBILE_NET_INPUT_CHANNEL = 3;
17
18
  readonly IMAGE_NORMALIZATION_FACTOR = 255;
18
19
  constructor({ modelURL, // 디폴트 mobilenet 이미지
19
- epochs, batchSize, limitSize, learningRate, }?: {
20
+ epochs, batchSize, limitSize, learningRate, validateRate, }?: {
20
21
  modelURL?: string;
21
22
  epochs?: number;
22
23
  batchSize?: number;
23
24
  limitSize?: number;
24
25
  learningRate?: number;
26
+ validateRate?: number;
25
27
  });
26
28
  onProgress: (progress: number) => void;
27
29
  onLoss: (loss: number) => void;
@@ -41,7 +41,7 @@ const tf = __importStar(require("@tensorflow/tfjs"));
41
41
  const util_1 = require("./util");
42
42
  class LearningMobilenetImage {
43
43
  constructor({ modelURL = 'https://storage.googleapis.com/tfjs-models/tfjs/mobilenet_v1_0.25_224/model.json', // 디폴트 mobilenet 이미지
44
- epochs = 10, batchSize = 16, limitSize = 2, learningRate = 0.001, } = {}) {
44
+ epochs = 10, batchSize = 16, limitSize = 2, learningRate = 0.001, validateRate = 0.2, } = {}) {
45
45
  this.trainImages = [];
46
46
  this.MOBILE_NET_INPUT_WIDTH = 224;
47
47
  this.MOBILE_NET_INPUT_HEIGHT = 224;
@@ -57,6 +57,7 @@ class LearningMobilenetImage {
57
57
  this.epochs = epochs;
58
58
  this.batchSize = batchSize;
59
59
  this.learningRate = learningRate;
60
+ this.validateRate = validateRate;
60
61
  this.labels = [];
61
62
  this.modelURL = modelURL;
62
63
  this.isRunning = false;
@@ -127,6 +128,7 @@ class LearningMobilenetImage {
127
128
  const history = yield this.model.fit(inputData, targetData, {
128
129
  epochs: this.epochs,
129
130
  batchSize: this.batchSize,
131
+ validationSplit: this.validateRate,
130
132
  callbacks: customCallback
131
133
  });
132
134
  console.log('Model training completed', history);
@@ -5,6 +5,7 @@ declare class LearningImage implements LearningInterface {
5
5
  epochs: number;
6
6
  batchSize: number;
7
7
  learningRate: number;
8
+ validateRate: number;
8
9
  labels: string[];
9
10
  isRunning: boolean;
10
11
  isReady: boolean;
@@ -14,12 +15,13 @@ declare class LearningImage implements LearningInterface {
14
15
  readonly MOBILE_NET_INPUT_HEIGHT = 224;
15
16
  readonly MOBILE_NET_INPUT_CHANNEL = 3;
16
17
  readonly IMAGE_NORMALIZATION_FACTOR = 255;
17
- constructor({ epochs, batchSize, limitSize, learningRate, }?: {
18
+ constructor({ epochs, batchSize, limitSize, learningRate, validateRate, }?: {
18
19
  modelURL?: string;
19
20
  epochs?: number;
20
21
  batchSize?: number;
21
22
  limitSize?: number;
22
23
  learningRate?: number;
24
+ validateRate?: number;
23
25
  });
24
26
  onProgress: (progress: number) => void;
25
27
  onLoss: (loss: number) => void;
@@ -5,6 +5,7 @@ declare class LearningMobilenetImage implements LearningInterface {
5
5
  epochs: number;
6
6
  batchSize: number;
7
7
  learningRate: number;
8
+ validateRate: number;
8
9
  labels: string[];
9
10
  modelURL: string;
10
11
  isRunning: boolean;
@@ -16,12 +17,13 @@ declare class LearningMobilenetImage implements LearningInterface {
16
17
  readonly MOBILE_NET_INPUT_CHANNEL = 3;
17
18
  readonly IMAGE_NORMALIZATION_FACTOR = 255;
18
19
  constructor({ modelURL, // 디폴트 mobilenet 이미지
19
- epochs, batchSize, limitSize, learningRate, }?: {
20
+ epochs, batchSize, limitSize, learningRate, validateRate, }?: {
20
21
  modelURL?: string;
21
22
  epochs?: number;
22
23
  batchSize?: number;
23
24
  limitSize?: number;
24
25
  learningRate?: number;
26
+ validateRate?: number;
25
27
  });
26
28
  onProgress: (progress: number) => void;
27
29
  onLoss: (loss: number) => void;
@@ -6,6 +6,7 @@ class LearningImage implements LearningInterface {
6
6
  epochs: number;
7
7
  batchSize: number;
8
8
  learningRate: number;
9
+ validateRate: number;
9
10
  labels: string[];
10
11
  isRunning: boolean;
11
12
  isReady: boolean;
@@ -22,11 +23,13 @@ class LearningImage implements LearningInterface {
22
23
  batchSize = 16,
23
24
  limitSize = 2,
24
25
  learningRate = 0.001,
25
- }: { modelURL?: string, epochs?: number, batchSize?: number, limitSize?: number, learningRate?: number} = {}) {
26
+ validateRate = 0.2,
27
+ }: { modelURL?: string, epochs?: number, batchSize?: number, limitSize?: number, learningRate?: number, validateRate?: number} = {}) {
26
28
  this.model = null;
27
29
  this.epochs = epochs;
28
30
  this.batchSize = batchSize;
29
31
  this.learningRate = learningRate;
32
+ this.validateRate = validateRate;
30
33
  this.labels = [];
31
34
  this.isRunning = false;
32
35
  this.isReady = false;
@@ -108,6 +111,7 @@ class LearningImage implements LearningInterface {
108
111
  const history = await this.model.fit(inputData, targetData, {
109
112
  epochs: this.epochs,
110
113
  batchSize: this.batchSize,
114
+ validationSplit: this.validateRate, // 검증 데이터의 비율 설정
111
115
  callbacks: customCallback
112
116
  });
113
117
  console.log('Model training completed', history);
@@ -13,6 +13,7 @@ class LearningMobilenetImage implements LearningInterface {
13
13
  epochs: number;
14
14
  batchSize: number;
15
15
  learningRate: number;
16
+ validateRate: number;
16
17
  labels: string[];
17
18
  modelURL: string;
18
19
  isRunning: boolean;
@@ -31,11 +32,13 @@ class LearningMobilenetImage implements LearningInterface {
31
32
  batchSize = 16,
32
33
  limitSize = 2,
33
34
  learningRate = 0.001,
34
- }: { modelURL?: string, epochs?: number, batchSize?: number, limitSize?: number, learningRate?: number} = {}) {
35
+ validateRate = 0.2,
36
+ }: { modelURL?: string, epochs?: number, batchSize?: number, limitSize?: number, learningRate?: number, validateRate?: number} = {}) {
35
37
  this.model = null;
36
38
  this.epochs = epochs;
37
39
  this.batchSize = batchSize;
38
40
  this.learningRate = learningRate;
41
+ this.validateRate = validateRate;
39
42
  this.labels = [];
40
43
  this.modelURL = modelURL;
41
44
  this.isRunning = false;
@@ -118,6 +121,7 @@ class LearningMobilenetImage implements LearningInterface {
118
121
  const history = await this.model.fit(inputData, targetData, {
119
122
  epochs: this.epochs,
120
123
  batchSize: this.batchSize,
124
+ validationSplit: this.validateRate, // 검증 데이터의 비율 설정
121
125
  callbacks: customCallback
122
126
  });
123
127
  console.log('Model training completed', history);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "learning_model",
3
- "version": "1.0.24",
3
+ "version": "1.0.25",
4
4
  "description": "learning model develop",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",