OneclickAI commited on
Commit
86fe4b3
ยท
verified ยท
1 Parent(s): 3914fd4

for new ver

Browse files
Files changed (1) hide show
  1. train.py +0 -75
train.py DELETED
@@ -1,75 +0,0 @@
1
- import tensorflow as tf
2
- from tensorflow import keras
3
- import numpy as np
4
- from keras import layers
5
-
6
- # ๊ฐ€์žฅ ๋นˆ๋„๊ฐ€ ๋†’์€ 1๋งŒ๊ฐœ ๋‹จ์–ด๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์…‹ ๋กœ๋“œ
7
- (x_train, y_train), (x_test, y_test) = keras.datasets.imdb.load_data(num_words=10000)
8
-
9
- print(f"ํŒจ๋”ฉ ์ „ ์ฒซ ๋ฒˆ์งธ ๋ฆฌ๋ทฐ ๊ธธ์ด: {len(x_train[0])}")
10
-
11
- # ๋ชจ๋“  ์‹œํ€€์Šค์˜ ๊ธธ์ด๋ฅผ 256์œผ๋กœ ํ†ต์ผ
12
- # maxlen๋ณด๋‹ค ๊ธธ๋ฉด ์ž˜๋ผ๋‚ด๊ณ , ์งง์œผ๋ฉด ์•ž๋ถ€๋ถ„์„ 0์œผ๋กœ ์ฑ„์›€ (pre-padding)
13
- x_train = keras.preprocessing.sequence.pad_sequences(x_train, maxlen=256)
14
- x_test = keras.preprocessing.sequence.pad_sequences(x_test, maxlen=256)
15
-
16
- print(f"ํŒจ๋”ฉ ํ›„ ์ฒซ ๋ฒˆ์งธ ๋ฆฌ๋ทฐ ๊ธธ์ด: {len(x_train[0])}")
17
-
18
- # ๋ชจ๋ธ ์•„ํ‚คํ…์ฒ˜ ์ •์˜
19
- model = keras.Sequential([
20
- # 1. ๋‹จ์–ด ์ž„๋ฒ ๋”ฉ ์ธต
21
- # input_dim: ์ „์ฒด ๋‹จ์–ด ์ง‘ํ•ฉ์˜ ํฌ๊ธฐ (๊ฐ€์žฅ ๋นˆ๋ฒˆํ•œ 1๋งŒ๊ฐœ ๋‹จ์–ด)
22
- # output_dim: ๊ฐ ๋‹จ์–ด๋ฅผ ํ‘œํ˜„ํ•  ๋ฒกํ„ฐ์˜ ์ฐจ์› (32์ฐจ์›)
23
- keras.layers.Embedding(input_dim=10000, output_dim=32),
24
-
25
- # 2. RNN ์ธต
26
- # units: ์€๋‹‰ ์ƒํƒœ ๋ฒกํ„ฐ์˜ ์ฐจ์› (32์ฐจ์›)
27
- keras.layers.SimpleRNN(32),
28
-
29
- # 3. ์ตœ์ข… ๋ถ„๋ฅ˜๊ธฐ(Classifier)
30
- # units: ์ถœ๋ ฅ ๋‰ด๋Ÿฐ์˜ ์ˆ˜ (๊ธ์ •/๋ถ€์ • 1๊ฐœ)
31
- # activation: ์ถœ๋ ฅ ๊ฐ’์„ 0~1 ์‚ฌ์ด ํ™•๋ฅ ๋กœ ๋ณ€ํ™˜ (์ด์ง„ ๋ถ„๋ฅ˜)
32
- keras.layers.Dense(1, activation="sigmoid"),
33
- ])
34
-
35
- # ๋ชจ๋ธ ๊ตฌ์กฐ ์š”์•ฝ ์ถœ๋ ฅ
36
- model.summary()
37
-
38
- model.compile(
39
- # ์†์‹ค ํ•จ์ˆ˜: ์˜ˆ์ธก์ด ์ •๋‹ต๊ณผ ์–ผ๋งˆ๋‚˜ ๋‹ค๋ฅธ์ง€ ์ธก์ •.
40
- # ์ด์ง„ ๋ถ„๋ฅ˜(0 ๋˜๋Š” 1) ๋ฌธ์ œ์ด๋ฏ€๋กœ binary_crossentropy๊ฐ€ ๊ฐ€์žฅ ์ ํ•ฉ.
41
- loss="binary_crossentropy",
42
-
43
- # ์˜ตํ‹ฐ๋งˆ์ด์ €: ์†์‹ค์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋ธ์˜ ๊ฐ€์ค‘์น˜๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜.
44
- # Adam์€ ํ˜„์žฌ ๊ฐ€์žฅ ๋„๋ฆฌ ์“ฐ์ด๊ณ  ์„ฑ๋Šฅ์ด ์ข‹์€ ์˜ตํ‹ฐ๋งˆ์ด์ € ์ค‘ ํ•˜๋‚˜.
45
- optimizer="adam",
46
-
47
- # ํ‰๊ฐ€์ง€ํ‘œ: ํ›ˆ๋ จ ๊ณผ์ •์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ง€ํ‘œ. ์ •ํ™•๋„๋ฅผ ์‚ฌ์šฉ.
48
- metrics=["accuracy"]
49
- )
50
-
51
- batch_size = 128
52
- epochs = 10
53
-
54
- # ๋ชจ๋ธ ํ•™์Šต ์‹คํ–‰
55
- # validation_data๋ฅผ ์ง€์ •ํ•˜์—ฌ ๋งค ์—ํฌํฌ๋งˆ๋‹ค ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ์„ฑ๋Šฅ์„ ๊ฒ€์ฆ
56
- history = model.fit(
57
- x_train, y_train,
58
- batch_size=batch_size,
59
- epochs=epochs,
60
- validation_data=(x_test, y_test)
61
- )
62
-
63
- # ํ•™์Šต ์™„๋ฃŒ ํ›„ ์ตœ์ข… ์„ฑ๋Šฅ ํ‰๊ฐ€
64
- score = model.evaluate(x_test, y_test, verbose=0)
65
- print(f"\nTest loss: {score[0]:.4f}")
66
- print(f"Test accuracy: {score[1]:.4f}")
67
-
68
- # ๋ชจ๋ธ์˜ ๊ตฌ์กฐ, ๊ฐ€์ค‘์น˜, ํ•™์Šต ์„ค์ •์„ ๋ชจ๋‘ '.keras' ํŒŒ์ผ ํ•˜๋‚˜์— ์ €์žฅ
69
- model.save("my_rnn_model_imdb.keras")
70
-
71
- # ๋ชจ๋ธ ๊ตฌ์กฐ ์š”์•ฝ ์ถœ๋ ฅ
72
- model.summary()
73
-
74
- # ์ €์žฅ๋œ ๋ชจ๋ธ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
75
- loaded_model = keras.models.load_model("my_rnn_model_imdb.keras")