From 95a644fa5131eb95110d43969a687610626f344c Mon Sep 17 00:00:00 2001 From: Johwiyong <33315343+airplane2230@users.noreply.github.com> Date: Wed, 2 Oct 2019 18:13:53 +0900 Subject: [PATCH 1/5] Change the content in 'layers/wrappers' Change the content in 'layers/wrappers' --- sources/layers/wrappers.md | 43 +++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/sources/layers/wrappers.md b/sources/layers/wrappers.md index 64893e73..dd2a5c22 100644 --- a/sources/layers/wrappers.md +++ b/sources/layers/wrappers.md @@ -1,43 +1,40 @@ -[[source]](https://github.com/keras-team/keras/blob/master/keras/layers/wrappers.py#L114) +[[source]](https://github.com/keras-team/keras/blob/master/keras/layers/wrappers.py#L116) ### TimeDistributed ```python keras.layers.TimeDistributed(layer) ``` -이 래퍼는 인풋의 모든 시간적 조각에 대해 레이어를 적용합니다. +이 래퍼는 입력 값의 모든 시계열 단위에 레이어를 적용합니다. -인풋은 적어도 3D 이상이어야 하며, 그 중 색인 1의 차원은 -시간 차원으로 인식합니다. +입력 값은 최소 3D의 형태를 가져야 하며, 그 중 첫 번째 색인은 시간 차원을 나타냅니다. -32개 샘플로 구성된 배치에서, -각 샘플은 10개의 16차원 벡터로 이루어진 시퀀스라고 가정합니다. -그렇다면 레이어의 배치 인풋 형태는 `(32, 10, 16)`이고, -샘플 차원을 제외한 `input_shape`은 `(10, 16)`이 됩니다. +32개의 샘플로 구성된 배치에서, 10개의 16차원 벡터로 이루어진 시퀀스의 예시를 보겠습니다. +이 예시에서 레이어의 배치 입력 형태는 `(32, 10, 16)`이고, +배치 차원을 제외한 `input_shape`는 `(10, 16)`입니다. -이어서 `TimeDistributed`를 사용해 10개의 시간 단계 각각에 -독립적으로 `Dense` 레이어를 적용할 수 있습니다: +`TimeDistributed`를 사용하여 10개의 시간 단계에 독립적으로 `Dense` 레이어를 적용할 수 있습니다: ```python -# 모델의 첫 번째 레이어로써 +# 모델의 첫 번째 레이어로 사용되었습니다. model = Sequential() model.add(TimeDistributed(Dense(8), input_shape=(10, 16))) -# 현재 model.output_shape == (None, 10, 8) +# model.output_shape == (None, 10, 8) ``` -이 결과 아웃풋은 `(32, 10, 8)`의 형태를 갖습니다. +이 결과 아웃풋은 `(32, 10, 8)`의 형태를 가집니다. -차우 레이어에서는 `input_shape`이 필요없습니다: +첫 번째 레이어 이후에는 `input_shape`를 명시할 필요가 없습니다. ```python model.add(TimeDistributed(Dense(32))) # now model.output_shape == (None, 10, 32) ``` -이 결과 아웃풋은 `(32, 10, 32)`의 형태를 갖습니다. +이 결과 아웃풋은 `(32, 10, 32)`의 형태를 가집니다. -`TimeDistributed`는 `Dense`만이 아닌, 예를 들면 `Conv2D` 레이어와 같은 -임의의 레이어와 함께 사용할 수 있습니다: +`TimeDistributed`는 'Dense' 가 아닌 케라스에서 사용 가능한 레이어에서도 사용할 수 있습니다. +(ex:`Conv2D` 레이어) ```python model = Sequential() @@ -51,11 +48,11 @@ __인수__ ---- -[[source]](https://github.com/keras-team/keras/blob/master/keras/layers/wrappers.py#L333) +[[source]](https://github.com/keras-team/keras/blob/master/keras/layers/wrappers.py#L335) ### Bidirectional ```python -keras.layers.Bidirectional(layer, merge_mode='concat', weights=None) +keras.engine.base_layer.wrapped_fn() ``` 순환 신경망에 사용하는 양방향 래퍼. @@ -65,9 +62,9 @@ __인수__ - __layer__: `Recurrent` 인스턴스. - __merge_mode__: 정방향 순환 신경망과 역방향 순환 신경망의 아웃풋이 병합되는 방식. - {'sum', 'mul', 'concat', 'ave', None} 중 하나. - None의 경우, 아웃풋이 합쳐지지 않고, - 리스트로 반환됩니다. + {'sum', 'mul', 'concat', 'ave', None} 중 하나를 인수로 받습니다. + None의 경우, 아웃풋이 합쳐지지 않고, 리스트로 반환됩니다. +- __weights__: Bidirectional 모델에 사용 될 초기 가중치 __오류처리__ @@ -75,7 +72,6 @@ __오류처리__ __예시__ - ```python model = Sequential() model.add(Bidirectional(LSTM(10, return_sequences=True), @@ -85,4 +81,3 @@ model.add(Dense(5)) model.add(Activation('softmax')) model.compile(loss='categorical_crossentropy', optimizer='rmsprop') ``` - From 2dd1d58da69f134c7978fd9232f3d967c17f5500 Mon Sep 17 00:00:00 2001 From: Johwiyong <33315343+airplane2230@users.noreply.github.com> Date: Sun, 6 Oct 2019 17:34:50 +0900 Subject: [PATCH 2/5] Update wrappers.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 지적해주신 단어를 변경하였습니다. --- sources/layers/wrappers.md | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/sources/layers/wrappers.md b/sources/layers/wrappers.md index dd2a5c22..4057bdc0 100644 --- a/sources/layers/wrappers.md +++ b/sources/layers/wrappers.md @@ -5,36 +5,36 @@ keras.layers.TimeDistributed(layer) ``` -이 래퍼는 입력 값의 모든 시계열 단위에 레이어를 적용합니다. +이 래퍼는 입력 값의 모든 시계열 단위에 층layer을 적용합니다. -입력 값은 최소 3D의 형태를 가져야 하며, 그 중 첫 번째 색인은 시간 차원을 나타냅니다. +입력 값은 최소 3D의 형태를 가져야 하며, 그 중 index 1(두번째 원소)은 시간 차원을 나타냅니다. -32개의 샘플로 구성된 배치에서, 10개의 16차원 벡터로 이루어진 시퀀스의 예시를 보겠습니다. -이 예시에서 레이어의 배치 입력 형태는 `(32, 10, 16)`이고, +32개의 표본으로 구성된 배치에서, 10개의 16차원 벡터로 이루어진 시퀀스sequence의 예시를 보겠습니다. +이 예시에서 층의 배치 입력 형태는 `(32, 10, 16)`이고, 배치 차원을 제외한 `input_shape`는 `(10, 16)`입니다. -`TimeDistributed`를 사용하여 10개의 시간 단계에 독립적으로 `Dense` 레이어를 적용할 수 있습니다: +`TimeDistributed`를 사용하여 10개의 시간 단계timestamps에 독립적으로 `Dense` 층을 적용할 수 있습니다: ```python -# 모델의 첫 번째 레이어로 사용되었습니다. +# 모델의 첫 번째 층으로 사용되었습니다. model = Sequential() model.add(TimeDistributed(Dense(8), input_shape=(10, 16))) # model.output_shape == (None, 10, 8) ``` -이 결과 아웃풋은 `(32, 10, 8)`의 형태를 가집니다. +이 결과 출력 값은 `(32, 10, 8)`의 형태를 가집니다. -첫 번째 레이어 이후에는 `input_shape`를 명시할 필요가 없습니다. +첫 번째 층 이후에는 `input_shape`를 명시할 필요가 없습니다. ```python model.add(TimeDistributed(Dense(32))) # now model.output_shape == (None, 10, 32) ``` -이 결과 아웃풋은 `(32, 10, 32)`의 형태를 가집니다. +이 결과 출력 값은 `(32, 10, 32)`의 형태를 가집니다. -`TimeDistributed`는 'Dense' 가 아닌 케라스에서 사용 가능한 레이어에서도 사용할 수 있습니다. -(ex:`Conv2D` 레이어) +`TimeDistributed`는 'Dense' 가 아닌 케라스에서 사용 가능한 층에서도 사용할 수 있습니다. +(ex:`Conv2D` 층) ```python model = Sequential() @@ -44,7 +44,7 @@ model.add(TimeDistributed(Conv2D(64, (3, 3)), __인수__ -- __layer__: 레이어 인스턴스. +- __layer__: 층 인스턴스. ---- @@ -61,14 +61,13 @@ __인수__ - __layer__: `Recurrent` 인스턴스. - __merge_mode__: 정방향 순환 신경망과 - 역방향 순환 신경망의 아웃풋이 병합되는 방식. - {'sum', 'mul', 'concat', 'ave', None} 중 하나를 인수로 받습니다. - None의 경우, 아웃풋이 합쳐지지 않고, 리스트로 반환됩니다. + 역방향 순환 신경망의 출력 값이 병합되는 방식을 {'sum', 'mul', 'concat', 'ave', None} 중에 선택합니다. + None의 경우, 출력 값이 합쳐지지 않고, 리스트로 반환됩니다. - __weights__: Bidirectional 모델에 사용 될 초기 가중치 __오류처리__ -- __ValueError__: `merge_mode` 인수가 유효하지 않은 경우 오류메시지를 전달합니다. +- __ValueError__: `merge_mode` 인수가 유효하지 않은 경우 오류 메시지를 전달합니다. __예시__ From dc7324c63e59ec1e57d39534ea63373c1b66ae93 Mon Sep 17 00:00:00 2001 From: Johwiyong <33315343+airplane2230@users.noreply.github.com> Date: Sat, 12 Oct 2019 02:30:24 +0900 Subject: [PATCH 3/5] Update wrappers.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 인수 -> 인자 --- sources/layers/wrappers.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sources/layers/wrappers.md b/sources/layers/wrappers.md index 4057bdc0..a6fac185 100644 --- a/sources/layers/wrappers.md +++ b/sources/layers/wrappers.md @@ -42,7 +42,7 @@ model.add(TimeDistributed(Conv2D(64, (3, 3)), input_shape=(10, 299, 299, 3))) ``` -__인수__ +__인자__ - __layer__: 층 인스턴스. @@ -57,7 +57,7 @@ keras.engine.base_layer.wrapped_fn() 순환 신경망에 사용하는 양방향 래퍼. -__인수__ +__인자__ - __layer__: `Recurrent` 인스턴스. - __merge_mode__: 정방향 순환 신경망과 @@ -67,7 +67,7 @@ __인수__ __오류처리__ -- __ValueError__: `merge_mode` 인수가 유효하지 않은 경우 오류 메시지를 전달합니다. +- __ValueError__: `merge_mode` 인자가 유효하지 않은 경우 오류 메시지를 전달합니다. __예시__ From aea92ae7421b8f0e01e634a7c245749a09133578 Mon Sep 17 00:00:00 2001 From: fuzzythecat Date: Tue, 15 Oct 2019 02:06:03 +0900 Subject: [PATCH 4/5] Update wrappers.md --- sources/layers/wrappers.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/sources/layers/wrappers.md b/sources/layers/wrappers.md index a6fac185..e7aef0b5 100644 --- a/sources/layers/wrappers.md +++ b/sources/layers/wrappers.md @@ -5,15 +5,15 @@ keras.layers.TimeDistributed(layer) ``` -이 래퍼는 입력 값의 모든 시계열 단위에 층layer을 적용합니다. +이 래퍼는 입력값의 모든 시계열 단위에 층layer을 적용합니다. -입력 값은 최소 3D의 형태를 가져야 하며, 그 중 index 1(두번째 원소)은 시간 차원을 나타냅니다. +입력값은 최소 3D의 형태를 가져야 하며, 그 중 index 1(두번째 원소)은 시간 차원을 나타냅니다. -32개의 표본으로 구성된 배치에서, 10개의 16차원 벡터로 이루어진 시퀀스sequence의 예시를 보겠습니다. +32개의 표본으로 구성된 배치에서, 10개의 16차원 벡터로 이루어진 시퀀스의 예시를 보겠습니다. 이 예시에서 층의 배치 입력 형태는 `(32, 10, 16)`이고, 배치 차원을 제외한 `input_shape`는 `(10, 16)`입니다. -`TimeDistributed`를 사용하여 10개의 시간 단계timestamps에 독립적으로 `Dense` 층을 적용할 수 있습니다: +`TimeDistributed`를 사용하여 10개의 시간 단계timestep에 독립적으로 `Dense`층을 적용할 수 있습니다. ```python # 모델의 첫 번째 층으로 사용되었습니다. @@ -22,7 +22,7 @@ model.add(TimeDistributed(Dense(8), input_shape=(10, 16))) # model.output_shape == (None, 10, 8) ``` -이 결과 출력 값은 `(32, 10, 8)`의 형태를 가집니다. +이 결과 출력값은 `(32, 10, 8)`의 형태를 가집니다. 첫 번째 층 이후에는 `input_shape`를 명시할 필요가 없습니다. @@ -31,9 +31,9 @@ model.add(TimeDistributed(Dense(32))) # now model.output_shape == (None, 10, 32) ``` -이 결과 출력 값은 `(32, 10, 32)`의 형태를 가집니다. +이 결과 출력값은 `(32, 10, 32)`의 형태를 가집니다. -`TimeDistributed`는 'Dense' 가 아닌 케라스에서 사용 가능한 층에서도 사용할 수 있습니다. +`TimeDistributed`는 `Dense`가 아닌 케라스에서 사용 가능한 층에서도 사용할 수 있습니다. (ex:`Conv2D` 층) ```python @@ -61,9 +61,9 @@ __인자__ - __layer__: `Recurrent` 인스턴스. - __merge_mode__: 정방향 순환 신경망과 - 역방향 순환 신경망의 출력 값이 병합되는 방식을 {'sum', 'mul', 'concat', 'ave', None} 중에 선택합니다. - None의 경우, 출력 값이 합쳐지지 않고, 리스트로 반환됩니다. -- __weights__: Bidirectional 모델에 사용 될 초기 가중치 + 역방향 순환 신경망의 출력값이 병합되는 방식을 `{'sum', 'mul', 'concat', 'ave', None}`중에 선택합니다. + `None`의 경우, 출력 값이 합쳐지지 않고, 리스트로 반환됩니다. +- __weights__: `Bidirectional` 모델에 사용 될 초기 가중치 __오류처리__ From 363caff7723cca6f35be4efd5a1434b02e7c350e Mon Sep 17 00:00:00 2001 From: Johwiyong <33315343+airplane2230@users.noreply.github.com> Date: Tue, 15 Oct 2019 05:15:50 +0900 Subject: [PATCH 5/5] Update wrappers.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + recurrent --> RNN + `Bidirectional` 층에 사용할 초기 가중치 --- sources/layers/wrappers.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/layers/wrappers.md b/sources/layers/wrappers.md index e7aef0b5..4fe406c2 100644 --- a/sources/layers/wrappers.md +++ b/sources/layers/wrappers.md @@ -59,11 +59,11 @@ keras.engine.base_layer.wrapped_fn() __인자__ -- __layer__: `Recurrent` 인스턴스. +- __layer__: `RNN` 인스턴스. - __merge_mode__: 정방향 순환 신경망과 역방향 순환 신경망의 출력값이 병합되는 방식을 `{'sum', 'mul', 'concat', 'ave', None}`중에 선택합니다. `None`의 경우, 출력 값이 합쳐지지 않고, 리스트로 반환됩니다. -- __weights__: `Bidirectional` 모델에 사용 될 초기 가중치 +- __weights__: `Bidirectional` 층에 사용할 초기 가중치 __오류처리__