From f909a74e9adc69584a449ca15c15c8d9589a8909 Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Thu, 26 Dec 2019 16:43:20 +0900 Subject: [PATCH 01/25] =?UTF-8?q?line=2085=EA=B9=8C=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/backend.md | 50 +++++++++++++++++++--------------------------- 1 file changed, 20 insertions(+), 30 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index 105fe4d7..0d92be5f 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -1,33 +1,27 @@ -# Keras 백엔드 +# 케라스 백엔드 -## "백앤드"는 무엇인가요? +## "백엔드"는 무엇인가요? -Keras는 딥러닝 모델을 개발하기 위한 고수준의 구성요성 요소를 제공하는 모델 레벨의 라이브러리입니다. Keras는 텐서 곱셈, 합성곱 등의 저수준의 연산을 제공하지 않습니다. 대신 Keras의 "백엔드 엔진" 역할을 하는 특수하고 잘 최적화 된 텐서 라이브러리에 의존합니다. 하나의 단일 텐서 라이브러리를 선택하고 Keras 구현을 해당 라이브러리에 묶는 대신, Keras는 모듈 방식으로 문제를 처리하여 여러 다른 백엔드 엔진들을 Keras에 매끄럽게 연결할 수 있게 합니다. +케라스는 딥러닝 모델을 블록쌓기처럼 구성요소를 쌓아 만들 수 있게끔 해주는 높은 차원의 모델 수준 라이브러리입니다. 케라스는 단독으로는 텐서들의 곱셈이나 합성곱과 같은 낮은 차원의 직접적인 연산을 지원하지 않습니다. 대신에 텐서 연산에 특화된 라이브러리들을 가져와 "백엔드 엔진"으로 사용합니다. 케라스는 하나의 텐서 연산 라이브러리를 골라 그에 의지하는 대신 모듈 방식으로 문제를 처리하여 서로 다른 백엔드 엔진을 케라스와 매끄럽게 연결하게끔 합니다. -현재 Keras는 **TensorFlow**, **Theano**, 그리고 **CNTK**의 세 가지 백엔드를 지원합니다. - -- [TensorFlow](http://www.tensorflow.org/) is an open-source symbolic tensor manipulation framework developed by Google. -- [Theano](http://deeplearning.net/software/theano/) is an open-source symbolic tensor manipulation framework developed by LISA Lab at Université de Montréal. -- [CNTK](https://www.microsoft.com/en-us/cognitive-toolkit/) is an open-source toolkit for deep learning developed by Microsoft. -- [TensorFlow](http://www.tensorflow.org/)는 구글에서 만든 기호텐서 프레임워크 오픈소스입니다. -- [Theano](http://deeplearning.net/software/theano/)은 Université de Montréal LISA Lab에서 개발한 기호텐서 프레임워크 오픈소스입니다. -- [CNTK](https://www.microsoft.com/en-us/cognitive-toolkit/)마이크로소프트에서 만든 딥러닝 개발을 위한 오픈소스 툴킷입니다. +현재 케라스는 **TensorFlow**, **Theano**, 그리고 **CNTK**의 세 가지 백엔드를 지원합니다. +- [TensorFlow](http://www.tensorflow.org/)는 구글에서 만든 오픈소스 심볼릭 텐서 연산 프레임워크입니다. +- [Theano](http://deeplearning.net/software/theano/)은 Université de Montréal LISA Lab에서 개발한 오픈소스 심볼릭 텐서 연산 프레임워크입니다. +- [CNTK](https://www.microsoft.com/en-us/cognitive-toolkit/)마이크로소프트에서 만든 딥러닝 개발용 오픈소스 툴킷입니다. 앞으로 더 많은 백엔드 옵션을 지원할 예정입니다. ----- +---- ## 한 백엔드에서 다른 백엔드로의 전환 -Keras를 한 번이라도 실행한 적이 있다면, 아래의 위치에서 Keras 구성 파일을 찾을 수 있습니다. +케라스를 한 번이라도 실행한 적이 있다면 아래의 위치에서 케라스 설정 파일을 찾을 수 있습니다. **윈도우Windows 사용자**의 경우 주소의 `$HOME`을 `%USERPROFILE%`로 바꿔 넣어주시면 됩니다. `$HOME/.keras/keras.json` -만약 파일이 없다면, 해당 위치에 구성 파일을 만들 수 있습니다. +만약 파일이 없는 경우 해당 위치에 설정 파일을 만들 수 있습니다. -**Windows(윈도우) 사용자를 위한 노트:** `$HOME`을 `%USERPROFILE%`로 바꾸십시오. - -기본 구성 파일의 내용은 다음과 같습니다. +기본 설정 파일의 내용은 다음과 같습니다. ``` { @@ -38,19 +32,16 @@ Keras를 한 번이라도 실행한 적이 있다면, 아래의 위치에서 Ker } ``` -단순히 `backend` 필드의 값을 `"theano"`, `"tensorflow"` 또는 `"cntk"`로 바꿔주는 것 만으로 -새로운 백엔드를 사용해 Keras 코드를 실행할 수 있습니다. +`backend` 필드의 값을 `'theano'`, `'tensorflow'` 또는 `'cntk'`로 바꿔주는 것만으로 새로운 백엔드를 사용해 케라스 코드를 실행할 수 있습니다. -또는 아래와 같이 환경 변수 `KERAS_BACKEND`를 정의해 설정 파일에 정의된 것을 대체할 수도 있습니다. +또는 아래와 같이 환경 변수 `KERAS_BACKEND`를 정의해 설정 파일의 내용을 대체할 수도 있습니다. ```bash KERAS_BACKEND=tensorflow python -c "from keras import backend" Using TensorFlow backend. ``` -Keras에서는 `"tensorflow"`, `"theano"` 그리고 `"cntk"`외에도 사용자가 지정한 임의의 백엔드를 로드하는 것이 가능합니다. -만약 `my_module`이라는 이름의 Python 모듈을 백엔드로 사용하고자 한다면, -`keras.json` 파일의 `"backend"` 변수 값을 아래와 같이 바꿔주어야 합니다. +Keras에서는 `'tensorflow'`, `'theano'` 그리고 `'cntk'`외에도 사용자가 지정한 임의의 백엔드를 사용할 수 있습니다. 만약 `my_module`이라는 이름의 Python 모듈을 백엔드로 사용하고자 한다면 `keras.json` 파일의 `'backend'` 변수 값을 아래와 같이 바꿔주어야 합니다. ``` { @@ -61,16 +52,15 @@ Keras에서는 `"tensorflow"`, `"theano"` 그리고 `"cntk"`외에도 사용자 } ``` -사용하고자 하는 외부 백엔드는 반드시 검증된 것이어야 하며, -`placeholder`, `variable` 그리고 `function` 세 함수들을 지원해야 합니다. +사용하고자 하는 외부 백엔드는 반드시 검증된 것이어야 하며 `placeholder`, `variable` 그리고 `function`의 세 함수들을 지원해야 합니다. -만약, 외부 백엔드가 필수 항목이 누락되어 유효하지 않은 경우라면, 누락된 항목/항목들에 대한 오류가 기록됩니다. +만약 필수 항목이 누락되어 백엔드를 사용할 수 없는 경우라면 어느 항목의 누락으로 오류가 발생했는지를 로그에 기록합니다. ----- +---- ## keras.json 상세 -`keras.json` 구성 파일은 아래의 설정들을 포함합니다. +`keras.json` 설정 파일은 아래의 내용으로 이루어져 있습니다. ``` { @@ -81,9 +71,9 @@ Keras에서는 `"tensorflow"`, `"theano"` 그리고 `"cntk"`외에도 사용자 } ``` -`$HOME/.keras/keras.json` 파일을 편집하여 설정을 변경할 수 있습니다. +각각의 설정은 `$HOME/.keras/keras.json` (윈도우 사용자의 경우 `%USERPROFILE%/.keras/keras.json`) 파일을 수정하여 변경할 수 있습니다. -* `image_data_format`: String, either `"channels_last"` or `"channels_first"`. It specifies which data format convention Keras will follow. (`keras.backend.image_data_format()` returns it.) +* `image_data_format`: `str`. either `"channels_last"` or `"channels_first"`. It specifies which data format convention Keras will follow. (`keras.backend.image_data_format()` returns it.) - For 2D data (e.g. image), `"channels_last"` assumes `(rows, cols, channels)` while `"channels_first"` assumes `(channels, rows, cols)`. - For 3D data, `"channels_last"` assumes `(conv_dim1, conv_dim2, conv_dim3, channels)` while `"channels_first"` assumes `(channels, conv_dim1, conv_dim2, conv_dim3)`. * `epsilon`: Float, a numeric fuzzing constant used to avoid dividing by zero in some operations. From 405c7b96fa1ecfbb325a6dfc456dd0e3b1329269 Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Thu, 26 Dec 2019 21:45:41 +0900 Subject: [PATCH 02/25] =?UTF-8?q?line=20135=EA=B9=8C=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/backend.md | 48 ++++++++++++++++++++++------------------------ 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index 0d92be5f..80f19929 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -32,7 +32,7 @@ } ``` -`backend` 필드의 값을 `'theano'`, `'tensorflow'` 또는 `'cntk'`로 바꿔주는 것만으로 새로운 백엔드를 사용해 케라스 코드를 실행할 수 있습니다. +`backend` 필드의 값을 `"theano"`, `"tensorflow"` 또는 `"cntk"`로 바꿔주는 것만으로 새로운 백엔드를 사용해 케라스 코드를 실행할 수 있습니다. 또는 아래와 같이 환경 변수 `KERAS_BACKEND`를 정의해 설정 파일의 내용을 대체할 수도 있습니다. @@ -41,7 +41,7 @@ KERAS_BACKEND=tensorflow python -c "from keras import backend" Using TensorFlow backend. ``` -Keras에서는 `'tensorflow'`, `'theano'` 그리고 `'cntk'`외에도 사용자가 지정한 임의의 백엔드를 사용할 수 있습니다. 만약 `my_module`이라는 이름의 Python 모듈을 백엔드로 사용하고자 한다면 `keras.json` 파일의 `'backend'` 변수 값을 아래와 같이 바꿔주어야 합니다. +Keras에서는 `"tensorflow"`, `"theano"` 그리고 `"cntk"`외에도 사용자가 지정한 임의의 백엔드를 사용할 수 있습니다. 만약 `my_module`이라는 이름의 Python 모듈을 백엔드로 사용하고자 한다면 `keras.json` 파일의 `"backend"` 변수 값을 아래와 같이 바꿔주어야 합니다. ``` { @@ -73,69 +73,67 @@ Keras에서는 `'tensorflow'`, `'theano'` 그리고 `'cntk'`외에도 사용자 각각의 설정은 `$HOME/.keras/keras.json` (윈도우 사용자의 경우 `%USERPROFILE%/.keras/keras.json`) 파일을 수정하여 변경할 수 있습니다. -* `image_data_format`: `str`. either `"channels_last"` or `"channels_first"`. It specifies which data format convention Keras will follow. (`keras.backend.image_data_format()` returns it.) - - For 2D data (e.g. image), `"channels_last"` assumes `(rows, cols, channels)` while `"channels_first"` assumes `(channels, rows, cols)`. - - For 3D data, `"channels_last"` assumes `(conv_dim1, conv_dim2, conv_dim3, channels)` while `"channels_first"` assumes `(channels, conv_dim1, conv_dim2, conv_dim3)`. -* `epsilon`: Float, a numeric fuzzing constant used to avoid dividing by zero in some operations. -* `floatx`: String, `"float16"`, `"float32"`, or `"float64"`. Default float precision. -* `backend`: String, `"tensorflow"`, `"theano"`, or `"cntk"`. +* `image_data_format`: `str`. 이미지 데이터 처리시 입력받을 데이터의 차원 순서를 정의하는 인자로 `'channels_last'` 또는 `'channels_first'` 가운데 하나를 지정합니다. (`keras.backend.image_data_format()`은 이 지정값을 반환합니다.) + - 2D 데이터의 경우 (예: 이미지), `"channels_last"`는 `(rows, cols, channels)`의 차원 순서를, `"channels_first"`는 `(channels, rows, cols)`의 차원 순서를 따릅니다. + - 3D 데이터의 경우, `"channels_last"`는 `(conv_dim1, conv_dim2, conv_dim3, channels)`의 차원 순서를, `"channels_first"`는 `(channels, conv_dim1, conv_dim2, conv_dim3)`의 차원 순서를 따릅니다. +* `epsilon`: `float`. 0으로 나눗셈을 해서 발생하는 오류를 피하기 위해 특정 연산에서 분모에 더할 작은 상수값을 정합니다. +* `floatx`: `str`. `"float16"`, `"float32"`, 또는 `"float64"` 가운데 기본 부동소수점 단위를 지정합니다. +* `backend`: `str`. `"tensorflow"`, `"theano"`, 또는 `"cntk"` 가운데 기본 백엔드를 지정합니다. ---- -## 추상화된 Keras 백엔드를 사용하여 새로운 코드 작성하기 +## 추상화된 케라스 백엔드를 사용하여 새로운 코드 작성하기 -만약 Theano(`th`)와 Tensorflow(`tf`) 모두와 호환이 되는 Keras 모듈을 작성하고자 한다면, -아래와 같이 추상화된 Keras 백엔드 API를 사용해야 합니다. +만약 Theano(`th`)와 Tensorflow(`tf`) 모두와 호환이 되는 케라스 모듈을 작성하고자 한다면 아래와 같이 추상화된 백엔드 API를 사용해야 합니다. -다음과 같이 백엔드 모듈을 사용할 수 있습니다. +다음과 같이 백엔드 모듈을 불러올 수 있습니다. ```python from keras import backend as K ``` -아래는 입력 `placeholder`를 인스턴스화하는 코드입니다. -이는 `tf.placeholder()`, `th.tensor.matrix()` 또는 `th.tensor.tensor()` 등을 실행하는 것과 같습니다. +아래는 입력의 `placeholder` 인스턴스를 만드는 코드입니다. `tf.placeholder()`, `th.tensor.matrix()` 또는 `th.tensor.tensor()` 등을 실행하는 것과 같습니다. ```python inputs = K.placeholder(shape=(2, 4, 5)) -# also works: +# 이하 역시 작동합니다. inputs = K.placeholder(shape=(None, 4, 5)) -# also works: +# 이하 역시 작동합니다. inputs = K.placeholder(ndim=3) ``` -아래의 코드는 변수를 인스턴스화합니다. `tf.Variable()` 또는 `th.shared()`를 실행하는 것과 같습니다. +아래는 변수variable 인스턴스를 만드는 코드입니다. `tf.Variable()` 또는 `th.shared()`를 실행하는 것과 같습니다. ```python import numpy as np val = np.random.random((3, 4, 5)) var = K.variable(value=val) -# all-zeros variable: +# 모든 초기값이 0인 변수를 생성. var = K.zeros(shape=(3, 4, 5)) -# all-ones: +# 모든 초기값이 1인 변수를 생성. var = K.ones(shape=(3, 4, 5)) ``` 구현에 필요한 대부분의 텐서 연산들은 사용법이 TensorFlow나 Theano와 크게 다르지 않습니다. ```python -# Initializing Tensors with Random Numbers -b = K.random_uniform_variable(shape=(3, 4), low=0, high=1) # Uniform distribution -c = K.random_normal_variable(shape=(3, 4), mean=0, scale=1) # Gaussian distribution +# 무작위 초기값을 가진 텐서를 생성하기. +b = K.random_uniform_variable(shape=(3, 4), low=0, high=1) # 균등 분포 +c = K.random_normal_variable(shape=(3, 4), mean=0, scale=1) # 가우시안 분포 d = K.random_normal_variable(shape=(3, 4), mean=0, scale=1) -# Tensor Arithmetic +# 텐서 사칙연산 a = b + c * K.abs(d) c = K.dot(a, K.transpose(b)) a = K.sum(b, axis=1) a = K.softmax(b) a = K.concatenate([b, c], axis=-1) -# etc... +# 등등... ``` ----- +---- ## 백엔드 함수들 From 44c649ad7b0e4c0e75b81220e58cb286066aeba9 Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Fri, 27 Dec 2019 16:22:26 +0900 Subject: [PATCH 03/25] =?UTF-8?q?line=201063=EA=B9=8C=EC=A7=80=20+=20?= =?UTF-8?q?=EC=A0=84=EC=B2=B4=20sub=ED=95=AD=EB=AA=A9=EB=AA=85=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/backend.md | 1556 +++++++++++++++++++++----------------------- 1 file changed, 753 insertions(+), 803 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index 80f19929..38b847d9 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -74,10 +74,10 @@ Keras에서는 `"tensorflow"`, `"theano"` 그리고 `"cntk"`외에도 사용자 각각의 설정은 `$HOME/.keras/keras.json` (윈도우 사용자의 경우 `%USERPROFILE%/.keras/keras.json`) 파일을 수정하여 변경할 수 있습니다. * `image_data_format`: `str`. 이미지 데이터 처리시 입력받을 데이터의 차원 순서를 정의하는 인자로 `'channels_last'` 또는 `'channels_first'` 가운데 하나를 지정합니다. (`keras.backend.image_data_format()`은 이 지정값을 반환합니다.) - - 2D 데이터의 경우 (예: 이미지), `"channels_last"`는 `(rows, cols, channels)`의 차원 순서를, `"channels_first"`는 `(channels, rows, cols)`의 차원 순서를 따릅니다. - - 3D 데이터의 경우, `"channels_last"`는 `(conv_dim1, conv_dim2, conv_dim3, channels)`의 차원 순서를, `"channels_first"`는 `(channels, conv_dim1, conv_dim2, conv_dim3)`의 차원 순서를 따릅니다. + - 2D 데이터의 경우 (예: 이미지) `"channels_last"`는 `(rows, cols, channels)`의 차원 순서를, `"channels_first"`는 `(channels, rows, cols)`의 차원 순서를 따릅니다. + - 3D 데이터의 경우 `"channels_last"`는 `(conv_dim1, conv_dim2, conv_dim3, channels)`의 차원 순서를, `"channels_first"`는 `(channels, conv_dim1, conv_dim2, conv_dim3)`의 차원 순서를 따릅니다. * `epsilon`: `float`. 0으로 나눗셈을 해서 발생하는 오류를 피하기 위해 특정 연산에서 분모에 더할 작은 상수값을 정합니다. -* `floatx`: `str`. `"float16"`, `"float32"`, 또는 `"float64"` 가운데 기본 부동소수점 단위를 지정합니다. +* `floatx`: `str`. `"float16"`, `"float32"`, 또는 `"float64"` 가운데 실수값의 기본 부동소수점 단위를 지정합니다. * `backend`: `str`. `"tensorflow"`, `"theano"`, 또는 `"cntk"` 가운데 기본 백엔드를 지정합니다. ---- @@ -136,46 +136,137 @@ a = K.concatenate([b, c], axis=-1) ---- ## 백엔드 함수들 +### backend -### epsilon +```python +keras.backend.backend() +``` + +현재 사용중인 백엔드의 이름을 반환합니다.(예: "tensorflow") +__반환값__ +`str`. 현재 사용 중인 케라스 백엔드 이름. +__예시__ ```python -keras.backend.epsilon() +>>> keras.backend.backend() +'tensorflow' +``` + + +--- +### symbolic + ``` +keras.backend.symbolic(func) +``` + +텐서플로우 2.0에서 케라스 그래프로 진입하기 위해 사용하는 데코레이터 함수입니다. + +__인자__ +- __func__: 데코레이터를 적용할 함수입니다. + +__반환값__ +데코레이터가 적용된 함수. -수치 식에 사용되는 fuzz factor(엡실론의float값)을 반환합니다. +--- +### eager + +``` +keras.backend.eager(func) +``` +텐서플로우 2.0에서 케라스 그래프를 빠져나오기 위해 사용하는 함수입니다. -__Returns__ +__인자__ +- __func__: 데코레이터를 적용할 함수. -A float. +__반환값__ +데코레이터가 적용된 함수. -__Example__ + +---- +### get_uid ```python ->>> keras.backend.epsilon() -1e-07 +keras.backend.get_uid(prefix='') ``` - + +그래프 안에서 사용할 문자열 접두어prefix에 정수형 고유값을 UID로 부여합니다. + +__인자__ +- __prefix__: 그래프의 문자열 접두어. + +__반환값__ + +고유 정수 식별자(uid) + +__예시__ +``` +>>> keras.backend.get_uid('dense') +1 +>>> keras.backend.get_uid('dense') +2 +``` + + ---- +### reset_uids -### set_epsilon +```python +keras.backend.reset_uids() +``` +그래프의 식별자(uid)를 초기화합니다. + + +---- +### manual_variable_initialization ```python -keras.backend.set_epsilon(e) +keras.backend.manual_variable_initialization(value) +``` + +변수 초기화의 수동/자동 여부를 결정하는 플래그 값입니다. + +변수를 인스턴스화 할 때 자동으로 초기화 할지, 별도로 사용자가 직접 초기화 할지를 결정합니다. 기본값은 자동 초기화입니다. + +__인자__ +- __value__: `bool`값. + + +---- +### epsilon + +```python +keras.backend.epsilon() +``` + +fuzz factor(엡실론: 0으로 나누는 오류를 방지하기 위해 분모에 더하는 작은 상수값)을 반환합니다. + +__반환값__ +단일 실수(부동소수점) 값. + +__예시__ +```python +>>> keras.backend.epsilon() +1e-07 ``` -수치 식에 사용되는 fuzz factor의 값을 설정합니다. +---- +### set_epsilon -__Arguments__ +```python +keras.backend.set_epsilon(e) +``` -- __e__: float, 엡실론의 새로운 값. +fuzz factor(엡실론: 0으로 나누는 오류를 방지하기 위해 분모에 더하는 작은 상수값)를 설정합니다. -__Example__ +__인자__ +- __e__: `float`. 엡실론의 새로운 값. +__예시__ ```python >>> from keras import backend as K >>> K.epsilon() @@ -184,50 +275,40 @@ __Example__ >>> K.epsilon() 1e-05 ``` - ----- -### floatx +---- +### floatx ```python keras.backend.floatx() ``` +실수 표현에 사용하는 부동소수점 유형의 기본값을 문자열로 반환합니다. (예: 'float16', 'float32', 'float64'). -Returns the default float type, as a string. -(e.g. 'float16', 'float32', 'float64'). - - -__Returns__ - -String, the current default float type. - -__Example__ +__반환값__ +`str`. 현재 설정된 부동소수점 유형의 기본값. +__예시__ ```python >>> keras.backend.floatx() 'float32' ``` - ----- -### set_floatx +---- +### set_floatx ```python keras.backend.set_floatx(floatx) ``` +실수 표현에 사용할 부동소수점 유형의 기본값을 설정합니다. -기본 실수형 타입을 설정합니다. - -__Arguments__ - -- __floatx__: String, 'float16', 'float32', or 'float64'. - -__Example__ +__인자__ +- __floatx__: `str`. 'float16', 'float32', 'float64' 가운데 하나를 입력합니다. +__예시__ ```python >>> from keras import backend as K >>> K.floatx() @@ -236,28 +317,24 @@ __Example__ >>> K.floatx() 'float16' ``` - ----- -### cast_to_floatx +---- +### cast_to_floatx ```python keras.backend.cast_to_floatx(x) ``` +NumPy 배열을 케라스에 지정된 기본 실수형 타입으로 변환합니다. -NumPy 배열을 Keras의 기본 실수형 타입으로 변환합니다. - -__Arguments__ - +__인자__ - __x__: NumPy 배열. -__Returns__ - -변환된 NumPy 배열 +__반환값__ +변환된 NumPy 배열. -__Example__ +__예시__ ```python >>> from keras import backend as K @@ -272,47 +349,43 @@ array([ 1., 2.], dtype=float32) >>> new_arr.dtype dtype('float32') ``` - ----- -### image_data_format +---- +### image_data_format ```python keras.backend.image_data_format() ``` +케라스가 처리할 이미지 데이터 유형의 기본값을 반환합니다. -Returns the default image data format convention. - -__Returns__ +__반환값__ -A string, either `'channels_first'` or `'channels_last'` +`'channels_first'` 또는 `'channels_last'`의 문자열. -__Example__ +__예시__ ```python >>> keras.backend.image_data_format() 'channels_first' ``` - ----- -### set_image_data_format +---- +### set_image_data_format ```python keras.backend.set_image_data_format(data_format) ``` +케라스가 처리할 이미지 데이터 유형의 기본값을 지정합니다. 데이터의 차원 순서를 정의하는 인자로, 예를 들어 2D 데이터의 경우 (예: 이미지) `"channels_last"`는 `(rows, cols, channels)`의 차원 순서를, `"channels_first"`는 `(channels, rows, cols)`의 차원 순서를 따릅니다. 3D 데이터의 경우 `"channels_last"`는 `(conv_dim1, conv_dim2, conv_dim3, channels)`의 차원 순서를, `"channels_first"`는 `(channels, conv_dim1, conv_dim2, conv_dim3)`의 차원 순서를 따릅니다. -Sets the value of the data format convention. - -__Arguments__ +__인자__ -- __data_format__: string. `'channels_first'` 또는 `'channels_last'`. +- __data_format__: `str`. `'channels_first'` 또는 `'channels_last'`. -__Example__ +__예시__ ```python >>> from keras import backend as K @@ -322,135 +395,65 @@ __Example__ >>> K.image_data_format() 'channels_last' ``` - ----- - -### get_uid - - -```python -keras.backend.get_uid(prefix='') -``` - - -디폴트 그래프의 uid 값을 가져옵니다. -__Arguments__ -- __prefix__: An optional prefix of the graph. - -__Returns__ - -그래프의 고유 식별자(uid) - ---- - -### reset_uids - - -```python -keras.backend.reset_uids() -``` - - -그래프의 식별자를 재설정합니다. - ----- - -### clear_session - - -```python -keras.backend.clear_session() -``` - - -현재 TF 그래프를 없애고, 새로운 TF 그래프를 만듭니다. - -오래된 모델 혹은 층과의 혼란을 피할 때 유용합니다. - ----- - -### manual_variable_initialization - - -```python -keras.backend.manual_variable_initialization(value) -``` - - -수동 변수 초기화 플래그를 설정합니다. - -이 boolean 플래그는 변수가 인스턴스화 될 때 초기화 되어야 하는지(기본값), -혹은 사용자가 직접 초기화를 처리해야 하는지 여부를 결정합니다. -(e.g. via `tf.initialize_all_variables()`). - -__Arguments__ - -- __value__: Python boolean. - ----- - ### learning_phase - ```python keras.backend.learning_phase() ``` - 학습 단계를 나타내는 플래그를 반환합니다. +`bool`형식의 텐서로, 학습할 때와 테스트할 때의 작동이 달라지는 모든 케라스 함수들에 전달되어 현재 어떤 단계에 있는지를 알립니다(0=시험, 1=학습). -해당 플래그 변수는 학습과 테스트시에 다른 행동을 취하는 -Keras 함수에 입력으로 전달되는 bool형 텐서 (0 = 테스트, 1 = 학습)입니다. - -__Returns__ +__반환값__ +학습 단계 (스칼라 정수 텐서 또는 파이썬 정수형). -학습 단계 ( 스칼라 정수 텐서 또는 파이썬 정수형 ). - ---- - ### set_learning_phase - ```python keras.backend.set_learning_phase(value) ``` - 학습 단계 변수를 주어진 값으로 고정합니다. -__Arguments__ +__인자__ +- __value__: 0 또는 1(`int`)의 학습 단계 값(0=시험, 1=학습). -- __value__: 학습 단계 값, 0 또는 1(정수). +__오류__ +- __ValueError__: `value` 가 `0` 또는 `1`이 아닌 경우. -__Raises__ -- __ValueError__: `value` 가 `0` 또는 `1`이 아닌 경우. - ---- +### clear_session -### is_sparse +```python +keras.backend.clear_session() +``` +현재의 케라스 그래프를 없애고 새 그래프를 만듭니다. 오래된 모델/층과의 혼란을 피할 때 유용합니다. + + +---- +### is_sparse ```python keras.backend.is_sparse(tensor) ``` +입력한 텐서가 희소sparse 텐서인지 아닌지를 확인합니다. -희소 텐서인지 아닌지를 반환합니다. - -__Arguments__ - +__인자__ - __tensor__: 한 개의 텐서 인스턴스. -__Returns__ - -A boolean. +__반환값__ +불리언. -__Example__ +__예시__ ```python >>> from keras import backend as K @@ -461,29 +464,24 @@ False >>> print(K.is_sparse(b)) True ``` - ----- -### to_dense +---- +### to_dense ```python keras.backend.to_dense(tensor) ``` +희소 텐서를 밀집dense 텐서로 바꿔줍니다. -sparse 텐서에서 dense텐서로 바꿔준다. - -__Arguments__ +__인자__ +- __tensor__: (희소 형태일 가능성이 있는) 텐서 인스턴스. -- __tensor__: sparse 텐서일 수도 있는 인스턴스. +__반환값__ +한 개의 밀집 텐서. -__Returns__ - - -한 개의 dense텐서. - -__Examples__ +__예시__ ```python >>> from keras import backend as K @@ -494,32 +492,27 @@ True >>> print(K.is_sparse(c)) False ``` - ----- -### variable +---- +### variable ```python keras.backend.variable(value, dtype=None, name=None, constraint=None) ``` +변수 인스턴스를 생성합니다. -변수를 인스턴스화한 후 반환합니다. - -__Arguments__ - +__인자__ - __value__: NumPy 배열, 텐서의 초기 값. -- __dtype__: 텐서 타입. +- __dtype__: 텐서의 자료형. - __name__: 텐서의 이름(선택사항). -- __constraint__: 옵티마이저 업데이트 후 변수에 적용되는 투영 함수입니다(선택사항). - -__Returns__ +- __constraint__: 최적화 함수optimizer로 변수 값을 업데이트한 다음에 적용할 제약 함수입니다(선택사항). -변수 인스턴스(Keras 메타 데이터 포함). - -__Examples__ +__반환값__ +(케라스 메타데이터가 포함된) 변수 인스턴스. +__예시__ ```python >>> from keras import backend as K >>> val = np.array([[1, 2], [3, 4]]) @@ -532,123 +525,112 @@ example_var array([[ 1., 2.], [ 3., 4.]]) ``` - ----- -### constant +---- +### constant ```python keras.backend.constant(value, dtype=None, shape=None, name=None) ``` - 상수 텐서를 만듭니다. -__Arguments__ - +__인자__ - __value__: 상수 값(또는 리스트) -- __dtype__: 결과의 텐서의 요소의 형태. -- __shape__: 결과 텐서의 크기(선택사항). +- __dtype__: 텐서의 자료형. +- __shape__: 텐서의 형태(선택사항). - __name__: 텐서의 이름(선택사항). -__Returns__ - +__반환값__ 상수 텐서 + ---- - ### is_keras_tensor - ```python keras.backend.is_keras_tensor(x) ``` +`x`가 케라스 텐서인지 아닌지 여부를 확인합니다. -`x`가 Keras 텐서인지 아닌지를 반환합니다. - -"Keras 텐서"란 Keras 층(`Layer` 클래스) 또는 `Input`에 의해 반환된 텐서입니다. - -__Arguments__ - -- __x__: 후보 텐서. +"케라스 텐서"란 케라스의 층(`Layer` 클래스) 또는 `Input`에 의해 반환된 텐서입니다. -__Returns__ +__인자__ +- __x__: 확인할 텐서. -A boolean: 주어진 인자가 Keras 텐서인지의 여부. - -__Raises__ +__반환값__ +주어진 인자가 케라스 텐서인지의 여부를 나타내는 `bool`값. +__오류__ - __ValueError__: `x`가 심볼릭 텐서가 아닌 경우. -__Examples__ - +__예시__ ```python >>> from keras import backend as K >>> from keras.layers import Input, Dense >>> np_var = numpy.array([1, 2]) ->>> K.is_keras_tensor(np_var) # A numpy array is not a symbolic tensor. +>>> K.is_keras_tensor(np_var) # NumPy 배열은 심볼릭 텐서가 아니므로 오류를 반환합니다. ValueError >>> k_var = tf.placeholder('float32', shape=(1,1)) ->>> # A variable indirectly created outside of keras is not a Keras tensor. +>>> # 케라스 바깥에서 생성된 변수는 케라스 텐서가 아닙니다. >>> K.is_keras_tensor(k_var) False >>> keras_var = K.variable(np_var) ->>> # A variable created with the keras backend is not a Keras tensor. +>>> # 케라스 층이 아닌 케라스 백엔드에 의해 생성된 변수는 케라스 텐서가 아닙니다. >>> K.is_keras_tensor(keras_var) False >>> keras_placeholder = K.placeholder(shape=(2, 4, 5)) ->>> # A placeholder is not a Keras tensor. +>>> # 플레이스홀더는 케라스 텐서가 아닙니다. >>> K.is_keras_tensor(keras_placeholder) False >>> keras_input = Input([10]) ->>> K.is_keras_tensor(keras_input) # An Input is a Keras tensor. +>>> K.is_keras_tensor(keras_input) # Input은 케라스 텐서입니다. True >>> keras_layer_output = Dense(10)(keras_input) ->>> # Any Keras layer output is a Keras tensor. +>>> # 모든 케라스 층의 출력은 케라스 텐서입니다. >>> K.is_keras_tensor(keras_layer_output) True ``` + ---- - ### is_tensor - ```python keras.backend.is_tensor(x) ``` ----- +`x`가 현재 사용하고 있는 백엔드에서 생성한 텐서인지 여부를 확인합니다. + +__인자__ +- __x__: 확인할 텐서. + +__반환값__ +주어진 인자가 백엔드의 텐서인지의 여부를 나타내는 `bool`값. -### placeholder +---- +### placeholder ```python keras.backend.placeholder(shape=None, ndim=None, dtype=None, sparse=False, name=None) ``` +플레이스홀더 인스턴스를 생성합니다. -플레이스홀더 텐서를 인스턴스화 한 후 반환합니다. - -__Arguments__ +__인자__ +- __shape__: 플레이스홀더의 형태. 정수값으로 이루어진 튜플로, `None`이 포함될 수 있습니다. +- __ndim__: 텐서의 축의 개수(=총 차원의 수). 인스턴스를 생성하려면 적어도 {`shape`, `ndim`} 중 하나는 반드시 입력해야 합니다. 두 인자를 다 입력한 경우 `shape`가 사용됩니다. +- __dtype__: 플레이스홀더의 자료형. +- __sparse__: `bool`. 플레이스홀더가 희소sparse타입이어야 하는지의 여부를 결정합니다. +- __name__: `str`. 플레이스홀더의 이름을 정합니다(선택사항). -- __shape__: 플레이스홀더의 형식 - (integer 튜플은 None요소가 없을수도 있습니다.) -- __ndim__: 텐서 축의 갯수. - 적어도 {'shape`, `ndim`} 중 하나는 반드시 명시되어야 합니다. - 만약 두 요소 모두 명시되었다면, shape가 사용됩니다. -- __dtype__: 플레이스홀더 타입. -- __sparse__: 불리언 타입Boolean,플레이스홀더가 sparse타입이어야 하는지에 대한 진리값. -- __name__: 문자열 플레이스홀더에 대한 선택적인 이름. - -__Returns__ - -케라스의 메타데이터가 포함된 텐서 인스턴스. - -__Examples__ +__반환값__ +(케라스 메타데이터가 포함된) 텐서 인스턴스. +__예시__ ```python >>> from keras import backend as K >>> input_ph = K.placeholder(shape=(2, 4, 5)) @@ -657,52 +639,42 @@ __Examples__ >>> input_ph ``` - ----- -### is_placeholder +---- +### is_placeholder ```python keras.backend.is_placeholder(x) ``` +`x`가 플레이스홀더인지 아닌지 여부를 확인합니다. -'x'가 플레이스홀더인지 아닌지를 반환한다. - -__Arguments__ +__인자__ +- __x__: 확인할 플레이스홀더. -- __x__: 한 개의 후보 플레이스홀더. +__반환값__ +주어진 인자가 플레이스홀더인지의 여부를 나타내는 `bool`값. -__Returns__ - -불리언 값. - ---- - ### shape - ```python keras.backend.shape(x) ``` +텐서 또는 변수의 (심볼릭) 형태를 반환합니다. -텐서 또는 변수의 기호 형식을 반환합니다. - -__Arguments__ - +__인자__ - __x__: 한 개의 텐서 또는 변수. -__Returns__ - -텐서 그 자체의 기호형식. - -__Examples__ +__반환값__ +(심볼릭) 형태 값을 저장한 텐서. +__예시__ ```python -# TensorFlow example +# TensorFlow 예시 >>> from keras import backend as K >>> tf_session = K.get_session() >>> val = np.array([[1, 2], [3, 4]]) @@ -712,35 +684,30 @@ __Examples__ >>> K.shape(inputs) -# To get integer shape (Instead, you can use K.int_shape(x)) +# 형태값 텐서를 정수로 변환합니다(또는 K.int_shape(x)를 사용할 수도 있습니다). >>> K.shape(kvar).eval(session=tf_session) array([2, 2], dtype=int32) >>> K.shape(inputs).eval(session=tf_session) array([2, 4, 5], dtype=int32) ``` + ---- - ### int_shape - ```python keras.backend.int_shape(x) ``` +텐서 또는 변수의 형태를 정수 또는 None 값을 포함하는 튜플 형식으로 반환합니다. -int 또는 None요소의 튜플로서 변수 또는 텐서의 형식을 반환합니다. - -__Arguments__ - +__인자__ - __x__: 텐서 또는 변수. -__Returns__ - -integers(또는 None)의 튜플. - -__Examples__ +__반환값__ +정수 또는 None을 포함한 튜플. +__예시__ ```python >>> from keras import backend as K >>> inputs = K.placeholder(shape=(2, 4, 5)) @@ -752,39 +719,30 @@ __Examples__ (2, 2) ``` -__Numpy implementation__ - +__NumPy 적용__ ```python -def int_shape(x): - return x.shape +def int_shape(x): + return x.shape # int_shape의 출력값은 NumPy의 .shape 출력과 같습니다. ``` ---- - ### ndim - ```python keras.backend.ndim(x) ``` +텐서의 축의 개수(=총 차원의 수)를 정수값으로 반환합니다. -integer타입으로, 텐서의 축의 갯수를 반환합니다. - - -__Arguments__ - +__인자__ - __x__: 텐서 또는 변수. -__Returns__ - - -축의 갯 수, 정수형(스칼라값)으로 반환합니다. - -__Examples__ +__반환값__ +축의 개수. 정수형(스칼라값)으로 반환합니다. +__예시__ ```python >>> from keras import backend as K >>> inputs = K.placeholder(shape=(2, 4, 5)) @@ -796,8 +754,7 @@ __Examples__ 2 ``` -__Numpy implementation__ - +__NumPy 적용__ ```python def ndim(x): @@ -806,26 +763,46 @@ def ndim(x): ---- +### size +``` +keras.backend.size(x, name=None) +``` -### dtype +텐서의 크기(원소의 개수)를 반환합니다. +__인자__ +- __x__: 텐서 또는 변수. +- __name__: 해당 연산에 이름을 부여합니다(선택사항). -```python -keras.backend.dtype(x) +__반환값__ +입력 텐서의 원소 개수를 값으로 갖는 텐서. + +__예시__ +``` +>>> from keras import backend as K +>>> val = np.array([[1, 2], [3, 4]]) # 원소의 개수는 4개입니다. +>>> kvar = K.variable(value=val) +>>> K.size(inputs) + # 원소의 개수인 4의 값을 갖는 텐서를 반환합니다. ``` -string타입으로 케라스 변수 또는 텐서의 dtype을 반환한다. +---- +### dtype + +```python +keras.backend.dtype(x) +``` -__Arguments__ +케라스 텐서 또는 변수의 자료형을 문자열로 반환합니다. +__인자__ - __x__: 텐서 또는 변수. -__Returns__ +__반환값__ +`str`. `x`의 자료형. -'x'의 dtypestring - -__Examples__ +__예시__ ```python >>> from keras import backend as K @@ -843,8 +820,8 @@ __Examples__ >>> K.dtype(kvar) 'float32_ref' ``` -__Numpy implementation__ +__NumPy 적용__ ```python def dtype(x): @@ -853,27 +830,21 @@ def dtype(x): ---- - ### eval - ```python keras.backend.eval(x) ``` +변수(텐서)의 값을 NumPy 배열의 형태로 가져옵니다. -변수의 값을 평가한다. - -__Arguments__ - +__인자__ - __x__: 한 개의 변수. -__Returns__ - -넘파이 배열. - -__Examples__ +__반환값__ +NumPy 배열. +__예시__ ```python >>> from keras import backend as K >>> kvar = K.variable(np.array([[1, 2], [3, 4]]), dtype='float32') @@ -881,8 +852,8 @@ __Examples__ array([[ 1., 2.], [ 3., 4.]], dtype=float32) ``` -__Numpy implementation__ +__Numpy 적용__ ```python def eval(x): @@ -891,32 +862,24 @@ def eval(x): ---- - ### zeros - ```python keras.backend.zeros(shape, dtype=None, name=None) ``` +모든 값이 0인 변수 인스턴스를 생성합니다. -모두 0인 변수로 인스턴스화 하고 반환한다. - - -__Arguments__ - -- __shape__: integers의 튜플, 반환된 케라스 변수의 형식 -- __dtype__: string, 반환된 케라스 변수의 데이터 타입 -- __name__: string, 반환된 케라스 변수의 이름 +__인자__ +- __shape__: `int`로 이루어진 튜플. 변수의 형태를 지정합니다. +- __dtype__: `str`. 변수의 자료형을 지정합니다. +- __name__: `str`. 변수의 이름을 지정합니다. -__Returns__ - -Keras 메타 데이터를 포함한 `0.0`으로 채워진 변수. -`shape`가 기호 인 경우 변수를 반환 할 수 없습니다. -대신 동적 모양의 텐서를 반환합니다. - -__Example__ +__반환값__ +`0.0`으로 채워진 변수(케라스 메타데이터 포함). +`shape`가 심볼릭인 경우 변수를 반환하는 대신 형태가 동적으로 변하는 텐서를 반환힙니다. +__예시__ ```python >>> from keras import backend as K >>> kvar = K.zeros((3,4)) @@ -925,9 +888,8 @@ array([[ 0., 0., 0., 0.], [ 0., 0., 0., 0.], [ 0., 0., 0., 0.]], dtype=float32) ``` -__Numpy implementation__ - +__NumPy 적용__ ```python def zeros(shape, dtype=floatx(), name=None): return np.zeros(shape, dtype=dtype) @@ -935,32 +897,24 @@ def zeros(shape, dtype=floatx(), name=None): ---- - ### ones - ```python keras.backend.ones(shape, dtype=None, name=None) ``` +모든 값이 1인 변수 인스턴스를 생성합니다. -모든 변수를 인스턴스화하고 반환합니다. - -__Arguments__ +__인자__ +- __shape__: `int`로 이루어진 튜플. 변수의 형태를 지정합니다. +- __dtype__: `str`. 변수의 자료형을 지정합니다. +- __name__: `str`. 변수의 이름을 지정합니다. -- __shape__: integers의 튜플, 반환된 케라스 변수 형식. -- __dtype__: string, 반환된 케라스 데이터 타입. -- __name__: string, 반환된 케라스 변수 이름. +__반환값__ +`1.0`으로 채워진 변수(케라스 메타데이터 포함). +`shape`가 심볼릭인 경우 변수를 반환하는 대신 형태가 동적으로 변하는 텐서를 반환힙니다. -__Returns__ - - - -`1.0`으로 채워진 Keras 변수. -`shape`가 기호 인 경우 변수를 반환 할 수 없습니다. -대신 동적 모양의 텐서를 반환합니다. - -__Example__ +__예시__ ```python >>> from keras import backend as K @@ -970,9 +924,8 @@ array([[ 1., 1., 1., 1.], [ 1., 1., 1., 1.], [ 1., 1., 1., 1.]], dtype=float32) ``` -__Numpy implementation__ - +__NumPy 적용__ ```python def ones(shape, dtype=floatx(), name=None): return np.ones(shape, dtype=dtype) @@ -980,30 +933,23 @@ def ones(shape, dtype=floatx(), name=None): ---- - ### eye - ```python keras.backend.eye(size, dtype=None, name=None) ``` +인스턴스를 생성합니다. -단위행렬을 인스턴스화 하고 반환합니다. +__인자__ +- __size__: `int`. 행과 열의 수를 지정합니다. +- __dtype__: `str`. 변수의 자료형을 지정합니다. +- __name__: `str`. 변수의 이름을 지정합니다. +__반환값__ +단위행렬 형태의 케라스 변수. -__Arguments__ - - -- __size__: integer, 행과 열의 수. -- __dtype__: string, 반환된 케라스 변수의 데이터 타입. -- __name__: string, 반환된 케라스 변수의 이름. - -__Returns__ - -단위행렬, 케라스 변수. - -__Example__ +__예시__ ```python >>> from keras import backend as K @@ -1013,8 +959,8 @@ array([[ 1., 0., 0.], [ 0., 1., 0.], [ 0., 0., 1.]], dtype=float32) ``` -__Numpy implementation__ +__NumPy 적용__ ```python def eye(size, dtype=None, name=None): @@ -1023,32 +969,24 @@ def eye(size, dtype=None, name=None): ---- - ### zeros_like - ```python keras.backend.zeros_like(x, dtype=None, name=None) ``` +지정한 별도의 텐서와 형태가 같으면서 모든 값이 0인 텐서를 생성합니다. -또 다른 텐서이면서 같은 형식의 모두 0값인 변수가 인스턴스화 됩니다. - -__Arguments__ - - +__인자__ - __x__: 케라스 변수 또는 케라스 텐서. -- __dtype__: string, 반환된 케라스 변수의 dtype. - x의 dtype을 사용하지 않습니다. -- __name__: string, 생성할 변수의 이름. +- __dtype__: `str`. 변수의 자료형을 지정합니다. `None`(기본값)인 경우 `x`의 자료형을 따릅니다. +- __name__: `str`. 변수의 이름을 지정합니다. -__Returns__ +__반환값__ +`x`와 형태가 같으며 값이 0인 케라스 변수. - -0으로 채워진 x 형식의 케라스 변수. - -__Example__ +__예시__ ```python >>> from keras import backend as K @@ -1058,8 +996,8 @@ __Example__ array([[ 0., 0., 0.], [ 0., 0., 0.]], dtype=float32) ``` -__Numpy implementation__ +__NumPy 적용__ ```python def zeros_like(x, dtype=floatx(), name=None): @@ -1071,29 +1009,22 @@ def zeros_like(x, dtype=floatx(), name=None): ### ones_like - ```python keras.backend.ones_like(x, dtype=None, name=None) ``` +지정한 별도의 텐서와 형태가 같으면서 모든 값이 1인 텐서를 생성합니다. -또 다른 텐서와 동일한 모양의 all-ones 변수를 인스턴스화 합니다. - - -__Arguments__ - - - +__인자__ - __x__: 케라스 변수 또는 케라스 텐서. -- __dtype__: string, 반환된 케라스 변수의 dtype. - x의 dtype을 사용하지 않습니다. -- __name__: string, 생성할 변수의 이름. +- __dtype__: `str`. 변수의 자료형을 지정합니다. `None`(기본값)인 경우 `x`의 자료형을 따릅니다. +- __name__: `str`. 변수의 이름을 지정합니다. -__Returns__ -ones로 전달된 형식에 대한 케라스 변수. +__반환값__ +`x`와 형태가 같으며 값이 1인 케라스 변수. -__Example__ +__예시__ ```python >>> from keras import backend as K @@ -1103,8 +1034,8 @@ __Example__ array([[ 1., 1., 1.], [ 1., 1., 1.]], dtype=float32) ``` -__Numpy implementation__ +__NumPy 적용__ ```python def ones_like(x, dtype=floatx(), name=None): @@ -1113,32 +1044,25 @@ def ones_like(x, dtype=floatx(), name=None): ---- - ### identity - ```python keras.backend.identity(x, name=None) ``` - 입력 텐서와 내용이 같은 텐서를 반환합니다. -__Arguments__ - -- __x__: 입력텐서. -- __name__: string, 생성 할 변수의 이름. - -__Returns__ - +__인자__ +- __x__: 입력 텐서. +- __name__: `str`. 생성할 변수의 이름을 지정합니다. -형식 및 내용이 같은 텐서. +__반환값__ +`x`와 형태 및 값이 동일한 텐서. + ---- - ### random_uniform_variable - ```python keras.backend.random_uniform_variable(shape, low, high, dtype=None, name=None, seed=None) ``` @@ -1146,22 +1070,22 @@ keras.backend.random_uniform_variable(shape, low, high, dtype=None, name=None, s 균등 분포에서 가져온 값의 변수를 인스턴스화 합니다. -__Arguments__ +__인자__ -- __shape__: integers의 튜플, 반환된 케라스 변수의 형식. +- __shape__: `int`로 이루어진 튜플. 반환된 케라스 변수의 형식. - __low__: float, 출력 범위의 하한. - __high__: float, 출력 번위의 상한. -- __dtype__: string, 반환된 케라스 변수의 dtype. -- __name__: string, 반환된 케라스 변수의 이름. +- __dtype__: `str`. 반환된 케라스 변수의 dtype. +- __name__: `str`. 반환된 케라스 변수의 이름. - __seed__: integer, 난수생성. -__Returns__ +__반환값__ 샘플에서 가져온 케라스 변수. -__Example__ +__예시__ ```python # TensorFlow example @@ -1172,7 +1096,8 @@ __Example__ array([[ 0.10940075, 0.10047495, 0.476143 ], [ 0.66137183, 0.00869417, 0.89220798]], dtype=float32) ``` -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -1193,22 +1118,22 @@ keras.backend.random_normal_variable(shape, mean, scale, dtype=None, name=None, 정규 분포에서 가져온 값의 변수를 인스턴스화 합니다. -__Arguments__ +__인자__ -- __shape__: integers의 튜플, 반환된 케라스 변수의 형식. +- __shape__: `int`로 이루어진 튜플. 반환된 케라스 변수의 형식. - __mean__: float, 정규분포의 평균. - __scale__: float, 정규분포의 표준편차. -- __dtype__: string, 반환된 케라스 변수의 dtype. -- __name__: string, 반환된 케라스 변수의 이름. +- __dtype__: `str`. 반환된 케라스 변수의 dtype. +- __name__: `str`. 반환된 케라스 변수의 이름. - __seed__: integer, 난수생성. -__Returns__ +__반환값__ 샘플에서 가져온 케라스 변수. -__Example__ +__예시__ ```python # TensorFlow example @@ -1219,7 +1144,8 @@ __Example__ array([[ 1.19591331, 0.68685907, -0.63814116], [ 0.92629528, 0.28055015, 1.70484698]], dtype=float32) ``` -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -1240,17 +1166,17 @@ keras.backend.count_params(x) 케라스 변수 또는 텐서에서 요소들의 static 숫자를 반환합니다. -__Arguments__ +__인자__ - __x__: 케라스 텐서 또는 변수. -__Returns__ +__반환값__ -integer,`x`요소의 갯수, +integer,`x`요소의 개수, 즉, 배열의 정적차원static dimensions의 곱 연산. -__Example__ +__예시__ ```python >>> kvar = K.zeros((2,3)) @@ -1260,7 +1186,8 @@ __Example__ array([[ 0., 0., 0.], [ 0., 0., 0.]], dtype=float32) ``` -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -1283,19 +1210,19 @@ keras.backend.cast(x, dtype) 케라스 변수 타입을 바꿔줄 수 있으나 여전히 텐서를 반환합니다. -__Arguments__ +__인자__ - __x__: 케라스 텐서 또는 변수. -- __dtype__: string, 'float16', 'float32', 또는 'float64' +- __dtype__: `str`. 'float16', 'float32', 또는 'float64' -__Returns__ +__반환값__ dtype의 케라스 텐서. -__Example__ +__예시__ ```python >>> from keras import backend as K @@ -1325,13 +1252,13 @@ keras.backend.update(x, new_x) x값을 new_x로 갱신합니다. -__Arguments__ +__인자__ - __x__: 한개의 변수. - __new_x__: x의 같은 형식의 텐서. -__Returns__ +__반환값__ x변수를 갱신합니다. @@ -1348,14 +1275,14 @@ keras.backend.update_add(x, increment) increment를 x에 더한 값을 갱신합니다. -__Arguments__ +__인자__ - __x__: 변수. - __increment__: x와 같은 형식의 텐서. -__Returns__ +__반환값__ 변수 x 갱신. @@ -1372,13 +1299,13 @@ keras.backend.update_sub(x, decrement) decrement를 뺀 후 x의 값 갱신. -__Arguments__ +__인자__ - __x__: A `Variable`. - __decrement__: x와 같은 형식의 텐서. -__Returns__ +__반환값__ 변수 x 갱신. @@ -1395,14 +1322,14 @@ keras.backend.moving_average_update(x, value, momentum) 변수의 이동평균을 계산합니다. -__Arguments__ +__인자__ - __x__: `Variable`. - __value__:같은`x`형식의 텐서. - __momentum__: 이동 평균 운동량. -__Returns__ +__반환값__ 변수를 업데이트하는 연산. @@ -1420,13 +1347,13 @@ keras.backend.dot(x, y) N차원의 텐서를 곱하려고 시도할 때, N차원의 텐서가 Theano의 방식으로 다시 생성합니다. (e.g. `(2, 3) * (4, 3, 5) -> (2, 4, 5)`) -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __y__: 텐서 또는 변수. -__Returns__ +__반환값__ `x` 과 `y`의 내적을 텐서로 반환. @@ -1458,7 +1385,8 @@ __Examples__ >>> K.int_shape(xy) (2, 4, 5) ``` -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -1483,14 +1411,14 @@ x와 y가 배치 데이터일 때, x와 y의 내적을 계산하여 batch_dot을 batch_dot은 입력값보다 차수가 작은 텐서 또는 변수를 반환합니다. 차원의 수가 1로 줄어들면 적어도 2차원이상인지 확인하기 위해 expand_dims를 사용합니다. -__Arguments__ +__인자__ - __x__: `ndim >= 2` 조건의 케라스 텐서 또는 변수. - __y__: `ndim >= 2` 조건의 케라스 텐서 또는 변수. - __axes__: 목적 차원이 감소된 (int,int)튜플 또는 int -__Returns__ +__반환값__ x 형식의 연쇄와 같은 형식의 텐서와 y형식. y형식은 배치차원과 합산된 차원보다 더 적습니다. rank가 1이면, (batch_size,1)로 재설정합니다. @@ -1530,7 +1458,8 @@ result = stack(inner_products) (32, 1, 30) ``` -__Numpy implementation__ +__NumPy 적용__ +
@@ -1605,11 +1534,11 @@ keras.backend.transpose(x) Transposes a tensor and returns it. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -__Returns__ +__반환값__ 텐서. @@ -1636,7 +1565,8 @@ array([[ 1., 4.], ``` -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -1658,18 +1588,19 @@ keras.backend.gather(reference, indices) 텐서 `reference`에서 `indices`의 인덱스 요소를 검색합니다. -__Arguments__ +__인자__ - __reference__: 텐서. - __indices__: 인덱스의 integer텐서. -__Returns__ +__반환값__ reference와 같은 타입의 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -1690,24 +1621,25 @@ keras.backend.max(x, axis=None, keepdims=False) 텐서에 대한 최댓값. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -- __axis__: [-rank(x), rank(x)) 범위의 integers의 튜플 또는 integer +- __axis__: [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플 또는 integer 최댓값을 찾기위한 축. 만약 None이라면 모든 차원에 대한 최댓값을 찾습니다. - __keepdims__: boolean, 차원이 유지되고 있는지에 대한 여부. `keepdims`가`False` 인 경우 텐서의 rank가 1만큼 감소합니다 `keepdims`가`True`이면 축소 된 치수는 길이 1로 유지됩니다. -__Returns__ +__반환값__ x의 최대값에 대한 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -1730,24 +1662,25 @@ keras.backend.min(x, axis=None, keepdims=False) 텐서에 대한 최솟값. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -- __axis__: [-rank(x), rank(x)) 범위의 integers의 튜플 또는 integer +- __axis__: [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플 또는 integer 최솟값을 찾기위한 축. 만약 None이라면 모든 차원에 대한 최솟값을 찾습니다. - __keepdims__: boolean, 차원이 유지되고 있는지에 대한 여부. `keepdims`가`False` 인 경우 텐서의 rank가 1만큼 감소합니다 `keepdims`가`True`이면 축소 된 치수는 길이 1로 유지됩니다. -__Returns__ +__반환값__ x의 최솟값에 대한 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -1770,24 +1703,25 @@ keras.backend.sum(x, axis=None, keepdims=False) 지정된 축에따른 텐서의 값들의 합. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -- __axis__: [-rank(x), rank(x)) 범위의 integers의 튜플 또는 integer를 합산 하기위한 축. +- __axis__: [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플 또는 integer를 합산 하기위한 축. 만약 None이라면 모든 차원에 대한 합의 값을 찾습니다. - __keepdims__: boolean, 차원이 유지되고 있는지에 대한 여부. `keepdims`가`False` 인 경우 텐서의 rank가 1만큼 감소합니다 `keepdims`가`True`이면 축소 된 치수는 길이 1로 유지됩니다. -__Returns__ +__반환값__ 'x'의 합을 가진 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -1811,7 +1745,7 @@ keras.backend.prod(x, axis=None, keepdims=False) 지정된 축을 따라, 텐서의 값을 곱합니다. -__Arguments__ +__인자__ - __x__: A tensor or variable. - __x__: 텐서 또는 변수. @@ -1823,12 +1757,13 @@ __Arguments__ 만약 `keepdims` 가 True라면, 줄어든 차원이 길이 1만큼 유지됩니다. -__Returns__ +__반환값__ 'x'의 요소들의 곱에대한 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -1852,17 +1787,18 @@ keras.backend.cumsum(x, axis=0) 지정된 축에 따라, 텐서 값의 누적된 합계. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __axis__: An integer, 합계를 계산하는 축. -__Returns__ +__반환값__ x의 값에 따른 축의 누적된 합의 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -1884,17 +1820,18 @@ keras.backend.cumprod(x, axis=0) 지정된 축에 따라, 텐서 값의 누적된 곱. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __axis__: An integer, 곱 계산에 대한 축. -__Returns__ +__반환값__ x의 값에 따른 축의 누적된 곱의 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -1915,7 +1852,7 @@ keras.backend.var(x, axis=None, keepdims=False) 지정된 축에 따라, 텐서의 분산. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __axis__: [-rank(x), rank(x)) 범위의 integer타입 리스트 또는 integer으로, 분산을 계산 할 축. @@ -1925,12 +1862,13 @@ __Arguments__ `keepdims` 가 True인 경우, 줄어든 차원의 길이는 1로 유지됩니다. -__Returns__ +__반환값__ `x`의 요소의 분산을 갖는 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -1954,7 +1892,7 @@ keras.backend.std(x, axis=None, keepdims=False) 지정된 축과 함께 텐서의 표준 편차를 반환한다. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __axis__: [-rank(x), rank(x)) 범위의 integer타입 리스트 또는 integer으로, 표준편차를 계산하는 축. @@ -1964,11 +1902,12 @@ __Arguments__ `keepdims` 가 True인 경우, 줄어든 차원의 길이는 1로 유지됩니다. -__Returns__ +__반환값__ x의 요소의 표준편차에 대한 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -1992,7 +1931,7 @@ keras.backend.mean(x, axis=None, keepdims=False) 지정된 축에 따른 텐서의 평균. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. @@ -2003,12 +1942,13 @@ __Arguments__ `keepdims` 가 True인 경우, 줄어든 차원의 길이는 1로 유지됩니다. -__Returns__ +__반환값__ `x`의 요소의 평균을 가진 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -2032,7 +1972,7 @@ keras.backend.any(x, axis=None, keepdims=False) 비트단위 감소(logical OR). -__Arguments__ +__인자__ - __x__: Tensor or variable. @@ -2041,12 +1981,13 @@ __Arguments__ - __keepdims__: 감소한 축을 브로드캐스트 하는지 드롭하는지에 대한 여부. -__Returns__ +__반환값__ uint8텐서 (0s and 1s). -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -2069,7 +2010,7 @@ keras.backend.all(x, axis=None, keepdims=False) 비트단위 감소 (logical AND). -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. @@ -2078,12 +2019,13 @@ __Arguments__ - __keepdims__: 감소한 축을 브로드캐스트 하는지 드롭하는지에 대한 여부. -__Returns__ +__반환값__ uint8텐서 (0s and 1s). -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -2106,17 +2048,18 @@ keras.backend.argmax(x, axis=-1) 축에 따른 최댓값의 인덱스를 반환합니다. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __axis__: 감소 수행에 따른 축. -__Returns__ +__반환값__ 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -2137,17 +2080,18 @@ keras.backend.argmin(x, axis=-1) 축에 따른 최솟값의 인덱스를 반환합니다. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __axis__: 축소를 수행에 따른 축. -__Returns__ +__반환값__ 텐서 -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -2168,11 +2112,11 @@ keras.backend.square(x) 요소별로 제곱계산. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -__Returns__ +__반환값__ 텐서. @@ -2189,11 +2133,11 @@ keras.backend.abs(x) 절대값 계산. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -__Returns__ +__반환값__ 텐서. @@ -2209,15 +2153,16 @@ keras.backend.sqrt(x) 요소별 제곱근 계산. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -__Returns__ +__반환값__ 텐서 -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -2240,11 +2185,11 @@ keras.backend.exp(x) Element-wise exponential. -__Arguments__ +__인자__ - __x__: Tensor or variable. -__Returns__ +__반환값__ A tensor. @@ -2260,11 +2205,11 @@ keras.backend.log(x) log 취하기. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -__Returns__ +__반환값__ 텐서. @@ -2284,7 +2229,7 @@ log(sum(exp(x))) 보다 수치적으로 안정된 함수입니다. 작은 입력값의 log를 가져와서 언더플로가 발생하는 것을 방지합니다. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. @@ -2296,11 +2241,12 @@ __Arguments__ 만약 `keepdims` 가 True라면, 줄어든 차원이 길이 1만큼 유지됩니다. -__Returns__ +__반환값__ 감소된 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -2325,11 +2271,11 @@ keras.backend.round(x) 0.5.의 경우, 가장 가까운 짝수로 반올림 보내는 방식을 사용합니다. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -__Returns__ +__반환값__ 텐서. @@ -2345,11 +2291,11 @@ keras.backend.sign(x) 요소별로 sign 취하기. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -__Returns__ +__반환값__ 텐서. @@ -2366,16 +2312,17 @@ keras.backend.pow(x, a) 요소별로 지수화. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __a__: integer -__Returns__ +__반환값__ 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -2396,17 +2343,18 @@ keras.backend.clip(x, min_value, max_value) 간격이 주어지면 간격 가장자리에서 값이 잘립니다. (클리핑) -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __min_value__: float, integer or tensor. - __max_value__: float, integer or tensor. -__Returns__ +__반환값__ 텐서 -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -2427,17 +2375,18 @@ keras.backend.equal(x, y) 두 텐서 사이의 대등함을 비교. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __y__: 텐서 또는 변수. -__Returns__ +__반환값__ 불리언 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -2457,16 +2406,17 @@ keras.backend.not_equal(x, y) 두 텐서사이 동등하지 않음을 판정. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __y__: 텐서 또는 변수. -__Returns__ +__반환값__ 불리언 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -2487,16 +2437,17 @@ keras.backend.greater(x, y) (x > y)의 진리값. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __y__: 텐서 또는 변수. -__Returns__ +__반환값__ 불리언 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -2517,17 +2468,18 @@ keras.backend.greater_equal(x, y) (x >= y)의 진리값. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __y__: 텐서 또는 변수. -__Returns__ +__반환값__ 불리언 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -2548,16 +2500,17 @@ keras.backend.less(x, y) (x < y)의 진리값. -__Arguments__ +__인자__ - __x__: Tensor or variable. - __y__: Tensor or variable. -__Returns__ +__반환값__ 불리언 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -2578,16 +2531,17 @@ keras.backend.less_equal(x, y) (x <= y)의 진리값. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __y__: 텐서 또는 변수. -__Returns__ +__반환값__ 불리언 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -2608,17 +2562,18 @@ keras.backend.maximum(x, y) 두 텐서사이 최댓값. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __y__: 텐서 또는 변수. -__Returns__ +__반환값__ 한 개의 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -2639,16 +2594,17 @@ keras.backend.minimum(x, y) 두 텐서 사이 최솟값. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __y__: 텐서 또는 변수. -__Returns__ +__반환값__ 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -2669,11 +2625,11 @@ keras.backend.sin(x) x의 sin 계산. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -__Returns__ +__반환값__ 한 개의 텐서. @@ -2689,11 +2645,11 @@ keras.backend.cos(x) x의 cos 계산. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -__Returns__ +__반환값__ 텐서. @@ -2709,7 +2665,7 @@ keras.backend.normalize_batch_in_training(x, gamma, beta, reduction_axes, epsilo 배치에 대한 평균과 표준을 계산 한 다음 배치에 배치 정규화를 적용합니다. -__Arguments__ +__인자__ - __x__: Input 텐서 또는 변수. - __gamma__: 입력 스케일링에 사용되는 텐서. @@ -2718,7 +2674,7 @@ __Arguments__ - __epsilon__: 퍼지 상수. -__Returns__ +__반환값__ `(normalized_tensor, mean, variance)` 인자의 튜플 길이. @@ -2737,7 +2693,7 @@ keras.backend.batch_normalization(x, mean, var, beta, gamma, axis=-1, epsilon=0. I.e. returns: `output = (x - mean) / sqrt(var + epsilon) * gamma + beta` -__Arguments__ +__인자__ - __x__: 입력 텐서 또는 변수. @@ -2750,7 +2706,7 @@ __Arguments__ - __epsilon__: 퍼지 상수. -__Returns__ +__반환값__ 텐서. @@ -2767,12 +2723,12 @@ keras.backend.concatenate(tensors, axis=-1) 지정된 축에따른 텐서의 리스트 연결. -__Arguments__ +__인자__ - __tensors__: 연결 할 텐서의 목록. - __axis__: 연결 축. -__Returns__ +__반환값__ 텐서. @@ -2788,13 +2744,13 @@ keras.backend.reshape(x, shape) 텐서를 지정한 형식으로 다시 재정의 합니다. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __shape__: 대상이 되는 형식튜플. -__Returns__ +__반환값__ 텐서. @@ -2810,13 +2766,13 @@ keras.backend.permute_dimensions(x, pattern) 텐서의 축을 치환합니다. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __pattern__: `(0, 2, 1)`처럼 인덱스들의 차원의 튜플. -__Returns__ +__반환값__ 텐서. @@ -2832,20 +2788,20 @@ keras.backend.resize_images(x, height_factor, width_factor, data_format, interpo 4차원 텐서에 포함된 이미지들을 재조정합니다. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. to resize. - __height_factor__: 양의 정수. - __width_factor__: 양의 정수. -- __data_format__: string, `"channels_last"` 또는 `"channels_first"`. -- __interpolation__: string, `nearest` 또는 `bilinear` 중 하나. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. +- __interpolation__: `str`. `nearest` 또는 `bilinear` 중 하나. -__Returns__ +__반환값__ 텐서. -__Raises__ +__오류__ - __ValueError__: `data_format`이면 'channels_last' 또는 'channels_first' 모두 아니다. @@ -2861,20 +2817,20 @@ keras.backend.resize_volumes(x, depth_factor, height_factor, width_factor, data_ 5차원 텐서에 포함된 볼륨 크기 조정. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. to resize. - __depth_factor__: 양의 정수. - __height_factor__: 양의 정수. - __width_factor__: 양의 정수. -- __data_format__: string, `"channels_last"` 또는 `"channels_first"`. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. -__Returns__ +__반환값__ 한 개의 텐서. -__Raises__ +__오류__ - __ValueError__: `data_format`이면 'channels_last' 또는 'channels_first' 모두 아니다. @@ -2892,13 +2848,13 @@ keras.backend.repeat_elements(x, rep, axis) `x` 형식이 `(s1, s2, s3)` 이고, `axis` 이 `1`이면, 출력형식은 (s1, s2 * rep, s3)`입니다. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __rep__: integer, 반복횟수. - __axis__: 반복 할 축 -__Returns__ +__반환값__ 한 개의 텐서. @@ -2916,12 +2872,12 @@ keras.backend.repeat(x, n) 만약 x가 (samples, dim)형식이고 'n'이 2라면, 출력값은 형식이 (samples, 2, dim)가 됩니다. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __n__: integer, 반복횟수. -__Returns__ +__반환값__ 텐서. @@ -2943,14 +2899,14 @@ keras.backend.arange(start, stop=None, step=1, dtype='int32') 반환 된 텐서의 기본 타입은` 'int32'`입니다. TensorFlow의 기본값과 일치합니다. -__Arguments__ +__인자__ - __start__: 시작 값. - __stop__: 정지 값. - __step__: 두 개의 연속적인 값의 차이. - __dtype__: Integer dtype -__Returns__ +__반환값__ 정수형 텐서. @@ -2968,12 +2924,12 @@ keras.backend.tile(x, n) x를 n으로 나열하여 생성합니다. -__Arguments__ +__인자__ - __x__: 텐서 또는 배열. -- __n__: integer의 리스트. x의 차원의 갯수와 그 길이가 같다. +- __n__: integer의 리스트. x의 차원의 개수와 그 길이가 같다. -__Returns__ +__반환값__ 나열된 텐서. @@ -2989,11 +2945,11 @@ keras.backend.flatten(x) 텐서를 합쳐서 나열합니다. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -__Returns__ +__반환값__ 텐서를 1차원으로 형식을 재구성하여 나열합니다. @@ -3012,11 +2968,11 @@ n차원 텐서를 같은 0차원의 2차원 텐서로 변형합니다. 즉, 배치의 각 데이터 샘플을 위 차원의 변형에 맞게 변환합니다. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -__Returns__ +__반환값__ 텐서. @@ -3032,12 +2988,12 @@ keras.backend.expand_dims(x, axis=-1) 축의 인덱스값에 1만큼의 차원을 더한다. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __axis__: 새로운 축을 추가한 위치. -__Returns__ +__반환값__ 확장한 차원들의 텐서. @@ -3056,12 +3012,12 @@ keras.backend.squeeze(x, axis) 축의 인덱스 값에 해당하는 텐서를 1차원의 크기만큼 제거합니다. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __axis__: 없앨 축. -__Returns__ +__반환값__ @@ -3079,12 +3035,12 @@ keras.backend.temporal_padding(x, padding=(1, 1)) 3차원 텐서의 중간차원을 채웁니다. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -- __padding__: 2 integers의 튜플, 차원 1의 시작과 끝에 얼마나 많은 0을 추가할 지에 대한 수치. +- __padding__: 2개의 `int`로 이루어진 튜플. 차원 1의 시작과 끝에 얼마나 많은 0을 추가할 지에 대한 수치. -__Returns__ +__반환값__ 3차원 텐서를 채워 넣습니다. @@ -3102,18 +3058,18 @@ keras.backend.spatial_2d_padding(x, padding=((1, 1), (1, 1)), data_format=None) 4차원 텐서에서 2차원과 3차원을 채워 넣습니다. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -- __padding__: 2 튜플들의 튜플, 채워진 패턴. -- __data_format__: string, `"channels_last"` 또는 `"channels_first"`. +- __padding__: 2 튜플들의 튜플. 채워진 패턴. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. -__Returns__ +__반환값__ 채워진 4차원 텐서. -__Raises__ +__오류__ - __ValueError__: `data_format`이면 'channels_last' 또는 'channels_first' 모두 아니다. @@ -3136,19 +3092,19 @@ keras.backend.spatial_3d_padding(x, padding=((1, 1), (1, 1), (1, 1)), data_forma 'channels_first'data_format의 경우 3 차원, 4 차원 및 5 차원이 채워집니다. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -- __padding__: 3 튜플들의 튜플, 채워진 패턴. -- __data_format__: string, `"channels_last"` 또는 `"channels_first"`. +- __padding__: 3 튜플들의 튜플. 채워진 패턴. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. -__Returns__ +__반환값__ 채워진 5차원 텐서. -__Raises__ +__오류__ - __ValueError__: `data_format`이면 'channels_last' 또는 'channels_first' 모두 아니다. @@ -3165,16 +3121,17 @@ keras.backend.stack(x, axis=0) 랭크`R` 텐서의 list를 랭크`R + 1` 텐서에 쌓습니다. -__Arguments__ +__인자__ - __x__: 텐서들의 list - __axis__: 텐서를 쌓을 축. -__Returns__ +__반환값__ 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -3195,12 +3152,12 @@ keras.backend.one_hot(indices, num_classes) 정수형 텐서의 원핫 표기를 계산합니다. -__Arguments__ +__인자__ - __indices__: `(batch_size, dim1, dim2, ... dim(n-1))`형식의 n차원 정수형 텐서. -- __num_classes__: integer, 클래스들의 갯수. +- __num_classes__: integer, 클래스들의 개수. -__Returns__ +__반환값__ `(batch_size, dim1, dim2, ... dim(n-1), num_classes)`형식의 입력값의 (n+1)차원의 원핫 표현형식. @@ -3217,16 +3174,17 @@ keras.backend.reverse(x, axes) 지정된 축을 따라 텐서를 반전시킵니다. -__Arguments__ +__인자__ - __x__: 텐서를 반전시킨다. - __axes__: 축이 반전된, 정수형 또는 반복 가능한 정수. -__Returns__ +__반환값__ 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -3249,21 +3207,22 @@ keras.backend.slice(x, start, size) 텐서에서 슬라이스를 추출합니다. -__Arguments__ +__인자__ - __x__: 입력 텐서. - __start__: 각 축에 따라 슬라이스의 시작 인덱스를 나타내는 텐서 또는 integer리스트/튜플 자료형. - __size__: 각 축을 따라 슬라이스 할 차원의 수를 나타내는 텐서 또는 integer리스트/튜플 자료형. -__Returns__ +__반환값__ A sliced tensor: ```python new_x = x[start[0]: start[0] + size[0], ..., start[-1]: start[-1] + size[-1]] ``` -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -3285,11 +3244,11 @@ keras.backend.get_value(x) Returns the value of a variable. -__Arguments__ +__인자__ - __x__: 입력 변수. -__Returns__ +__반환값__ 넘파이 배열. @@ -3305,11 +3264,11 @@ keras.backend.batch_get_value(ops) 한 가지 이상의 텐서 변수의 값을 반환합니다. -__Arguments__ +__인자__ - __ops__: 실행할 ops 목록. -__Returns__ +__반환값__ 넘파이 배열 리스트. @@ -3325,7 +3284,7 @@ keras.backend.set_value(x, value) 넘파이 배열에서 변수의 값을 설정합니다. -__Arguments__ +__인자__ - __x__: 새로운 값으로 설정하는 텐서. - __value__: 넘파이 배열로 텐서를 설정하는 값. @@ -3343,7 +3302,7 @@ keras.backend.batch_set_value(tuples) 한번에 밚은 텐서 변수들의 값을 설정합니다. -__Arguments__ +__인자__ - __tuples__: `(tensor, value)` 튜플 리스트, value인자는 넘파이 배열이어야 합니다. @@ -3365,19 +3324,19 @@ keras.backend.print_tensor(x, message='') -__Example__ +__예시__ ```python >>> x = K.print_tensor(x, message="x is: ") ``` -__Arguments__ +__인자__ - __x__: 출력 할 텐서. - __message__: 텐서와 함께 출력 할 메시지. -__Returns__ +__반환값__ 변경되지 않은 같은 텐서 `x`. @@ -3393,7 +3352,7 @@ keras.backend.function(inputs, outputs, updates=None) 케라스 함수 인스턴스화하기. -__Arguments__ +__인자__ - __inputs__: 플레이스홀더 텐서의 리스트. - __outputs__: 출력 텐서의 리스트. @@ -3401,12 +3360,12 @@ __Arguments__ - __**kwargs__: `tf.Session.run`에 전달되는 값. -__Returns__ +__반환값__ 넘파이 배열의 값 출력. -__Raises__ +__오류__ - __ValueError__: 유효하지 않은 kwargs 가 전달된 경우. @@ -3422,12 +3381,12 @@ keras.backend.gradients(loss, variables) 변수에 대한 손실의 그라디언트를 반환합니다. -__Arguments__ +__인자__ - __loss__: 최소화시킨 스칼라값 텐서. - __variables__: 변수들의 리스트. -__Returns__ +__반환값__ 그라디언트 텐서. @@ -3443,11 +3402,11 @@ keras.backend.stop_gradient(variables) 모든 다른 변수에 대한 0 그라디언트 'variables'를 반환합니다. -__Arguments__ +__인자__ - __variables__: 또 다른 변수에 대한 상수를 고려한 텐서 또는 텐서의 리스트. -__Returns__ +__반환값__ 전달받은 인자에 따른 또 다른 변수에 대한 상수 그라디언트를 가진 텐서 또는 텐서의 리스트. @@ -3465,7 +3424,7 @@ keras.backend.rnn(step_function, inputs, initial_states, go_backwards=False, mas 텐서의 시간 차원에 대한 반복. -__Arguments__ +__인자__ - __step_function__: 매개변수: @@ -3484,7 +3443,7 @@ __Arguments__ - __input_length__: 입력 시, 시간단계의 static숫자. -__Returns__ +__반환값__ A tuple, `(last_output, outputs, new_states)`. @@ -3493,7 +3452,7 @@ outputs: `(samples, time, ...)` 형식이 있는 텐서 의 각 `outputs[s, t]` new_states: `(samples, ...)`형식의 단계함수로 반환된 최근 상태의 텐서 리스트. -__Raises__ +__오류__ - __ValueError__: 입력 차원이 3보다 작은 경우. - __ValueError__: `unroll`이 `True`인 경우. @@ -3501,7 +3460,8 @@ __Raises__ - __ValueError__: `mask` 가 존재하면 (not `None`) 상태는 (`len(states)` == 0). -__Numpy implementation__ +__NumPy 적용__ +
@@ -3574,22 +3534,23 @@ keras.backend.switch(condition, then_expression, else_expression) `then_expression` 와 `else_expression` 모두 동일 모양의 기호 텐서. -__Arguments__ +__인자__ - __condition__: 텐서 (int or bool). - __then_expression__: 텐서 또는 텐서를 반환하는 호출가능한 값. - __else_expression__: 텐서 또는 텐서를 반환하는 호출가능한 값. -__Returns__ +__반환값__ 지정한 텐서. -__Raises__ +__오류__ - __ValueError__: 표현된 랭크보다 더 나은 'condition'의 랭크일 경우, 에러. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -3615,7 +3576,7 @@ keras.backend.in_train_phase(x, alt, training=None) `alt`는`x`와 동일한 모양 *을 가져야합니다. -__Arguments__ +__인자__ - __x__: 훈련 단계에서 반환하는 것. @@ -3626,7 +3587,7 @@ __Arguments__ (Python boolean 또는 Python integer) -__Returns__ +__반환값__ 플래그에 기반한 `x` 또는 `alt`. `training` 플래그는 기본적으로 `K.learning_phase()`입니다. @@ -3645,7 +3606,7 @@ keras.backend.in_test_phase(x, alt, training=None) `alt`는`x`와 동일한 모양 *을 가져야합니다. -__Arguments__ +__인자__ - __x__: 테스트 단계에서 반환 할 내용. (tensor or callable that returns a tensor). @@ -3655,7 +3616,7 @@ __Arguments__ (Python boolean 또는 Python integer) -__Returns__ +__반환값__ 'learning_phase()'에 기반한 `x` 또는 `alt'. @@ -3678,18 +3639,19 @@ keras.backend.relu(x, alpha=0.0, max_value=None, threshold=0.0) `f(x) = x` for `threshold <= x < max_value`, `f(x) = alpha * (x - threshold)` otherwise. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __alpha__: 음수 섹션의 스칼라, 기울기 (default=`0.`). - __max_value__: float, 포화상태의 임계값. - __threshold__: float, 임계값 활성화에 대한 임계값. -__Returns__ +__반환값__ 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -3715,16 +3677,17 @@ keras.backend.elu(x, alpha=1.0) 지수적증가의 선형 단위. -__Arguments__ +__인자__ - __x__: 활성화 함수를 계산할 텐서 또는 변수 입니다. - __alpha__: 음수 섹션의 스칼라, 기울기. -__Returns__ +__반환값__ 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -3745,17 +3708,18 @@ keras.backend.softmax(x, axis=-1) 텐서의 Softmax. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __axis__: 차수 softmax가 수행 됩니다. 기본값은 -1을 나타내며 마지막 차원을 나타냅니다. -__Returns__ +__반환값__ 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -3777,15 +3741,16 @@ keras.backend.softplus(x) 텐서의 Softplus. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -__Returns__ +__반환값__ 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -3806,15 +3771,16 @@ keras.backend.softsign(x) 텐서의 Softsign. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -__Returns__ +__반환값__ 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -3835,7 +3801,7 @@ keras.backend.categorical_crossentropy(target, output, from_logits=False, axis=- 결과 텐서와 목표 텐서 사이의 범주형의 크로스엔트로피. -__Arguments__ +__인자__ - __target__: `output`과 같은 모양의 텐서. - __output__: softmax의 결과 텐서. @@ -3846,11 +3812,11 @@ __Arguments__ `channels_last`형식 데이터에 해당합니다, `channels_first` 데이터 형식은 `axis=1`에 해당 합니다. -__Returns__ +__반환값__ 출력 텐서. -__Raises__ +__오류__ - __ValueError__: `output`의 축 도 아니고 -1도 아닌 축. @@ -3867,7 +3833,7 @@ keras.backend.sparse_categorical_crossentropy(target, output, from_logits=False, 정수 목표를 가진 범주형 크로스엔트로피. -__Arguments__ +__인자__ - __target__: An integer tensor. - __output__: softmax의 결과로 나온 텐서. @@ -3879,11 +3845,11 @@ __Arguments__ `channels_last` 데이터 형식에 해당하는 Int 채널 축을 지정합니다. `axis=-1` and `axis=1` corresponds to data format `channels_first`. -__Returns__ +__반환값__ 텐서. -__Raises__ +__오류__ - __ValueError__: `axis`가 -1 또는 `output`의 축 모두 아니다. @@ -3900,14 +3866,14 @@ keras.backend.binary_crossentropy(target, output, from_logits=False) 출력 텐서와 목표 텐서 사나의 이진 크로스엔트로피. -__Arguments__ +__인자__ - __target__: `output`과 같은 형식의 텐서. - __output__: 텐서. - __from_logits__: logits 텐서가 출력값으로 나올 것인지에 대한 값. 기본적으로 'output'은 확률분포를 내포 합니다. -__Returns__ +__반환값__ 텐서. @@ -3923,15 +3889,16 @@ keras.backend.sigmoid(x) 요소별로 sigmoid. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -__Returns__ +__반환값__ 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -3958,15 +3925,16 @@ Returns `0.` if `x < -2.5`, `1.` if `x > 2.5`. In `-2.5 <= x <= 2.5`, returns `0.2 * x + 0.5`. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -__Returns__ +__반환값__ 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -3988,15 +3956,16 @@ keras.backend.tanh(x) 요소별로 tanh. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -__Returns__ +__반환값__ 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -4017,7 +3986,7 @@ keras.backend.dropout(x, level, noise_shape=None, seed=None) 전체 텐서를 스케일링하는 동안 'x'의 항목을 임의로 설정합니다. -__Arguments__ +__인자__ - __x__: 텐서. - __level__: 텐서 항목의 일부가 0으로 설정됩니다. @@ -4025,12 +3994,13 @@ __Arguments__ - __seed__: 결정성을 보장하기 위한 난수생성. -__Returns__ +__반환값__ 텐서. -__Numpy implementation__ +__NumPy 적용__ +
@@ -4065,17 +4035,18 @@ keras.backend.l2_normalize(x, axis=None) 지정된 축을 따라 L2 norm으로 텐서를 정규화 시킨다. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __axis__: axis along which to perform normalization. 정규화를 수행하는 축. -__Returns__ +__반환값__ 텐서. -__Numpy implementation__ +__NumPy 적용__ + ```python @@ -4097,13 +4068,13 @@ keras.backend.in_top_k(predictions, targets, k) `targets`이 최상위`k` `predictions`에 있는지를 반환합니다. -__Arguments__ +__인자__ - __predictions__: `float32`타입과 `(batch_size, classes)`형식의 텐서. - __targets__: `batch_size` and type `int32` or `int64`의 길이의 1차원 텐서. - __k__: An `int`, 고려해야 할 최상위 요소의 수. -__Returns__ +__반환값__ A 1D tensor of length `batch_size` and type `bool`. 만약 `predictions[i, targets[i]]` 이 top-`k`내에 있다면, `output[i]` 이 `True`. @@ -4121,22 +4092,22 @@ keras.backend.conv1d(x, kernel, strides=1, padding='valid', data_format=None, di 1D convolution. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __kernel__: 커널 텐서. - __strides__: 정수형 스트라이드. -- __padding__: string, `"same"`, `"causal"` or `"valid"`. -- __data_format__: string, `"channels_last"` or `"channels_first"`. +- __padding__: `str`. `"same"`, `"causal"` or `"valid"`. +- __data_format__: `str`. `"channels_last"` or `"channels_first"`. - __dilation_rate__: 정수 확장 비율. -__Returns__ +__반환값__ 1차원 컨볼루션 연산 결과, 텐서 값. -__Raises__ +__오류__ - __ValueError__:`data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. @@ -4153,23 +4124,23 @@ keras.backend.conv2d(x, kernel, strides=(1, 1), padding='valid', data_format=Non 2차원 컨볼루션. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __kernel__: 커널 텐서. - __strides__: 스트라이드 튜플. -- __padding__: string, `"same"` or `"valid"`. -- __data_format__: string, `"channels_last"` or `"channels_first"`. +- __padding__: `str`. `"same"` or `"valid"`. +- __data_format__: `str`. `"channels_last"` or `"channels_first"`. inputs/kernels/outputs에 대한 Theano 또는 TensorFlow/CNTK데이터 형식을 사용할 여부. - __dilation_rate__: 2 integers의 튜플. -__Returns__ +__반환값__ 텐서, 2차원 컨볼루션 연산 결과. -__Raises__ +__오류__ - __ValueError__: `data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. @@ -4186,24 +4157,24 @@ keras.backend.conv2d_transpose(x, kernel, output_shape, strides=(1, 1), padding= 2차원의 트렌스포즈된 컨볼루션 연산을 수행합니다. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __kernel__: 커널 텐서. - __output_shape__: 1D int tensor 출력 형식에 대해 1차원 int텐서 - __strides__: 스트라이드 튜플. -- __padding__: string, `"same"` 또는 `"valid"`. -- __data_format__: string, `"channels_last"` 또는 `"channels_first"`. +- __padding__: `str`. `"same"` 또는 `"valid"`. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. inputs/kernels/outputs에 대한 Theano 또는 TensorFlow/CNTK 데이터 형태 -- __dilation_rate__: 2 integers의 튜플. +- __dilation_rate__: 2개의 `int`로 이루어진 튜플. -__Returns__ +__반환값__ 2차원의 트렌스포즈된 컨볼루션 결과, 텐서. -__Raises__ +__오류__ - __ValueError__: `data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. @@ -4219,24 +4190,24 @@ keras.backend.separable_conv1d(x, depthwise_kernel, pointwise_kernel, strides=1, 분리가능한 필터와 1차원 컨볼루션 연산. -__Arguments__ +__인자__ - __x__: input tensor - __depthwise_kernel__: 깊이 컨볼루션을 위한 컨볼루션 커널. - __pointwise_kernel__: 1x1 컨볼루션에 대한 커널. - __strides__: 스트라이드 정수형. -- __padding__: string, `"same"` or `"valid"`. -- __data_format__: string, `"channels_last"` or `"channels_first"`. +- __padding__: `str`. `"same"` or `"valid"`. +- __data_format__: `str`. `"channels_last"` or `"channels_first"`. - __dilation_rate__: integer dilation rate. -__Returns__ +__반환값__ 출력 텐서. -__Raises__ +__오류__ - __ValueError__: `data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. @@ -4252,24 +4223,24 @@ keras.backend.separable_conv2d(x, depthwise_kernel, pointwise_kernel, strides=(1 분리가능한 필터와 2차원 컨볼루션 연산. -__Arguments__ +__인자__ - __x__: input tensor - __depthwise_kernel__: 깊이 컨볼루션을 위한 컨볼루션 커널. - __pointwise_kernel__: 1x1 컨볼루션에 대한 커널. - __strides__: strides tuple (length 2). -- __padding__: string, `"same"` or `"valid"`. -- __data_format__: string, `"channels_last"` or `"channels_first"`. -- __dilation_rate__: integers의 튜플, +- __padding__: `str`. `"same"` or `"valid"`. +- __data_format__: `str`. `"channels_last"` or `"channels_first"`. +- __dilation_rate__: integers의 튜플. 분리가능한 컨볼루션의 팽창률. -__Returns__ +__반환값__ 출력 텐서. -__Raises__ +__오류__ - __ValueError__: `data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. @@ -4285,22 +4256,22 @@ keras.backend.depthwise_conv2d(x, depthwise_kernel, strides=(1, 1), padding='val 분리가능한 필터로 2차원 컨볼루션 연산. -__Arguments__ +__인자__ - __x__: input tensor - __depthwise_kernel__: 깊이 별 컨볼루션 연산을 위한 컨볼루션 커널. - __strides__: strides tuple (length 2). - __padding__: string, `"same"` or `"valid"`. - __data_format__: string, `"channels_last"` or `"channels_first"`. -- __dilation_rate__: integers의 튜플, +- __dilation_rate__: integers의 튜플. 분리가능한 컨볼루션의 팽창률. -__Returns__ +__반환값__ 출력텐서. -__Raises__ +__오류__ - __ValueError__: `data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. @@ -4316,22 +4287,22 @@ keras.backend.conv3d(x, kernel, strides=(1, 1, 1), padding='valid', data_format= 3차원 컨볼루션 연산. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __kernel__: 커널 텐서. - __strides__: 스트라이드 튜플. -- __padding__: string, `"same"` 또는 `"valid"`. -- __data_format__: string, `"channels_last"` 또는 `"channels_first"`. +- __padding__: `str`. `"same"` 또는 `"valid"`. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. inputs/kernels/outputs에 대한 Theano 또는 TensorFlow/CNTK 데이터 형태 -- __dilation_rate__: 2 integers의 튜플. +- __dilation_rate__: 2개의 `int`로 이루어진 튜플. -__Returns__ +__반환값__ 텐서, 3차원 컨볼루션 연산 결과. -__Raises__ +__오류__ - __ValueError__: `data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. @@ -4347,23 +4318,23 @@ keras.backend.conv3d_transpose(x, kernel, output_shape, strides=(1, 1, 1), paddi 3차원 트렌스포즈 컨볼루션. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __kernel__: 커널 텐서. - __output_shape__: 결과값 형식에 대한 1차원 정수형 텐서. - __strides__: 스트라이드 튜플. -- __padding__: string, `"same"` 또는 `"valid"`. -- __data_format__: string, `"channels_last"` 또는 `"channels_first"`. +- __padding__: `str`. `"same"` 또는 `"valid"`. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. inputs/kernels/outputs에 대한 Theano 또는 TensorFlow/CNTK 데이터 형태 -- __dilation_rate__: 2 integers의 튜플. +- __dilation_rate__: 2개의 `int`로 이루어진 튜플. -__Returns__ +__반환값__ 트렌스포즈된 3차원 컨볼루션 연산결과 텐서. -__Raises__ +__오류__ - __ValueError__: `data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. @@ -4379,21 +4350,21 @@ keras.backend.pool2d(x, pool_size, strides=(1, 1), padding='valid', data_format= 2차원 풀링연산. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -- __pool_size__: 2 integers의 튜플. -- __strides__: 2 integers의 튜플. -- __padding__: string, `"same"` 또는 `"valid"`. -- __data_format__: string, `"channels_last"` 또는 `"channels_first"`. -- __pool_mode__: string, `"max"` `"avg"`. +- __pool_size__: 2개의 `int`로 이루어진 튜플. +- __strides__: 2개의 `int`로 이루어진 튜플. +- __padding__: `str`. `"same"` 또는 `"valid"`. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. +- __pool_mode__: `str`. `"max"` `"avg"`. -__Returns__ +__반환값__ 2차원 풀링 연산 결과값의 텐서. -__Raises__ +__오류__ - __ValueError__: `data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. @@ -4411,20 +4382,20 @@ keras.backend.pool3d(x, pool_size, strides=(1, 1, 1), padding='valid', data_form 3D Pooling. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. -- __pool_size__: 3 integers의 튜플. -- __strides__: 3 integers의 튜플. -- __padding__: string, `"same"` 또는 `"valid"`. -- __data_format__: string, `"channels_last"` 또는 `"channels_first"`. -- __pool_mode__: string, `"max"` 또는 `"avg"`. +- __pool_size__: 3개의 `int`로 이루어진 튜플. +- __strides__: 3개의 `int`로 이루어진 튜플. +- __padding__: `str`. `"same"` 또는 `"valid"`. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. +- __pool_mode__: `str`. `"max"` 또는 `"avg"`. -__Returns__ +__반환값__ 텐서, 3차원 풀링 결과. -__Raises__ +__오류__ - __ValueError__: `data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. @@ -4442,18 +4413,18 @@ keras.backend.bias_add(x, bias, data_format=None) 텐서에 대한 바이어스 벡터 추가. -__Arguments__ +__인자__ - __x__: 텐서 또는 변수. - __bias__: 추가 할 바이어스 텐서. -- __data_format__: string, `"channels_last"` 또는 `"channels_first"`. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. -__Returns__ +__반환값__ 결과 텐서. -__Raises__ +__오류__ ValueError : 아래 두 경우 중 하나에서 : 1. 유효하지 않은`data_format` 인수. @@ -4461,7 +4432,8 @@ ValueError : 아래 두 경우 중 하나에서 : 편향은 벡터이거나 ndim (x)-1 차원의 텐서. -__Numpy implementation__ +__NumPy 적용__ +
@@ -4495,16 +4467,16 @@ keras.backend.random_normal(shape, mean=0.0, stddev=1.0, dtype=None, seed=None) 값의 정규분포를 포함한 텐서를 반환 합니다. -__Arguments__ +__인자__ -- __shape__: integers의 튜플, 생성할 텐서의 형식. +- __shape__: `int`로 이루어진 튜플. 생성할 텐서의 형식. - __mean__: float, 정규 분포의 평균 그리기. - __stddev__: float, 정규 분포의 표준편차 그리기. -- __dtype__: string, 반환된 텐서의 dtype. -- __seed__: Integer, random seed. +- __dtype__: `str`. 반환된 텐서의 dtype. +- __seed__: `int`. random seed. -__Returns__ +__반환값__ 텐서. @@ -4520,16 +4492,16 @@ keras.backend.random_uniform(shape, minval=0.0, maxval=1.0, dtype=None, seed=Non 값의 균등분포를 포함한 텐서를 반환 합니다. -__Arguments__ +__인자__ -- __shape__: integers의 튜플, 생성할 텐서의 형식. +- __shape__: `int`로 이루어진 튜플. 생성할 텐서의 형식. - __minval__: float, 균등 분포의 하한 샘플 그리기. - __maxval__: float, 균등 분포의 상한 샘플 그리기. -- __dtype__: string, 반환된 텐서의 dtype. -- __seed__: Integer, random seed. +- __dtype__: `str`. 반환된 텐서의 dtype. +- __seed__: `int`. random seed. -__Returns__ +__반환값__ 텐서. @@ -4545,14 +4517,14 @@ keras.backend.random_binomial(shape, p=0.0, dtype=None, seed=None) 값의 임의의 이항 분포의 텐서를 반환합니다. -__Arguments__ +__인자__ -- __shape__: integers의 튜플, 생성할 텐서의 형식. +- __shape__: `int`로 이루어진 튜플. 생성할 텐서의 형식. - __p__: float, `0. <= p <= 1`범위의 이항 분포의 확률 -- __dtype__: string, 반환된 텐서의 dtype. -- __seed__: Integer, random seed. +- __dtype__: `str`. 반환된 텐서의 dtype. +- __seed__: `int`. random seed. -__Returns__ +__반환값__ 텐서. @@ -4573,15 +4545,15 @@ keras.backend.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=None, seed=Non 평균에 대한 두 표준편차가 제거되고 다시 지정되어 크기가 더 큰 값을 제외한 뒤 지정된 평균과 표준편차로 정규푼보에 따라 생성된 값. -__Arguments__ +__인자__ -- __shape__: integers의 튜플, 생성할 텐서의 형식. +- __shape__: `int`로 이루어진 튜플. 생성할 텐서의 형식. - __mean__: 값들의 평균. - __stddev__: 값들의 표준편차. -- __dtype__: string, 반환된 텐서의 dtype. -- __seed__: Integer, 난수생성. +- __dtype__: `str`. 반환된 텐서의 dtype. +- __seed__: `int`. 난수생성. -__Returns__ +__반환값__ 텐서. @@ -4598,12 +4570,12 @@ keras.backend.ctc_label_dense_to_sparse(labels, label_lengths) -__Arguments__ +__인자__ - __labels__: dense CTC 레이블. - __label_lengths__: 레이블의 길이. -__Returns__ +__반환값__ 레이블의 희소 텐서 표현. @@ -4619,7 +4591,7 @@ keras.backend.ctc_batch_cost(y_true, y_pred, input_length, label_length) 각 배치에서 CTC손실 알고리즘을 수행합니다. -__Arguments__ +__인자__ - __y_true__: truth 레이블을 포함한 `(samples, max_string_length)` 텐서. @@ -4628,7 +4600,7 @@ __Arguments__ - __label_length__: `y_true`의 각 배치 항목의 시퀀스 길이를 포함하는 `(samples, 1)`텐서. -__Returns__ +__반환값__ 각 요소의 CTC 손실값을 포함한 텐서의 (samples,1)형식. @@ -4647,7 +4619,7 @@ keras.backend.ctc_decode(y_pred, input_length, greedy=True, beam_width=100, top_ 그리디 탐색(최적화)이나 제한적인 딕셔너리 탐색이 가능합니다. -__Arguments__ +__인자__ - __y_pred__: 예측을 포함한 `(samples, time_steps, num_categories)` 텐서 또는 소프트맥스의 출력. @@ -4657,7 +4629,7 @@ __Arguments__ - __top_paths__: `greedy`가 `false`일 때, 가장 가능할만한 경로 중에 얼마나 많은 경로가 있는지 반환합니다. -__Returns__ +__반환값__ - __Tuple__: List: `greedy`가 `true`일 때, 디코딩 된 시퀀스를 포함한 요소의 리스트를 반환합니다. @@ -4676,14 +4648,14 @@ keras.backend.map_fn(fn, elems, name=None, dtype=None) fn 함수를 요소 위에 맵핑하고 출력을 반환합니다. -__Arguments__ +__인자__ - __fn__: elems에 있는 각 요소에 대해 호출가능. - __elems__: 텐서 - __name__: 그래프에서 맵 노드에 대한 문자열 이름. - __dtype__: 출력 데이터 타입. -__Returns__ +__반환값__ `dtype`의 텐서. @@ -4699,14 +4671,14 @@ keras.backend.foldl(fn, elems, initializer=None, name=None) 왼쪽에서 오른쪽으로 결합하기위해 fn을 사용해 요소를 감소시킵니다. -__Arguments__ +__인자__ - __fn__: elems에서 각 요소에 호출 될 연산기, 예를 들어, `lambda acc, x: acc + x` - __elems__: 텐서 - __initializer__: 사용된 첫 번째 값. (`elems[0]` in case of None) - __name__: 그래프 fodl 노드에 대한 문자열 이름. -__Returns__ +__반환값__ `initializer` 모양과 같은 타입의 텐서. @@ -4722,7 +4694,7 @@ keras.backend.foldr(fn, elems, initializer=None, name=None) fn인자를 사용하여 오른쪽에서 왼쪽으로 텐서 요소들을 줄인다. -__Arguments__ +__인자__ - __fn__: elems에서 호출가능한 각 요소와 누산기. 예를들어, `lambda acc, x: acc + x` @@ -4730,7 +4702,7 @@ __Arguments__ - __initializer__: 사용된 첫번 째 값 (`elems[-1]` in case of None) - __name__: 그래프에서 foldr node의 문자열 이름 -__Returns__ +__반환값__ `initializer` 모양과 같은 타입의 텐서. @@ -4748,7 +4720,7 @@ keras.backend.local_conv1d(inputs, kernel, kernel_size, strides, data_format=Non 공유되지 않은 가중치를 1D 컨볼루션에 적용합니다. -__Arguments__ +__인자__ - __inputs__: 3D 텐서의 형식: (batch_size, steps, input_dim) - __kernel__: (output_length, feature_dim, filters)형식의 컨볼루션의 공유되지 않은 가중치. @@ -4757,11 +4729,11 @@ __Arguments__ - __data_format__: 데이터 형식, channels_first 또는 channels_last -__Returns__ +__반환값__ (batch_size, output_length, filters)형식: 공유되지 않은 가중치로 1d 컨볼루션 연산 후의 텐서. -__Raises__ +__오류__ - __ValueError__: If `data_format`가 channels_last 또는 channels_first"`이 아닐 때, 오류. @@ -4779,7 +4751,7 @@ keras.backend.local_conv2d(inputs, kernel, kernel_size, strides, output_shape, d 2D 컨볼루션에 공유되지 않은 가중치를 적용합니다. -__Arguments__ +__인자__ - __inputs__: data_format='channels_first'일 때, 4D 텐서 형식: @@ -4787,13 +4759,13 @@ __Arguments__ data_format='channels_last'일 때, 4D 텐서 형식: (batch_size, new_rows, new_cols, filters) - __kernel__: (output_items, feature_dim, filters) 형식의 컨볼루션 연산을 위한 공유되지 않은 가중치 -- __kernel_size__: 2차원 컨볼루션 윈도우의 너비와 높이를 지정한 2integers의 튜플. -- __strides__: 2integers인 튜플, 너비와 높이에 따른 컨볼루션의 스트라이드를 지정합니다. +- __kernel_size__: 2차원 컨볼루션 윈도우의 너비와 높이를 지정한 2개의 `int`로 이루어진 튜플. +- __strides__: 2integers인 튜플. 너비와 높이에 따른 컨볼루션의 스트라이드를 지정합니다. - __output_shape__: (output_row, output_col)형태의 튜플 - __data_format__: 데이터 형식, 'channels_first' 또는 'channels_last'. -__Returns__ +__반환값__ 4d 텐서의 형식: data_format='channels_first'일 때, @@ -4803,34 +4775,12 @@ data_format='channels_first'일 때, data_format='channels_last'일 때, (batch_size, new_rows, new_cols, filters) -__Raises__ +__오류__ - __ValueError__: data_formatchannels_last 또는 channels_first이 아니었을 때, 오류. ----- - -### backend - -```python -keras.backend.backend() -``` - - -백엔드를 결정하기 위한 공개접근방식. - - -__Returns__ - -string, 현재 사용 중인 케라스 백엔드 이름. - -__Example__ - -```python ->>> keras.backend.backend() -'tensorflow' -``` From bdf142d539ebf1034e76e104c9e4d349b407c172 Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Fri, 27 Dec 2019 16:30:23 +0900 Subject: [PATCH 04/25] =?UTF-8?q?=EB=B0=98=ED=99=98=EA=B0=92=20=EC=A4=84?= =?UTF-8?q?=EB=B0=94=EA=BF=88=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sources/backend.md | 429 ++++++++++++++++++++++++++++++--------------- 1 file changed, 286 insertions(+), 143 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index 38b847d9..d8d642a4 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -144,7 +144,8 @@ keras.backend.backend() 현재 사용중인 백엔드의 이름을 반환합니다.(예: "tensorflow") -__반환값__ +__반환값__ + `str`. 현재 사용 중인 케라스 백엔드 이름. __예시__ @@ -166,7 +167,8 @@ keras.backend.symbolic(func) __인자__ - __func__: 데코레이터를 적용할 함수입니다. -__반환값__ +__반환값__ + 데코레이터가 적용된 함수. @@ -181,7 +183,8 @@ keras.backend.eager(func) __인자__ - __func__: 데코레이터를 적용할 함수. -__반환값__ +__반환값__ + 데코레이터가 적용된 함수. @@ -197,7 +200,8 @@ keras.backend.get_uid(prefix='') __인자__ - __prefix__: 그래프의 문자열 접두어. -__반환값__ +__반환값__ + 고유 정수 식별자(uid) @@ -244,7 +248,8 @@ keras.backend.epsilon() fuzz factor(엡실론: 0으로 나누는 오류를 방지하기 위해 분모에 더하는 작은 상수값)을 반환합니다. -__반환값__ +__반환값__ + 단일 실수(부동소수점) 값. __예시__ @@ -286,7 +291,8 @@ keras.backend.floatx() 실수 표현에 사용하는 부동소수점 유형의 기본값을 문자열로 반환합니다. (예: 'float16', 'float32', 'float64'). -__반환값__ +__반환값__ + `str`. 현재 설정된 부동소수점 유형의 기본값. __예시__ @@ -331,7 +337,8 @@ NumPy 배열을 케라스에 지정된 기본 실수형 타입으로 변환합 __인자__ - __x__: NumPy 배열. -__반환값__ +__반환값__ + 변환된 NumPy 배열. __예시__ @@ -360,7 +367,8 @@ keras.backend.image_data_format() 케라스가 처리할 이미지 데이터 유형의 기본값을 반환합니다. -__반환값__ +__반환값__ + `'channels_first'` 또는 `'channels_last'`의 문자열. @@ -408,7 +416,8 @@ keras.backend.learning_phase() `bool`형식의 텐서로, 학습할 때와 테스트할 때의 작동이 달라지는 모든 케라스 함수들에 전달되어 현재 어떤 단계에 있는지를 알립니다(0=시험, 1=학습). -__반환값__ +__반환값__ + 학습 단계 (스칼라 정수 텐서 또는 파이썬 정수형). @@ -450,7 +459,8 @@ keras.backend.is_sparse(tensor) __인자__ - __tensor__: 한 개의 텐서 인스턴스. -__반환값__ +__반환값__ + 불리언. __예시__ @@ -478,7 +488,8 @@ keras.backend.to_dense(tensor) __인자__ - __tensor__: (희소 형태일 가능성이 있는) 텐서 인스턴스. -__반환값__ +__반환값__ + 한 개의 밀집 텐서. __예시__ @@ -509,7 +520,8 @@ __인자__ - __name__: 텐서의 이름(선택사항). - __constraint__: 최적화 함수optimizer로 변수 값을 업데이트한 다음에 적용할 제약 함수입니다(선택사항). -__반환값__ +__반환값__ + (케라스 메타데이터가 포함된) 변수 인스턴스. __예시__ @@ -542,7 +554,8 @@ __인자__ - __shape__: 텐서의 형태(선택사항). - __name__: 텐서의 이름(선택사항). -__반환값__ +__반환값__ + 상수 텐서 @@ -560,7 +573,8 @@ keras.backend.is_keras_tensor(x) __인자__ - __x__: 확인할 텐서. -__반환값__ +__반환값__ + 주어진 인자가 케라스 텐서인지의 여부를 나타내는 `bool`값. __오류__ @@ -607,7 +621,8 @@ keras.backend.is_tensor(x) __인자__ - __x__: 확인할 텐서. -__반환값__ +__반환값__ + 주어진 인자가 백엔드의 텐서인지의 여부를 나타내는 `bool`값. @@ -627,7 +642,8 @@ __인자__ - __sparse__: `bool`. 플레이스홀더가 희소sparse타입이어야 하는지의 여부를 결정합니다. - __name__: `str`. 플레이스홀더의 이름을 정합니다(선택사항). -__반환값__ +__반환값__ + (케라스 메타데이터가 포함된) 텐서 인스턴스. __예시__ @@ -653,7 +669,8 @@ keras.backend.is_placeholder(x) __인자__ - __x__: 확인할 플레이스홀더. -__반환값__ +__반환값__ + 주어진 인자가 플레이스홀더인지의 여부를 나타내는 `bool`값. @@ -669,7 +686,8 @@ keras.backend.shape(x) __인자__ - __x__: 한 개의 텐서 또는 변수. -__반환값__ +__반환값__ + (심볼릭) 형태 값을 저장한 텐서. __예시__ @@ -704,7 +722,8 @@ keras.backend.int_shape(x) __인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + 정수 또는 None을 포함한 튜플. __예시__ @@ -739,7 +758,8 @@ keras.backend.ndim(x) __인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + 축의 개수. 정수형(스칼라값)으로 반환합니다. __예시__ @@ -774,7 +794,8 @@ __인자__ - __x__: 텐서 또는 변수. - __name__: 해당 연산에 이름을 부여합니다(선택사항). -__반환값__ +__반환값__ + 입력 텐서의 원소 개수를 값으로 갖는 텐서. __예시__ @@ -799,7 +820,8 @@ keras.backend.dtype(x) __인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + `str`. `x`의 자료형. __예시__ @@ -841,7 +863,8 @@ keras.backend.eval(x) __인자__ - __x__: 한 개의 변수. -__반환값__ +__반환값__ + NumPy 배열. __예시__ @@ -875,7 +898,8 @@ __인자__ - __dtype__: `str`. 변수의 자료형을 지정합니다. - __name__: `str`. 변수의 이름을 지정합니다. -__반환값__ +__반환값__ + `0.0`으로 채워진 변수(케라스 메타데이터 포함). `shape`가 심볼릭인 경우 변수를 반환하는 대신 형태가 동적으로 변하는 텐서를 반환힙니다. @@ -910,7 +934,8 @@ __인자__ - __dtype__: `str`. 변수의 자료형을 지정합니다. - __name__: `str`. 변수의 이름을 지정합니다. -__반환값__ +__반환값__ + `1.0`으로 채워진 변수(케라스 메타데이터 포함). `shape`가 심볼릭인 경우 변수를 반환하는 대신 형태가 동적으로 변하는 텐서를 반환힙니다. @@ -946,7 +971,8 @@ __인자__ - __dtype__: `str`. 변수의 자료형을 지정합니다. - __name__: `str`. 변수의 이름을 지정합니다. -__반환값__ +__반환값__ + 단위행렬 형태의 케라스 변수. __예시__ @@ -983,7 +1009,8 @@ __인자__ - __name__: `str`. 변수의 이름을 지정합니다. -__반환값__ +__반환값__ + `x`와 형태가 같으며 값이 0인 케라스 변수. __예시__ @@ -1021,7 +1048,8 @@ __인자__ - __name__: `str`. 변수의 이름을 지정합니다. -__반환값__ +__반환값__ + `x`와 형태가 같으며 값이 1인 케라스 변수. __예시__ @@ -1056,7 +1084,8 @@ __인자__ - __x__: 입력 텐서. - __name__: `str`. 생성할 변수의 이름을 지정합니다. -__반환값__ +__반환값__ + `x`와 형태 및 값이 동일한 텐서. @@ -1080,7 +1109,8 @@ __인자__ - __name__: `str`. 반환된 케라스 변수의 이름. - __seed__: integer, 난수생성. -__반환값__ +__반환값__ + 샘플에서 가져온 케라스 변수. @@ -1128,7 +1158,8 @@ __인자__ - __name__: `str`. 반환된 케라스 변수의 이름. - __seed__: integer, 난수생성. -__반환값__ +__반환값__ + 샘플에서 가져온 케라스 변수. @@ -1170,7 +1201,8 @@ __인자__ - __x__: 케라스 텐서 또는 변수. -__반환값__ +__반환값__ + integer,`x`요소의 개수, @@ -1218,7 +1250,8 @@ __인자__ - __dtype__: `str`. 'float16', 'float32', 또는 'float64' -__반환값__ +__반환값__ + dtype의 케라스 텐서. @@ -1258,7 +1291,8 @@ __인자__ - __x__: 한개의 변수. - __new_x__: x의 같은 형식의 텐서. -__반환값__ +__반환값__ + x변수를 갱신합니다. @@ -1282,7 +1316,8 @@ __인자__ - __increment__: x와 같은 형식의 텐서. -__반환값__ +__반환값__ + 변수 x 갱신. @@ -1305,7 +1340,8 @@ __인자__ - __x__: A `Variable`. - __decrement__: x와 같은 형식의 텐서. -__반환값__ +__반환값__ + 변수 x 갱신. @@ -1329,7 +1365,8 @@ __인자__ - __value__:같은`x`형식의 텐서. - __momentum__: 이동 평균 운동량. -__반환값__ +__반환값__ + 변수를 업데이트하는 연산. @@ -1353,7 +1390,8 @@ __인자__ - __x__: 텐서 또는 변수. - __y__: 텐서 또는 변수. -__반환값__ +__반환값__ + `x` 과 `y`의 내적을 텐서로 반환. @@ -1418,7 +1456,8 @@ __인자__ - __y__: `ndim >= 2` 조건의 케라스 텐서 또는 변수. - __axes__: 목적 차원이 감소된 (int,int)튜플 또는 int -__반환값__ +__반환값__ + x 형식의 연쇄와 같은 형식의 텐서와 y형식. y형식은 배치차원과 합산된 차원보다 더 적습니다. rank가 1이면, (batch_size,1)로 재설정합니다. @@ -1538,7 +1577,8 @@ __인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + 텐서. @@ -1594,7 +1634,8 @@ __인자__ - __reference__: 텐서. - __indices__: 인덱스의 integer텐서. -__반환값__ +__반환값__ + reference와 같은 타입의 텐서. @@ -1633,7 +1674,8 @@ __인자__ `keepdims`가`True`이면 축소 된 치수는 길이 1로 유지됩니다. -__반환값__ +__반환값__ + x의 최대값에 대한 텐서. @@ -1674,7 +1716,8 @@ __인자__ `keepdims`가`True`이면 축소 된 치수는 길이 1로 유지됩니다. -__반환값__ +__반환값__ + x의 최솟값에 대한 텐서. @@ -1715,7 +1758,8 @@ __인자__ `keepdims`가`True`이면 축소 된 치수는 길이 1로 유지됩니다. -__반환값__ +__반환값__ + 'x'의 합을 가진 텐서. @@ -1757,7 +1801,8 @@ __인자__ 만약 `keepdims` 가 True라면, 줄어든 차원이 길이 1만큼 유지됩니다. -__반환값__ +__반환값__ + 'x'의 요소들의 곱에대한 텐서. @@ -1793,7 +1838,8 @@ __인자__ - __x__: 텐서 또는 변수. - __axis__: An integer, 합계를 계산하는 축. -__반환값__ +__반환값__ + x의 값에 따른 축의 누적된 합의 텐서. @@ -1826,7 +1872,8 @@ __인자__ - __x__: 텐서 또는 변수. - __axis__: An integer, 곱 계산에 대한 축. -__반환값__ +__반환값__ + x의 값에 따른 축의 누적된 곱의 텐서. @@ -1862,7 +1909,8 @@ __인자__ `keepdims` 가 True인 경우, 줄어든 차원의 길이는 1로 유지됩니다. -__반환값__ +__반환값__ + `x`의 요소의 분산을 갖는 텐서. @@ -1902,7 +1950,8 @@ __인자__ `keepdims` 가 True인 경우, 줄어든 차원의 길이는 1로 유지됩니다. -__반환값__ +__반환값__ + x의 요소의 표준편차에 대한 텐서. @@ -1942,7 +1991,8 @@ __인자__ `keepdims` 가 True인 경우, 줄어든 차원의 길이는 1로 유지됩니다. -__반환값__ +__반환값__ + `x`의 요소의 평균을 가진 텐서. @@ -1981,7 +2031,8 @@ __인자__ - __keepdims__: 감소한 축을 브로드캐스트 하는지 드롭하는지에 대한 여부. -__반환값__ +__반환값__ + uint8텐서 (0s and 1s). @@ -2019,7 +2070,8 @@ __인자__ - __keepdims__: 감소한 축을 브로드캐스트 하는지 드롭하는지에 대한 여부. -__반환값__ +__반환값__ + uint8텐서 (0s and 1s). @@ -2054,7 +2106,8 @@ __인자__ - __x__: 텐서 또는 변수. - __axis__: 감소 수행에 따른 축. -__반환값__ +__반환값__ + 텐서. @@ -2086,7 +2139,8 @@ __인자__ - __x__: 텐서 또는 변수. - __axis__: 축소를 수행에 따른 축. -__반환값__ +__반환값__ + 텐서 @@ -2116,7 +2170,8 @@ __인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + 텐서. @@ -2137,7 +2192,8 @@ __인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + 텐서. @@ -2157,7 +2213,8 @@ __인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + 텐서 @@ -2189,7 +2246,8 @@ __인자__ - __x__: Tensor or variable. -__반환값__ +__반환값__ + A tensor. @@ -2209,7 +2267,8 @@ __인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + 텐서. @@ -2241,7 +2300,8 @@ __인자__ 만약 `keepdims` 가 True라면, 줄어든 차원이 길이 1만큼 유지됩니다. -__반환값__ +__반환값__ + 감소된 텐서. @@ -2275,7 +2335,8 @@ __인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + 텐서. @@ -2295,7 +2356,8 @@ __인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + 텐서. @@ -2317,7 +2379,8 @@ __인자__ - __x__: 텐서 또는 변수. - __a__: integer -__반환값__ +__반환값__ + 텐서. @@ -2349,7 +2412,8 @@ __인자__ - __min_value__: float, integer or tensor. - __max_value__: float, integer or tensor. -__반환값__ +__반환값__ + 텐서 @@ -2381,7 +2445,8 @@ __인자__ - __y__: 텐서 또는 변수. -__반환값__ +__반환값__ + 불리언 텐서. @@ -2411,7 +2476,8 @@ __인자__ - __x__: 텐서 또는 변수. - __y__: 텐서 또는 변수. -__반환값__ +__반환값__ + 불리언 텐서. @@ -2442,7 +2508,8 @@ __인자__ - __x__: 텐서 또는 변수. - __y__: 텐서 또는 변수. -__반환값__ +__반환값__ + 불리언 텐서. @@ -2474,7 +2541,8 @@ __인자__ - __y__: 텐서 또는 변수. -__반환값__ +__반환값__ + 불리언 텐서. @@ -2505,7 +2573,8 @@ __인자__ - __x__: Tensor or variable. - __y__: Tensor or variable. -__반환값__ +__반환값__ + 불리언 텐서. @@ -2536,7 +2605,8 @@ __인자__ - __x__: 텐서 또는 변수. - __y__: 텐서 또는 변수. -__반환값__ +__반환값__ + 불리언 텐서. @@ -2568,7 +2638,8 @@ __인자__ - __x__: 텐서 또는 변수. - __y__: 텐서 또는 변수. -__반환값__ +__반환값__ + 한 개의 텐서. @@ -2599,7 +2670,8 @@ __인자__ - __x__: 텐서 또는 변수. - __y__: 텐서 또는 변수. -__반환값__ +__반환값__ + 텐서. @@ -2629,7 +2701,8 @@ __인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + 한 개의 텐서. @@ -2649,7 +2722,8 @@ __인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + 텐서. @@ -2674,7 +2748,8 @@ __인자__ - __epsilon__: 퍼지 상수. -__반환값__ +__반환값__ + `(normalized_tensor, mean, variance)` 인자의 튜플 길이. @@ -2706,7 +2781,8 @@ __인자__ - __epsilon__: 퍼지 상수. -__반환값__ +__반환값__ + 텐서. @@ -2728,7 +2804,8 @@ __인자__ - __tensors__: 연결 할 텐서의 목록. - __axis__: 연결 축. -__반환값__ +__반환값__ + 텐서. @@ -2750,7 +2827,8 @@ __인자__ - __shape__: 대상이 되는 형식튜플. -__반환값__ +__반환값__ + 텐서. @@ -2772,7 +2850,8 @@ __인자__ - __pattern__: `(0, 2, 1)`처럼 인덱스들의 차원의 튜플. -__반환값__ +__반환값__ + 텐서. @@ -2797,7 +2876,8 @@ __인자__ - __interpolation__: `str`. `nearest` 또는 `bilinear` 중 하나. -__반환값__ +__반환값__ + 텐서. @@ -2826,7 +2906,8 @@ __인자__ - __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. -__반환값__ +__반환값__ + 한 개의 텐서. @@ -2854,7 +2935,8 @@ __인자__ - __rep__: integer, 반복횟수. - __axis__: 반복 할 축 -__반환값__ +__반환값__ + 한 개의 텐서. @@ -2877,7 +2959,8 @@ __인자__ - __x__: 텐서 또는 변수. - __n__: integer, 반복횟수. -__반환값__ +__반환값__ + 텐서. @@ -2906,7 +2989,8 @@ __인자__ - __step__: 두 개의 연속적인 값의 차이. - __dtype__: Integer dtype -__반환값__ +__반환값__ + 정수형 텐서. @@ -2929,7 +3013,8 @@ __인자__ - __x__: 텐서 또는 배열. - __n__: integer의 리스트. x의 차원의 개수와 그 길이가 같다. -__반환값__ +__반환값__ + 나열된 텐서. @@ -2949,7 +3034,8 @@ __인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + 텐서를 1차원으로 형식을 재구성하여 나열합니다. @@ -2972,7 +3058,8 @@ __인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + 텐서. @@ -2993,7 +3080,8 @@ __인자__ - __x__: 텐서 또는 변수. - __axis__: 새로운 축을 추가한 위치. -__반환값__ +__반환값__ + 확장한 차원들의 텐서. @@ -3017,7 +3105,8 @@ __인자__ - __x__: 텐서 또는 변수. - __axis__: 없앨 축. -__반환값__ +__반환값__ + @@ -3040,7 +3129,8 @@ __인자__ - __x__: 텐서 또는 변수. - __padding__: 2개의 `int`로 이루어진 튜플. 차원 1의 시작과 끝에 얼마나 많은 0을 추가할 지에 대한 수치. -__반환값__ +__반환값__ + 3차원 텐서를 채워 넣습니다. @@ -3064,7 +3154,8 @@ __인자__ - __padding__: 2 튜플들의 튜플. 채워진 패턴. - __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. -__반환값__ +__반환값__ + 채워진 4차원 텐서. @@ -3099,7 +3190,8 @@ __인자__ - __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. -__반환값__ +__반환값__ + 채워진 5차원 텐서. @@ -3126,7 +3218,8 @@ __인자__ - __x__: 텐서들의 list - __axis__: 텐서를 쌓을 축. -__반환값__ +__반환값__ + 텐서. @@ -3157,7 +3250,8 @@ __인자__ - __indices__: `(batch_size, dim1, dim2, ... dim(n-1))`형식의 n차원 정수형 텐서. - __num_classes__: integer, 클래스들의 개수. -__반환값__ +__반환값__ + `(batch_size, dim1, dim2, ... dim(n-1), num_classes)`형식의 입력값의 (n+1)차원의 원핫 표현형식. @@ -3179,7 +3273,8 @@ __인자__ - __x__: 텐서를 반전시킨다. - __axes__: 축이 반전된, 정수형 또는 반복 가능한 정수. -__반환값__ +__반환값__ + 텐서. @@ -3214,7 +3309,8 @@ __인자__ - __size__: 각 축을 따라 슬라이스 할 차원의 수를 나타내는 텐서 또는 integer리스트/튜플 자료형. -__반환값__ +__반환값__ + A sliced tensor: ```python @@ -3248,7 +3344,8 @@ __인자__ - __x__: 입력 변수. -__반환값__ +__반환값__ + 넘파이 배열. @@ -3268,7 +3365,8 @@ __인자__ - __ops__: 실행할 ops 목록. -__반환값__ +__반환값__ + 넘파이 배열 리스트. @@ -3336,7 +3434,8 @@ __인자__ - __message__: 텐서와 함께 출력 할 메시지. -__반환값__ +__반환값__ + 변경되지 않은 같은 텐서 `x`. @@ -3360,7 +3459,8 @@ __인자__ - __**kwargs__: `tf.Session.run`에 전달되는 값. -__반환값__ +__반환값__ + 넘파이 배열의 값 출력. @@ -3386,7 +3486,8 @@ __인자__ - __loss__: 최소화시킨 스칼라값 텐서. - __variables__: 변수들의 리스트. -__반환값__ +__반환값__ + 그라디언트 텐서. @@ -3406,7 +3507,8 @@ __인자__ - __variables__: 또 다른 변수에 대한 상수를 고려한 텐서 또는 텐서의 리스트. -__반환값__ +__반환값__ + 전달받은 인자에 따른 또 다른 변수에 대한 상수 그라디언트를 가진 텐서 또는 텐서의 리스트. @@ -3443,7 +3545,8 @@ __인자__ - __input_length__: 입력 시, 시간단계의 static숫자. -__반환값__ +__반환값__ + A tuple, `(last_output, outputs, new_states)`. @@ -3541,7 +3644,8 @@ __인자__ - __then_expression__: 텐서 또는 텐서를 반환하는 호출가능한 값. - __else_expression__: 텐서 또는 텐서를 반환하는 호출가능한 값. -__반환값__ +__반환값__ + 지정한 텐서. @@ -3587,7 +3691,8 @@ __인자__ (Python boolean 또는 Python integer) -__반환값__ +__반환값__ + 플래그에 기반한 `x` 또는 `alt`. `training` 플래그는 기본적으로 `K.learning_phase()`입니다. @@ -3616,7 +3721,8 @@ __인자__ (Python boolean 또는 Python integer) -__반환값__ +__반환값__ + 'learning_phase()'에 기반한 `x` 또는 `alt'. @@ -3646,7 +3752,8 @@ __인자__ - __max_value__: float, 포화상태의 임계값. - __threshold__: float, 임계값 활성화에 대한 임계값. -__반환값__ +__반환값__ + 텐서. @@ -3682,7 +3789,8 @@ __인자__ - __x__: 활성화 함수를 계산할 텐서 또는 변수 입니다. - __alpha__: 음수 섹션의 스칼라, 기울기. -__반환값__ +__반환값__ + 텐서. @@ -3714,7 +3822,8 @@ __인자__ - __axis__: 차수 softmax가 수행 됩니다. 기본값은 -1을 나타내며 마지막 차원을 나타냅니다. -__반환값__ +__반환값__ + 텐서. @@ -3745,7 +3854,8 @@ __인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + 텐서. @@ -3775,7 +3885,8 @@ __인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + 텐서. @@ -3812,7 +3923,8 @@ __인자__ `channels_last`형식 데이터에 해당합니다, `channels_first` 데이터 형식은 `axis=1`에 해당 합니다. -__반환값__ +__반환값__ + 출력 텐서. @@ -3845,7 +3957,8 @@ __인자__ `channels_last` 데이터 형식에 해당하는 Int 채널 축을 지정합니다. `axis=-1` and `axis=1` corresponds to data format `channels_first`. -__반환값__ +__반환값__ + 텐서. @@ -3873,7 +3986,8 @@ __인자__ - __from_logits__: logits 텐서가 출력값으로 나올 것인지에 대한 값. 기본적으로 'output'은 확률분포를 내포 합니다. -__반환값__ +__반환값__ + 텐서. @@ -3893,7 +4007,8 @@ __인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + 텐서. @@ -3929,7 +4044,8 @@ __인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + 텐서. @@ -3960,7 +4076,8 @@ __인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + 텐서. @@ -3994,7 +4111,8 @@ __인자__ - __seed__: 결정성을 보장하기 위한 난수생성. -__반환값__ +__반환값__ + 텐서. @@ -4041,7 +4159,8 @@ __인자__ - __axis__: axis along which to perform normalization. 정규화를 수행하는 축. -__반환값__ +__반환값__ + 텐서. @@ -4074,7 +4193,8 @@ __인자__ - __targets__: `batch_size` and type `int32` or `int64`의 길이의 1차원 텐서. - __k__: An `int`, 고려해야 할 최상위 요소의 수. -__반환값__ +__반환값__ + A 1D tensor of length `batch_size` and type `bool`. 만약 `predictions[i, targets[i]]` 이 top-`k`내에 있다면, `output[i]` 이 `True`. @@ -4103,7 +4223,8 @@ __인자__ -__반환값__ +__반환값__ + 1차원 컨볼루션 연산 결과, 텐서 값. @@ -4136,7 +4257,8 @@ __인자__ -__반환값__ +__반환값__ + 텐서, 2차원 컨볼루션 연산 결과. @@ -4170,7 +4292,8 @@ __인자__ - __dilation_rate__: 2개의 `int`로 이루어진 튜플. -__반환값__ +__반환값__ + 2차원의 트렌스포즈된 컨볼루션 결과, 텐서. @@ -4202,7 +4325,8 @@ __인자__ -__반환값__ +__반환값__ + 출력 텐서. @@ -4235,7 +4359,8 @@ __인자__ 분리가능한 컨볼루션의 팽창률. -__반환값__ +__반환값__ + 출력 텐서. @@ -4266,7 +4391,8 @@ __인자__ - __dilation_rate__: integers의 튜플. 분리가능한 컨볼루션의 팽창률. -__반환값__ +__반환값__ + 출력텐서. @@ -4298,7 +4424,8 @@ __인자__ - __dilation_rate__: 2개의 `int`로 이루어진 튜플. -__반환값__ +__반환값__ + 텐서, 3차원 컨볼루션 연산 결과. @@ -4330,7 +4457,8 @@ __인자__ - __dilation_rate__: 2개의 `int`로 이루어진 튜플. -__반환값__ +__반환값__ + 트렌스포즈된 3차원 컨볼루션 연산결과 텐서. @@ -4360,7 +4488,8 @@ __인자__ - __pool_mode__: `str`. `"max"` `"avg"`. -__반환값__ +__반환값__ + 2차원 풀링 연산 결과값의 텐서. @@ -4391,7 +4520,8 @@ __인자__ - __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. - __pool_mode__: `str`. `"max"` 또는 `"avg"`. -__반환값__ +__반환값__ + 텐서, 3차원 풀링 결과. @@ -4420,7 +4550,8 @@ __인자__ - __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. -__반환값__ +__반환값__ + 결과 텐서. @@ -4476,7 +4607,8 @@ __인자__ - __seed__: `int`. random seed. -__반환값__ +__반환값__ + 텐서. @@ -4501,7 +4633,8 @@ __인자__ - __dtype__: `str`. 반환된 텐서의 dtype. - __seed__: `int`. random seed. -__반환값__ +__반환값__ + 텐서. @@ -4524,7 +4657,8 @@ __인자__ - __dtype__: `str`. 반환된 텐서의 dtype. - __seed__: `int`. random seed. -__반환값__ +__반환값__ + 텐서. @@ -4553,7 +4687,8 @@ __인자__ - __dtype__: `str`. 반환된 텐서의 dtype. - __seed__: `int`. 난수생성. -__반환값__ +__반환값__ + 텐서. @@ -4575,7 +4710,8 @@ __인자__ - __labels__: dense CTC 레이블. - __label_lengths__: 레이블의 길이. -__반환값__ +__반환값__ + 레이블의 희소 텐서 표현. @@ -4600,7 +4736,8 @@ __인자__ - __label_length__: `y_true`의 각 배치 항목의 시퀀스 길이를 포함하는 `(samples, 1)`텐서. -__반환값__ +__반환값__ + 각 요소의 CTC 손실값을 포함한 텐서의 (samples,1)형식. @@ -4629,7 +4766,8 @@ __인자__ - __top_paths__: `greedy`가 `false`일 때, 가장 가능할만한 경로 중에 얼마나 많은 경로가 있는지 반환합니다. -__반환값__ +__반환값__ + - __Tuple__: List: `greedy`가 `true`일 때, 디코딩 된 시퀀스를 포함한 요소의 리스트를 반환합니다. @@ -4655,7 +4793,8 @@ __인자__ - __name__: 그래프에서 맵 노드에 대한 문자열 이름. - __dtype__: 출력 데이터 타입. -__반환값__ +__반환값__ + `dtype`의 텐서. @@ -4678,7 +4817,8 @@ __인자__ - __initializer__: 사용된 첫 번째 값. (`elems[0]` in case of None) - __name__: 그래프 fodl 노드에 대한 문자열 이름. -__반환값__ +__반환값__ + `initializer` 모양과 같은 타입의 텐서. @@ -4702,7 +4842,8 @@ __인자__ - __initializer__: 사용된 첫번 째 값 (`elems[-1]` in case of None) - __name__: 그래프에서 foldr node의 문자열 이름 -__반환값__ +__반환값__ + `initializer` 모양과 같은 타입의 텐서. @@ -4729,7 +4870,8 @@ __인자__ - __data_format__: 데이터 형식, channels_first 또는 channels_last -__반환값__ +__반환값__ + (batch_size, output_length, filters)형식: 공유되지 않은 가중치로 1d 컨볼루션 연산 후의 텐서. @@ -4765,7 +4907,8 @@ __인자__ - __data_format__: 데이터 형식, 'channels_first' 또는 'channels_last'. -__반환값__ +__반환값__ + 4d 텐서의 형식: data_format='channels_first'일 때, From ef70b3b41f54639d3e9feacd7759bacf5a782275 Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Thu, 2 Jan 2020 15:28:40 +0900 Subject: [PATCH 05/25] line1326 --- sources/backend.md | 187 +++++++++++++++++---------------------------- 1 file changed, 70 insertions(+), 117 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index d8d642a4..319057fb 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -1096,25 +1096,20 @@ __반환값__ keras.backend.random_uniform_variable(shape, low, high, dtype=None, name=None, seed=None) ``` - -균등 분포에서 가져온 값의 변수를 인스턴스화 합니다. +균등분포에서 무작위 값을 추출하여 변수 인스턴스를 생성합니다. __인자__ - - -- __shape__: `int`로 이루어진 튜플. 반환된 케라스 변수의 형식. -- __low__: float, 출력 범위의 하한. -- __high__: float, 출력 번위의 상한. -- __dtype__: `str`. 반환된 케라스 변수의 dtype. -- __name__: `str`. 반환된 케라스 변수의 이름. -- __seed__: integer, 난수생성. +- __shape__: `int`로 이루어진 튜플. 생성할 변수의 형태입니다. +- __low__: `float`. 출력 범위의 최솟값을 지정합니다. +- __high__: `float`. 출력 범위의 최댓값을 지정합니다. +- __dtype__: `str`. 변수의 자료형을 지정합니다. +- __name__: `str`. 변수의 이름을 지정합니다. +- __seed__: `int`. 무작위 값 생성에 사용할 seed값을 지정합니다. __반환값__ - - -샘플에서 가져온 케라스 변수. - +균등분포에서 추출한 표본값으로 이루어진 케라스 변수. + __예시__ ```python @@ -1126,9 +1121,8 @@ __예시__ array([[ 0.10940075, 0.10047495, 0.476143 ], [ 0.66137183, 0.00869417, 0.89220798]], dtype=float32) ``` -__NumPy 적용__ - +__NumPy 적용__ ```python def random_uniform_variable(shape, low, high, dtype=None, name=None, seed=None): @@ -1137,7 +1131,6 @@ def random_uniform_variable(shape, low, high, dtype=None, name=None, seed=None): ---- - ### random_normal_variable @@ -1145,24 +1138,20 @@ def random_uniform_variable(shape, low, high, dtype=None, name=None, seed=None): keras.backend.random_normal_variable(shape, mean, scale, dtype=None, name=None, seed=None) ``` - -정규 분포에서 가져온 값의 변수를 인스턴스화 합니다. +정규분포에서 무작위 값을 추출하여 변수 인스턴스를 생성합니다. __인자__ - -- __shape__: `int`로 이루어진 튜플. 반환된 케라스 변수의 형식. -- __mean__: float, 정규분포의 평균. -- __scale__: float, 정규분포의 표준편차. -- __dtype__: `str`. 반환된 케라스 변수의 dtype. -- __name__: `str`. 반환된 케라스 변수의 이름. -- __seed__: integer, 난수생성. +- __shape__: `int`로 이루어진 튜플. 생성할 변수의 형태입니다. +- __mean__: `float`. 사용할 정규분포의 평균을 지정합니다. +- __scale__: `float`. 사용할 정규분포의 표준편차를 지정합니다. +- __dtype__: `str`. 변수의 자료형을 지정합니다. +- __name__: `str`. 변수의 이름을 지정합니다. +- __seed__: `int`. 무작위 값 생성에 사용할 seed값을 지정합니다. __반환값__ - - -샘플에서 가져온 케라스 변수. +정규분포에서 추출한 표본값으로 이루어진 케라스 변수. __예시__ @@ -1175,9 +1164,8 @@ __예시__ array([[ 1.19591331, 0.68685907, -0.63814116], [ 0.92629528, 0.28055015, 1.70484698]], dtype=float32) ``` -__NumPy 적용__ - +__NumPy 적용__ ```python def random_normal_variable(shape, mean, scale, dtype=None, name=None, seed=None): @@ -1186,16 +1174,13 @@ def random_normal_variable(shape, mean, scale, dtype=None, name=None, seed=None) ---- - ### count_params - ```python keras.backend.count_params(x) ``` - -케라스 변수 또는 텐서에서 요소들의 static 숫자를 반환합니다. +케라스 변수 또는 텐서의 원소 개수를 반환합니다. __인자__ @@ -1203,10 +1188,7 @@ __인자__ __반환값__ - - -integer,`x`요소의 개수, -즉, 배열의 정적차원static dimensions의 곱 연산. +`int`.`x`의 원소 개수(배열의 각 차원 크기를 모두 곱한 값). __예시__ @@ -1218,9 +1200,8 @@ __예시__ array([[ 0., 0., 0.], [ 0., 0., 0.]], dtype=float32) ``` -__NumPy 적용__ - +__NumPy 적용__ ```python def count_params(x): @@ -1229,31 +1210,24 @@ def count_params(x): ---- - ### cast - ```python keras.backend.cast(x, dtype) ``` +텐서의 자료형을 변경합니다. -텐서를 다른 dtype으로 타입을 바꿔주고 반환합니다. - -케라스 변수 타입을 바꿔줄 수 있으나 여전히 텐서를 반환합니다. +케라스 변수를 입력할 경우 자료형은 지정한대로 변환되지만 케라스 텐서로 바뀌어 반환됩니다. __인자__ - - - __x__: 케라스 텐서 또는 변수. -- __dtype__: `str`. 'float16', 'float32', 또는 'float64' - +- __dtype__: `str`. `'float16'`, `'float32'`, 또는 `'float64'` 가운데 하나를 지정합니다. __반환값__ - -dtype의 케라스 텐서. +지정한 `dtype` 자료형의 케라스 텐서. __예시__ @@ -1272,102 +1246,81 @@ __예시__ >>> input ``` - ---- ### update - ```python keras.backend.update(x, new_x) ``` - -x값을 new_x로 갱신합니다. +`x`의 값을 `new_x`로 갱신합니다. __인자__ - -- __x__: 한개의 변수. -- __new_x__: x의 같은 형식의 텐서. +- __x__: 한 개의 변수. +- __new_x__: x와 형태가 같은 텐서. __반환값__ - - -x변수를 갱신합니다. +값이 갱신된 변수 `x`. + ---- - ### update_add - ```python keras.backend.update_add(x, increment) ``` - -increment를 x에 더한 값을 갱신합니다. +`x`에 `increment`를 더해 값을 갱신합니다. __인자__ - - __x__: 변수. -- __increment__: x와 같은 형식의 텐서. - +- __increment__: x와 같은 형태의 텐서. __반환값__ +값이 갱신된 변수 `x`. -변수 x 갱신. - ---- - ### update_sub - ```python keras.backend.update_sub(x, decrement) ``` - -decrement를 뺀 후 x의 값 갱신. +`x`에서 `decrement`를 빼 값을 갱신합니다. __인자__ - -- __x__: A `Variable`. -- __decrement__: x와 같은 형식의 텐서. +- __x__: 변수. +- __decrement__: x와 같은 형태의 텐서. __반환값__ - - -변수 x 갱신. +값이 갱신된 변수 `x`. + ---- - ### moving_average_update - ```python keras.backend.moving_average_update(x, value, momentum) ``` - 변수의 이동평균을 계산합니다. __인자__ - -- __x__: `Variable`. -- __value__:같은`x`형식의 텐서. -- __momentum__: 이동 평균 운동량. +- __x__: 변수. +- __value__: `x`와 같은 형태의 텐서. +- __momentum__: 이동평균의 모멘텀. __반환값__ - 변수를 업데이트하는 연산. ---- @@ -1632,7 +1585,7 @@ __인자__ - __reference__: 텐서. -- __indices__: 인덱스의 integer텐서. +- __indices__: 인덱스의 `int` 텐서. __반환값__ @@ -1667,7 +1620,7 @@ __인자__ - __x__: 텐서 또는 변수. -- __axis__: [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플 또는 integer +- __axis__: [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플 또는 `int` 최댓값을 찾기위한 축. 만약 None이라면 모든 차원에 대한 최댓값을 찾습니다. - __keepdims__: boolean, 차원이 유지되고 있는지에 대한 여부. `keepdims`가`False` 인 경우 텐서의 rank가 1만큼 감소합니다 @@ -1709,7 +1662,7 @@ __인자__ - __x__: 텐서 또는 변수. -- __axis__: [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플 또는 integer +- __axis__: [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플 또는 `int` 최솟값을 찾기위한 축. 만약 None이라면 모든 차원에 대한 최솟값을 찾습니다. - __keepdims__: boolean, 차원이 유지되고 있는지에 대한 여부. `keepdims`가`False` 인 경우 텐서의 rank가 1만큼 감소합니다 @@ -1751,7 +1704,7 @@ __인자__ - __x__: 텐서 또는 변수. -- __axis__: [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플 또는 integer를 합산 하기위한 축. +- __axis__: [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플 또는 `int` 를 합산 하기위한 축. 만약 None이라면 모든 차원에 대한 합의 값을 찾습니다. - __keepdims__: boolean, 차원이 유지되고 있는지에 대한 여부. `keepdims`가`False` 인 경우 텐서의 rank가 1만큼 감소합니다 @@ -1902,7 +1855,7 @@ keras.backend.var(x, axis=None, keepdims=False) __인자__ - __x__: 텐서 또는 변수. -- __axis__: [-rank(x), rank(x)) 범위의 integer타입 리스트 또는 integer으로, 분산을 계산 할 축. +- __axis__: [-rank(x), rank(x)) 범위의 `int` 타입 리스트 또는 `int` 으로, 분산을 계산 할 축. None (default)이면 계산. 모든 차원에 대한 분산을 계산합니다.. - __keepdims__: boolean, 차원을 유지 하였는지에 대한 진리값. `keepdims` 가 False인 경우, 텐서의 랭크가 1씩 감소합니다. @@ -1943,7 +1896,7 @@ keras.backend.std(x, axis=None, keepdims=False) __인자__ - __x__: 텐서 또는 변수. -- __axis__: [-rank(x), rank(x)) 범위의 integer타입 리스트 또는 integer으로, 표준편차를 계산하는 축. +- __axis__: [-rank(x), rank(x)) 범위의 `int` 타입 리스트 또는 `int` 으로, 표준편차를 계산하는 축. None (default)이면 계산. 모든 차원에 대한 표준편차를 계산합니다. - __keepdims__: boolean, 차원을 유지 하였는지에 대한 진리값. `keepdims` 가 False인 경우, 텐서의 랭크가 1씩 감소합니다. @@ -1984,7 +1937,7 @@ __인자__ - __x__: 텐서 또는 변수. -- __axis__: [-rank(x), rank(x)) 범위의 integer타입 리스트 또는 integer으로, 평균을 계산하는 축. +- __axis__: [-rank(x), rank(x)) 범위의 `int` 타입 리스트 또는 `int` 으로, 평균을 계산하는 축. None (default)이면 계산. 모든 차원에 대한 평균을 계산합니다. - __keepdims__: boolean, 차원을 유지 하였는지에 대한 진리값. `keepdims` 가 False인 경우, 축의 각 항목에 대해 텐서의 랭크가 1씩 감소합니다. @@ -2026,7 +1979,7 @@ __인자__ - __x__: Tensor or variable. -- __axis__: [-rank(x), rank(x)) 범위의 integer타입 리스트 또는 integer +- __axis__: [-rank(x), rank(x)) 범위의 `int` 타입 리스트 또는 `int` None (default)이면 계산. 모든 차원에 대한 평균을 계산합니다. - __keepdims__: 감소한 축을 브로드캐스트 하는지 드롭하는지에 대한 여부. @@ -2065,7 +2018,7 @@ __인자__ - __x__: 텐서 또는 변수. -- __axis__: [-rank(x), rank(x)) 범위의 integer타입 리스트 또는 integer +- __axis__: [-rank(x), rank(x)) 범위의 `int` 타입 리스트 또는 `int` None (default)이면 계산. 모든 차원에 대한 평균을 계산합니다. - __keepdims__: 감소한 축을 브로드캐스트 하는지 드롭하는지에 대한 여부. @@ -2377,7 +2330,7 @@ keras.backend.pow(x, a) __인자__ - __x__: 텐서 또는 변수. -- __a__: integer +- __a__: `int` __반환값__ @@ -2409,8 +2362,8 @@ keras.backend.clip(x, min_value, max_value) __인자__ - __x__: 텐서 또는 변수. -- __min_value__: float, integer or tensor. -- __max_value__: float, integer or tensor. +- __min_value__: `float`. `int` or tensor. +- __max_value__: `float`. `int` or tensor. __반환값__ @@ -2932,7 +2885,7 @@ keras.backend.repeat_elements(x, rep, axis) __인자__ - __x__: 텐서 또는 변수. -- __rep__: integer, 반복횟수. +- __rep__: `int`. 반복횟수. - __axis__: 반복 할 축 __반환값__ @@ -2957,7 +2910,7 @@ keras.backend.repeat(x, n) __인자__ - __x__: 텐서 또는 변수. -- __n__: integer, 반복횟수. +- __n__: `int`. 반복횟수. __반환값__ @@ -2987,7 +2940,7 @@ __인자__ - __start__: 시작 값. - __stop__: 정지 값. - __step__: 두 개의 연속적인 값의 차이. -- __dtype__: Integer dtype +- __dtype__: `int` dtype __반환값__ @@ -3011,7 +2964,7 @@ x를 n으로 나열하여 생성합니다. __인자__ - __x__: 텐서 또는 배열. -- __n__: integer의 리스트. x의 차원의 개수와 그 길이가 같다. +- __n__: `int` 의 리스트. x의 차원의 개수와 그 길이가 같다. __반환값__ @@ -3248,7 +3201,7 @@ keras.backend.one_hot(indices, num_classes) __인자__ - __indices__: `(batch_size, dim1, dim2, ... dim(n-1))`형식의 n차원 정수형 텐서. -- __num_classes__: integer, 클래스들의 개수. +- __num_classes__: `int`. 클래스들의 개수. __반환값__ @@ -3305,8 +3258,8 @@ keras.backend.slice(x, start, size) __인자__ - __x__: 입력 텐서. -- __start__: 각 축에 따라 슬라이스의 시작 인덱스를 나타내는 텐서 또는 integer리스트/튜플 자료형. -- __size__: 각 축을 따라 슬라이스 할 차원의 수를 나타내는 텐서 또는 integer리스트/튜플 자료형. +- __start__: 각 축에 따라 슬라이스의 시작 인덱스를 나타내는 텐서 또는 `int` 리스트/튜플 자료형. +- __size__: 각 축을 따라 슬라이스 할 차원의 수를 나타내는 텐서 또는 `int` 리스트/튜플 자료형. __반환값__ @@ -3749,8 +3702,8 @@ __인자__ - __x__: 텐서 또는 변수. - __alpha__: 음수 섹션의 스칼라, 기울기 (default=`0.`). -- __max_value__: float, 포화상태의 임계값. -- __threshold__: float, 임계값 활성화에 대한 임계값. +- __max_value__: `float`. 포화상태의 임계값. +- __threshold__: `float`. 임계값 활성화에 대한 임계값. __반환값__ @@ -4601,8 +4554,8 @@ keras.backend.random_normal(shape, mean=0.0, stddev=1.0, dtype=None, seed=None) __인자__ - __shape__: `int`로 이루어진 튜플. 생성할 텐서의 형식. -- __mean__: float, 정규 분포의 평균 그리기. -- __stddev__: float, 정규 분포의 표준편차 그리기. +- __mean__: `float`. 정규 분포의 평균 그리기. +- __stddev__: `float`. 정규 분포의 표준편차 그리기. - __dtype__: `str`. 반환된 텐서의 dtype. - __seed__: `int`. random seed. @@ -4628,8 +4581,8 @@ __인자__ - __shape__: `int`로 이루어진 튜플. 생성할 텐서의 형식. -- __minval__: float, 균등 분포의 하한 샘플 그리기. -- __maxval__: float, 균등 분포의 상한 샘플 그리기. +- __minval__: `float`. 균등 분포의 하한 샘플 그리기. +- __maxval__: `float`. 균등 분포의 상한 샘플 그리기. - __dtype__: `str`. 반환된 텐서의 dtype. - __seed__: `int`. random seed. @@ -4653,7 +4606,7 @@ keras.backend.random_binomial(shape, p=0.0, dtype=None, seed=None) __인자__ - __shape__: `int`로 이루어진 튜플. 생성할 텐서의 형식. -- __p__: float, `0. <= p <= 1`범위의 이항 분포의 확률 +- __p__: `float`. `0. <= p <= 1`범위의 이항 분포의 확률 - __dtype__: `str`. 반환된 텐서의 dtype. - __seed__: `int`. random seed. @@ -4865,8 +4818,8 @@ __인자__ - __inputs__: 3D 텐서의 형식: (batch_size, steps, input_dim) - __kernel__: (output_length, feature_dim, filters)형식의 컨볼루션의 공유되지 않은 가중치. -- __kernel_size__: 1d 컨볼루션 윈도우의 길이를 지정한 단일 integer 튜플. -- __strides__: 컨볼루션의 스타라이드 길이를 지정한 단일 integer 튜플. +- __kernel_size__: 1d 컨볼루션 윈도우의 길이를 지정한 단일 `int` 튜플. +- __strides__: 컨볼루션의 스타라이드 길이를 지정한 단일 `int` 튜플. - __data_format__: 데이터 형식, channels_first 또는 channels_last From 44abd143428407c4637decdbaca87e764b05f2d6 Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Fri, 3 Jan 2020 22:02:45 +0900 Subject: [PATCH 06/25] line 1570 --- sources/backend.md | 117 ++++++++++++++++----------------------------- 1 file changed, 40 insertions(+), 77 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index 319057fb..01c7c492 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -1324,34 +1324,29 @@ __반환값__ 변수를 업데이트하는 연산. ---- - ### dot - ```python keras.backend.dot(x, y) ``` - -2 텐서(또는 변수)를 곱하고 텐서를 반환합니다. -N차원의 텐서를 곱하려고 시도할 때, N차원의 텐서가 Theano의 방식으로 다시 생성합니다. -(e.g. `(2, 3) * (4, 3, 5) -> (2, 4, 5)`) +두 개의 텐서(또는 변수)를 내적한 결과를 텐서로 반환합니다. +차원의 갯수가 서로 다른 텐서를 내적할 경우 Theano의 계산 방식을 따라 결과를 생성합니다. +(예: `(2, 3) * (4, 3, 5) = (2, 4, 5)`, `(3, 10) * (2, 5, 10, 4) = (3, 2, 5, 4)`) __인자__ - - __x__: 텐서 또는 변수. - __y__: 텐서 또는 변수. __반환값__ +`x` 과 `y`를 내적한 결과 텐서. -`x` 과 `y`의 내적을 텐서로 반환. - -__Examples__ +__예시__ ```python -# dot product between tensors +# 텐서 간의 내적 >>> x = K.placeholder(shape=(2, 3)) >>> y = K.placeholder(shape=(3, 4)) >>> xy = K.dot(x, y) @@ -1360,7 +1355,7 @@ __Examples__ ``` ```python -# dot product between tensors +# 텐서 간의 내적 >>> x = K.placeholder(shape=(32, 28, 3)) >>> y = K.placeholder(shape=(3, 4)) >>> xy = K.dot(x, y) @@ -1369,7 +1364,7 @@ __Examples__ ``` ```python -# Theano-like behavior example +# Theano 방식의 연산 예 >>> x = K.random_uniform_variable(shape=(2, 3), low=0, high=1) >>> y = K.ones((4, 3, 5)) >>> xy = K.dot(x, y) @@ -1378,8 +1373,6 @@ __Examples__ ``` __NumPy 적용__ - - ```python def dot(x, y): return np.dot(x, y) @@ -1387,41 +1380,32 @@ def dot(x, y): ---- - ### batch_dot - ```python keras.backend.batch_dot(x, y, axes=None) ``` +배치별 내적을 수행합니다. -배치방식의 내적. - -x와 y가 배치 데이터일 때, x와 y의 내적을 계산하여 batch_dot을 사용한다. 즉, (batch_size, :)형식. -batch_dot은 입력값보다 차수가 작은 텐서 또는 변수를 반환합니다. -차원의 수가 1로 줄어들면 적어도 2차원이상인지 확인하기 위해 expand_dims를 사용합니다. +`x`와 `y`가 배치 데이터일 때 (예: (batch_size, :)) `batch_dot`을 사용하여 `x`와 `y`의 내적을 계산하면 각 배치별 내적의 결과를 얻을 수 있습니다. `batch_dot`은 입력 값보다 차원 수가 작은 텐서 또는 변수를 반환합니다. 만약 차원의 수가 1로 줄어드는 경우 `expand_dims`를 적용하여 반환할 차원 수가 2 이상이 되도록 합니다. __인자__ +- __x__: `ndim >= 2` 조건을 만족하는 케라스 텐서 또는 변수. +- __y__: `ndim >= 2` 조건을 만족하는 케라스 텐서 또는 변수. +- __axes__: `int` 또는 튜플. `x`와 `y`의 순서대로 각각 감소 대상인 차원(내적 연산의 대상이 되는 차원)을 지정합니다. 단일한 정수를 입력하는 경우 `x`와 `y` 모두에 같은 차원이 지정됩니다. -- __x__: `ndim >= 2` 조건의 케라스 텐서 또는 변수. -- __y__: `ndim >= 2` 조건의 케라스 텐서 또는 변수. -- __axes__: 목적 차원이 감소된 (int,int)튜플 또는 int - -__반환값__ - -x 형식의 연쇄와 같은 형식의 텐서와 y형식. y형식은 배치차원과 합산된 차원보다 더 적습니다. -rank가 1이면, (batch_size,1)로 재설정합니다. +__반환값__ -__Examples__ +`x`의 형태에서 내적 대상을 제외한 나머지 차원과 `y`의 형태에서 배치 및 내적 대상을 제외한 나머지 차원을 이어붙인 형태의 텐서. 결과의 차원 수가 1인 경우(batch_size만 남을 경우) 결과를 (batch_size,1)로 바꾸어 반환합니다. -`x = [[1, 2], [3, 4]]` and `y = [[5, 6], [7, 8]]`일 때, -`batch_dot(x, y, axes=1) = [[17], [53]]` -비대각선을 계산할 필요가 없을 때도, `x.dot(y.T)` 주대각선 계산. +__예시__ -Pseudocode: +`x = [[1, 2], [3, 4]]`, `y = [[5, 6], [7, 8]]`일 때 `batch_dot(x, y, axes=1) = [[17], [53]]`으로 `x.dot(y.T)`의 결과를 반환합니다. `axes=1` 인자에 따라 `x`와 `y`의 1번째 차원끼리 곱하기 위해 `y`를 전치하기 때문입니다. + +__유사코드pseudo code:__ ``` inner_products = [] for xi, yi in zip(x, y): @@ -1429,18 +1413,17 @@ for xi, yi in zip(x, y): result = stack(inner_products) ``` -형식 추론하기: -`x`의 모양은`(100, 20)`이되고`y`의 모양은`(100, 30, 20)`이됩니다. -'축'이 (1, 2) 인 경우, 결과 텐서의 출력값 형식을 찾으려면, -`x` 형식과`y`형식으로 각 차원을 반복합니다. +__형태 변환에 대한 설명:__ + +`x`의 모양은`(100, 20)`, `y`의 모양은`(100, 30, 20)`일 때 `axis=(1, 2)`인 경우 다음과 같은 규칙에 따라 출력 형태가 결정됩니다. -*`x.shape [0]`: 100 : 출력 형식에 추가 -*`x.shape [1]`: 20 : 출력 형식에 추가하지 않습니다, `x`의 차원 1이 됩니다. (`dot_axes [0]`= 1) -*`y.shape [0]`: 100 : 출력 형태에 추가하지 않습니다, 항상 y의 첫 번째 차원을 배제합니다. -*`y.shape [1]`: 30 : 출력 형식에 추가 -*`y.shape [2]`: 20 : 출력 형식에 추가하지 않습니다, `y`의 차원 2이 됩니다. (`dot_axes [1]`= 2) -`output_shape` =`(100, 30)` +- `x.shape [0]`: 100 : 배치 크기의 차원으로 출력 형태의 첫 번째 차원 값이 됩니다. +- `x.shape [1]`: 20 : `axis`인자에서 지정한대로 내적 연산에서 합산될 차원입니다. 따라서 출력 형태에는 추가되지 않습니다. +- `y.shape [0]`: 100 : 배치 크기의 차원입니다. 이미 `x`에서 가져온 차원이므로 출력 형태에 추가되지 않습니다. 이와 같이 항상 `y`의 첫 번째 차원은 배제됩니다. +- `y.shape [1]`: 30 : 출력 형태에 추가됩니다. +- `y.shape [2]`: 20 : `axis`인자에서 지정한대로 내적 연산에서 합산될 차원입니다. 따라서 출력 형태에는 추가되지 않습니다. +결과적으로 `output_shape` =`(100, 30)`이 됩니다. ```python >>> x_batch = K.ones(shape=(32, 20, 1)) @@ -1452,10 +1435,8 @@ result = stack(inner_products) __NumPy 적용__ - -
-Show the Numpy implementation +NumPy 적용 보기 ```python def batch_dot(x, y, axes=None): @@ -1510,32 +1491,27 @@ def batch_dot(x, y, axes=None): return result ``` -
- - ---- -### transpose +### transpose ```python keras.backend.transpose(x) ``` - -Transposes a tensor and returns it. +텐서를 전치한 결과를 반환합니다. __인자__ - __x__: 텐서 또는 변수. __반환값__ - -텐서. +`x`를 전치한 텐서. -__Examples__ +__예시__ ```python >>> var = K.variable([[1, 2, 3], [4, 5, 6]]) @@ -1558,9 +1534,8 @@ array([[ 1., 4.], ``` -__NumPy 적용__ - +__NumPy 적용__ ```python def transpose(x): @@ -1569,34 +1544,24 @@ def transpose(x): ---- - ### gather - ```python keras.backend.gather(reference, indices) ``` - - -텐서 `reference`에서 `indices`의 인덱스 요소를 검색합니다. - +`reference`로 지정한 텐서에서 `indices`로 지정한 인덱스의 요소들을 하나의 텐서로 배열하여 가져옵니다. __인자__ +- __reference__: 대상을 추출할 텐서. +- __indices__: 추출 대상의 인덱스를 지정한 정수 텐서. -- __reference__: 텐서. -- __indices__: 인덱스의 `int` 텐서. - -__반환값__ - - - -reference와 같은 타입의 텐서. +__반환값__ + +`reference`와 자료형이 동일한 텐서. __NumPy 적용__ - - ```python def gather(reference, indices): return reference[indices] @@ -1604,10 +1569,8 @@ def gather(reference, indices): ---- - ### max - ```python keras.backend.max(x, axis=None, keepdims=False) ``` From 1a40783ae2980499ed3630085e9a178d51e89ef1 Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Thu, 9 Jan 2020 16:40:33 +0900 Subject: [PATCH 07/25] line 2032 --- sources/backend.md | 330 ++++++++++++--------------------------------- 1 file changed, 84 insertions(+), 246 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index 01c7c492..74874f39 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -1549,7 +1549,7 @@ def transpose(x): ```python keras.backend.gather(reference, indices) ``` -`reference`로 지정한 텐서에서 `indices`로 지정한 인덱스의 요소들을 하나의 텐서로 배열하여 가져옵니다. +`reference`로 지정한 텐서에서 `indices`로 지정한 인덱스의 요소들을 뽑아 하나의 텐서로 가져옵니다. __인자__ @@ -1575,31 +1575,20 @@ def gather(reference, indices): keras.backend.max(x, axis=None, keepdims=False) ``` - -텐서에 대한 최댓값. +텐서의 원소 가운데 최댓값을 반환합니다. __인자__ - - - __x__: 텐서 또는 변수. -- __axis__: [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플 또는 `int` - 최댓값을 찾기위한 축. 만약 None이라면 모든 차원에 대한 최댓값을 찾습니다. -- __keepdims__: boolean, 차원이 유지되고 있는지에 대한 여부. - `keepdims`가`False` 인 경우 텐서의 rank가 1만큼 감소합니다 - `keepdims`가`True`이면 축소 된 치수는 길이 1로 유지됩니다. - +- __axis__: 단일 `int` 값 또는 (*rank(x) = `x`의 차원 개수일 때) [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플. 최댓값을 찾을 방향의 축을 지정합니다. `None`인 경우 텐서 전체에서의 최댓값을 찾습니다. +- __keepdims__: `bool`. 출력값에서 `x`차원의 개수를 유지할지 여부를 지정합니다. `keepdims`를 `True`로 지정하면 입력값과 출력값 사이에 축소된 차원을 없애는 대신 크기 1을 부여해 차원을 남깁니다. `keepdims`가 `False`인 경우 축소된 차원을 없앰에 따라 출력 텐서의 차원 개수가 1만큼 감소합니다. 기본값은 `False`입니다. __반환값__ - - -x의 최대값에 대한 텐서. +`x`의 최댓값으로 이루어진 텐서. __NumPy 적용__ - - ```python def max(x, axis=None, keepdims=False): if isinstance(axis, list): @@ -1609,81 +1598,55 @@ def max(x, axis=None, keepdims=False): ---- - ### min - ```python keras.backend.min(x, axis=None, keepdims=False) ``` - -텐서에 대한 최솟값. +텐서의 원소 가운데 최댓값을 반환합니다. __인자__ - - - __x__: 텐서 또는 변수. -- __axis__: [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플 또는 `int` - 최솟값을 찾기위한 축. 만약 None이라면 모든 차원에 대한 최솟값을 찾습니다. -- __keepdims__: boolean, 차원이 유지되고 있는지에 대한 여부. - `keepdims`가`False` 인 경우 텐서의 rank가 1만큼 감소합니다 - `keepdims`가`True`이면 축소 된 치수는 길이 1로 유지됩니다. - +- __axis__: 단일 `int` 값 또는 (*rank(x) = `x`의 차원 개수일 때) [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플. 최솟값을 찾을 방향의 축을 지정합니다. `None`인 경우 텐서 전체에서의 최솟값을 찾습니다. +- __keepdims__: `bool`. 출력값에서 `x`차원의 개수를 유지할지 여부를 지정합니다. `keepdims`를 `True`로 지정하면 입력값과 출력값 사이에 축소된 차원을 없애는 대신 크기 1을 부여해 차원을 남깁니다. `keepdims`가 `False`인 경우 축소된 차원을 없앰에 따라 출력 텐서의 차원 개수가 1만큼 감소합니다. 기본값은 `False`입니다. __반환값__ - - -x의 최솟값에 대한 텐서. +`x`의 최솟값으로 이루어진 텐서. __NumPy 적용__ - - ```python def min(x, axis=None, keepdims=False): if isinstance(axis, list): axis = tuple(axis) return np.min(x, axis=axis, keepdims=keepdims) ``` - - ---- -### sum +### sum ```python keras.backend.sum(x, axis=None, keepdims=False) ``` - -지정된 축에따른 텐서의 값들의 합. +지정된 축의 방향을 따라 텐서의 원소를 더해서 반환합니다. __인자__ - - - __x__: 텐서 또는 변수. -- __axis__: [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플 또는 `int` 를 합산 하기위한 축. - 만약 None이라면 모든 차원에 대한 합의 값을 찾습니다. -- __keepdims__: boolean, 차원이 유지되고 있는지에 대한 여부. - `keepdims`가`False` 인 경우 텐서의 rank가 1만큼 감소합니다 - `keepdims`가`True`이면 축소 된 치수는 길이 1로 유지됩니다. - +- __axis__: 단일 `int` 값 또는 (*rank(x) = `x`의 차원 개수일 때) [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플. 지정한 축을 따라 이동하면서 나머지 방향의 원소들끼리 더합니다. 예를 들어 형태가 (3, 4)인 텐서를 합산할 때 `axis=0`으로 지정할 경우 길이가 4인 텐서를 출력합니다. `None`인 경우 텐서의 모든 원소를 더합니다. +- __keepdims__: `bool`. 출력값에서 `x`차원의 개수를 유지할지 여부를 지정합니다. `keepdims`를 `True`로 지정하면 입력값과 출력값 사이에 축소된 차원을 없애는 대신 크기 1을 부여해 차원을 남깁니다. `keepdims`가 `False`인 경우 축소된 차원을 없앰에 따라 출력 텐서의 차원 개수가 1만큼 감소합니다. 예를 들어 형태가 (3, 4)인 텐서를 합산할 때 `axis=0, keepdims=True`로 지정할 경우 형태가 (1, 4)인 텐서를 출력합니다. 기본값은 `False`입니다. __반환값__ - - -'x'의 합을 가진 텐서. +'x'의 합으로 이루어진 텐서. __NumPy 적용__ - - ```python def sum(x, axis=None, keepdims=False): if isinstance(axis, list): @@ -1693,188 +1656,133 @@ def sum(x, axis=None, keepdims=False): ---- - ### prod - ```python keras.backend.prod(x, axis=None, keepdims=False) ``` +지정된 축의 방향을 따라 텐서의 원소를 곱해서 반환합니다. -지정된 축을 따라, 텐서의 값을 곱합니다. - __인자__ -- __x__: A tensor or variable. - __x__: 텐서 또는 변수. -- __axis__: An integer or list of integers in [-rank(x), rank(x)) 범위 내 - integers의 리스트 또는 integers로서, 곱을 계산한 축. - 만약 None이라면 모든 차원에 대해 곱을 계산합니다. -- __keepdims__: boolean, 차원이 유지되고 있는지 아닌지에 대한 진리값. - 만약 `keepdims` 가 False라면, 텐서의 랭크가 1만큼 감소합니다. - 만약 `keepdims` 가 True라면, 줄어든 차원이 길이 1만큼 유지됩니다. - +- __axis__: 단일 `int` 값 또는 (*rank(x) = `x`의 차원 개수일 때) [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플. 지정한 축을 따라 이동하면서 나머지 방향의 원소들끼리 곱합니다. 예를 들어 형태가 (3, 4)인 텐서를 곱할 때 `axis=0`으로 지정할 경우 길이가 4인 텐서를 출력합니다. `None`인 경우 텐서의 모든 원소를 곱합니다. +- __keepdims__: `bool`. 출력값에서 `x`차원의 개수를 유지할지 여부를 지정합니다. `keepdims`를 `True`로 지정하면 입력값과 출력값 사이에 축소된 차원을 없애는 대신 크기 1을 부여해 차원을 남깁니다. `keepdims`가 `False`인 경우 축소된 차원을 없앰에 따라 출력 텐서의 차원 개수가 1만큼 감소합니다. 예를 들어 형태가 (3, 4)인 텐서를 합산할 때 `axis=0, keepdims=True`로 지정할 경우 형태가 (1, 4)인 텐서를 출력합니다. 기본값은 `False`입니다. __반환값__ - - -'x'의 요소들의 곱에대한 텐서. +'x'의 원소들의 곱으로 이루어진 텐서. __NumPy 적용__ - - ```python def prod(x, axis=None, keepdims=False): if isinstance(axis, list): axis = tuple(axis) return np.prod(x, axis=axis, keepdims=keepdims) ``` - - ---- -### cumsum +### cumsum ```python keras.backend.cumsum(x, axis=0) ``` - -지정된 축에 따라, 텐서 값의 누적된 합계. - +지정된 축의 방향으로 텐서의 원소를 누적합하여 반환합니다. __인자__ - - __x__: 텐서 또는 변수. -- __axis__: An integer, 합계를 계산하는 축. +- __axis__: `int`. 값을 합산할 방향을 나타내는 축. __반환값__ - - -x의 값에 따른 축의 누적된 합의 텐서. +`x`의 원소를 누적한 합의 텐서. __NumPy 적용__ - - ```python def cumsum(x, axis=0): return np.cumsum(x, axis=axis) ``` - - ---- -### cumprod +### cumprod ```python keras.backend.cumprod(x, axis=0) ``` -지정된 축에 따라, 텐서 값의 누적된 곱. - +지정된 축의 방향으로 텐서의 원소를 누적곱하여 반환합니다. __인자__ - - __x__: 텐서 또는 변수. -- __axis__: An integer, 곱 계산에 대한 축. +- __axis__: `int`. 값을 곱할 방향을 나타내는 축. __반환값__ - - -x의 값에 따른 축의 누적된 곱의 텐서. +`x`의 원소를 누적한 합의 텐서. __NumPy 적용__ - - ```python def cumprod(x, axis=0): return np.cumprod(x, axis=axis) ``` - - ---- -### var +### var ```python keras.backend.var(x, axis=None, keepdims=False) ``` - -지정된 축에 따라, 텐서의 분산. +텐서 가운데 지정한 축 방향에 있는 원소들끼리의 분산을 구합니다. __인자__ - __x__: 텐서 또는 변수. -- __axis__: [-rank(x), rank(x)) 범위의 `int` 타입 리스트 또는 `int` 으로, 분산을 계산 할 축. - None (default)이면 계산. 모든 차원에 대한 분산을 계산합니다.. -- __keepdims__: boolean, 차원을 유지 하였는지에 대한 진리값. - `keepdims` 가 False인 경우, 텐서의 랭크가 1씩 감소합니다. - `keepdims` 가 True인 경우, 줄어든 차원의 길이는 1로 유지됩니다. - - +- __axis__: 단일 `int` 값 또는 (*rank(x) = `x`의 차원 개수일 때) [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플. 분산을 구할 값들이 속한 방향을 지정합니다. 예를 들어 형태가 (3, 4)인 텐서의 분산을 구할 때 `axis=0`으로 지정할 경우 각 0번째 축 방향에 해당하는 3개의 원소끼리의 분산을 구하게 되므로 결과적으로 길이가 4인 텐서를 출력합니다. `None`인 경우 모든 원소 사이의 분산을 구합니다. +- __keepdims__: `bool`. 출력값에서 `x`차원의 개수를 유지할지 여부를 지정합니다. `keepdims`를 `True`로 지정하면 입력값과 출력값 사이에 축소된 차원을 없애는 대신 크기 1을 부여해 차원을 남깁니다. `keepdims`가 `False`인 경우 축소된 차원을 없앰에 따라 출력 텐서의 차원 개수가 1만큼 감소합니다. 예를 들어 형태가 (3, 4)인 텐서를의 분산을 구할 때 `axis=0, keepdims=True`로 지정할 경우 형태가 (1, 4)인 텐서를 출력합니다. 기본값은 `False`입니다. + __반환값__ - -`x`의 요소의 분산을 갖는 텐서. - +`x`의 원소들의 분산으로 이루어진 텐서. __NumPy 적용__ - - ```python def var(x, axis=None, keepdims=False): if isinstance(axis, list): axis = tuple(axis) return np.var(x, axis=axis, keepdims=keepdims) ``` - - ---- - ### std - ```python keras.backend.std(x, axis=None, keepdims=False) ``` - - -지정된 축과 함께 텐서의 표준 편차를 반환한다. +텐서 가운데 지정한 축 방향에 있는 원소들끼리의 표준편차를 구합니다. __인자__ - __x__: 텐서 또는 변수. -- __axis__: [-rank(x), rank(x)) 범위의 `int` 타입 리스트 또는 `int` 으로, 표준편차를 계산하는 축. - None (default)이면 계산. 모든 차원에 대한 표준편차를 계산합니다. -- __keepdims__: boolean, 차원을 유지 하였는지에 대한 진리값. - `keepdims` 가 False인 경우, 텐서의 랭크가 1씩 감소합니다. - `keepdims` 가 True인 경우, 줄어든 차원의 길이는 1로 유지됩니다. - - +- __axis__: 단일 `int` 값 또는 (*rank(x) = `x`의 차원 개수일 때) [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플. 표준편차를 구할 값들이 속한 방향을 지정합니다. 예를 들어 형태가 (3, 4)인 텐서의 표준편차를 구할 때 `axis=0`으로 지정할 경우 각 0번째 축 방향에 해당하는 3개의 원소끼리의 표준편차를 구하게 되므로 결과적으로 길이가 4인 텐서를 출력합니다. `None`인 경우 모든 원소 사이의 표준편차를 구합니다. +- __keepdims__: `bool`. 출력값에서 `x`차원의 개수를 유지할지 여부를 지정합니다. `keepdims`를 `True`로 지정하면 입력값과 출력값 사이에 축소된 차원을 없애는 대신 크기 1을 부여해 차원을 남깁니다. `keepdims`가 `False`인 경우 축소된 차원을 없앰에 따라 출력 텐서의 차원 개수가 1만큼 감소합니다. 예를 들어 형태가 (3, 4)인 텐서의 표준편차를 구할 때 `axis=0, keepdims=True`로 지정할 경우 형태가 (1, 4)인 텐서를 출력합니다. 기본값은 `False`입니다. + __반환값__ - -x의 요소의 표준편차에 대한 텐서. +`x`의 원소들의 표준편차로 이루어진 텐서. __NumPy 적용__ - - - ```python def std(x, axis=None, keepdims=False): if isinstance(axis, list): @@ -1884,39 +1792,26 @@ def std(x, axis=None, keepdims=False): ---- - ### mean - ```python keras.backend.mean(x, axis=None, keepdims=False) ``` - -지정된 축에 따른 텐서의 평균. - +텐서 가운데 지정한 축 방향에 있는 원소들끼리 평균을 구합니다. __인자__ - -- __x__: 텐서 또는 변수. -- __axis__: [-rank(x), rank(x)) 범위의 `int` 타입 리스트 또는 `int` 으로, 평균을 계산하는 축. - None (default)이면 계산. 모든 차원에 대한 평균을 계산합니다. -- __keepdims__: boolean, 차원을 유지 하였는지에 대한 진리값. - `keepdims` 가 False인 경우, 축의 각 항목에 대해 텐서의 랭크가 1씩 감소합니다. - `keepdims` 가 True인 경우, 줄어든 차원의 길이는 1로 유지됩니다. - - +- __x__: 텐서 또는 변수. +- __axis__: 단일 `int` 값 또는 (*rank(x) = `x`의 차원 개수일 때) [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플. 평균을 구할 값들이 속한 방향을 지정합니다. 예를 들어 형태가 (3, 4)인 텐서의 평균을 구할 때 `axis=0`으로 지정할 경우 각 0번째 축 방향에 해당하는 3개의 원소끼리의 평균을 구하게 되므로 결과적으로 길이가 4인 텐서를 출력합니다. `None`인 경우 모든 원소 사이의 평균을 구합니다. +- __keepdims__: `bool`. 출력값에서 `x`차원의 개수를 유지할지 여부를 지정합니다. `keepdims`를 `True`로 지정하면 입력값과 출력값 사이에 축소된 차원을 없애는 대신 크기 1을 부여해 차원을 남깁니다. `keepdims`가 `False`인 경우 축소된 차원을 없앰에 따라 출력 텐서의 차원 개수가 1만큼 감소합니다. 예를 들어 형태가 (3, 4)인 텐서의 평균을 구할 때 `axis=0, keepdims=True`로 지정할 경우 형태가 (1, 4)인 텐서를 출력합니다. 기본값은 `False`입니다. + __반환값__ - - -`x`의 요소의 평균을 가진 텐서. +`x`의 원소들의 평균으로 이루어진 텐서. __NumPy 적용__ - - ```python def mean(x, axis=None, keepdims=False): if isinstance(axis, list): @@ -1926,37 +1821,26 @@ def mean(x, axis=None, keepdims=False): ---- - ### any - ```python keras.backend.any(x, axis=None, keepdims=False) ``` - - -비트단위 감소(logical OR). +비트 단위로 논리적 OR 조건 충족여부를 계산합니다. 대상 원소들 가운데 하나라도 True 또는 0이 아닌 숫자값을 가지는 경우 True를 반환합니다. __인자__ - -- __x__: Tensor or variable. -- __axis__: [-rank(x), rank(x)) 범위의 `int` 타입 리스트 또는 `int` - None (default)이면 계산. 모든 차원에 대한 평균을 계산합니다. -- __keepdims__: 감소한 축을 브로드캐스트 하는지 드롭하는지에 대한 여부. - +- __x__: 텐서, 변수, 또는 텐서와 변수에 대한 조건식. (예: `x` 또는 `x==1`) +- __axis__: 단일 `int` 값 또는 (*rank(x) = `x`의 차원 개수일 때) [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플. or 조건을 판단할 값들이 속한 방향을 지정합니다. 예를 들어 형태가 (3, 4)인 텐서에서 논리 연산 결과를 구할 때 `axis=0`으로 지정할 경우 각 0번째 축 방향에 해당하는 3개의 원소끼리 연산하게 되므로 결과적으로 길이가 4인 텐서를 출력합니다. `None`인 경우 텐서 전체를 대상으로 논리 연산을 수행합니다. +- __keepdims__: `bool`. 출력값에서 `x`차원의 개수를 유지할지 여부를 지정합니다. `keepdims`를 `True`로 지정하면 입력값과 출력값 사이에 축소된 차원을 없애는 대신 크기 1을 부여해 차원을 남깁니다. `keepdims`가 `False`인 경우 축소된 차원을 없앰에 따라 출력 텐서의 차원 개수가 1만큼 감소합니다. 예를 들어 형태가 (3, 4)인 텐서의 논리 연산을 할 때 `axis=0, keepdims=True`로 지정할 경우 형태가 (1, 4)인 텐서를 출력합니다. 기본값은 `False`입니다. __반환값__ - - -uint8텐서 (0s and 1s). +`bool` 자료형의 텐서(True 또는 False). __NumPy 적용__ - - ```python def any(x, axis=None, keepdims=False): if isinstance(axis, list): @@ -1966,36 +1850,26 @@ def any(x, axis=None, keepdims=False): ---- - ### all - ```python keras.backend.all(x, axis=None, keepdims=False) ``` - -비트단위 감소 (logical AND). +비트 단위로 논리적 AND 조건 충족여부를 계산합니다. 모든 대상 원소들이 True 또는 0이 아닌 숫자값을 가지는 경우 True를 반환합니다. __인자__ - -- __x__: 텐서 또는 변수. -- __axis__: [-rank(x), rank(x)) 범위의 `int` 타입 리스트 또는 `int` - None (default)이면 계산. 모든 차원에 대한 평균을 계산합니다. -- __keepdims__: 감소한 축을 브로드캐스트 하는지 드롭하는지에 대한 여부. - +- __x__: 텐서, 변수, 또는 텐서와 변수에 대한 조건식. (예: `x` 또는 `x==1`) +- __axis__: 단일 `int` 값 또는 (*rank(x) = `x`의 차원 개수일 때) [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플. or 조건을 판단할 값들이 속한 방향을 지정합니다. 예를 들어 형태가 (3, 4)인 텐서에서 논리 연산 결과를 구할 때 `axis=0`으로 지정할 경우 각 0번째 축 방향에 해당하는 3개의 원소끼리 연산하게 되므로 결과적으로 길이가 4인 텐서를 출력합니다. `None`인 경우 텐서 전체를 대상으로 논리 연산을 수행합니다. +- __keepdims__: `bool`. 출력값에서 `x`차원의 개수를 유지할지 여부를 지정합니다. `keepdims`를 `True`로 지정하면 입력값과 출력값 사이에 축소된 차원을 없애는 대신 크기 1을 부여해 차원을 남깁니다. `keepdims`가 `False`인 경우 축소된 차원을 없앰에 따라 출력 텐서의 차원 개수가 1만큼 감소합니다. 예를 들어 형태가 (3, 4)인 텐서의 논리 연산을 할 때 `axis=0, keepdims=True`로 지정할 경우 형태가 (1, 4)인 텐서를 출력합니다. 기본값은 `False`입니다. __반환값__ - - -uint8텐서 (0s and 1s). +`bool` 자료형의 텐서(True 또는 False). __NumPy 적용__ - - ```python def all(x, axis=None, keepdims=False): if isinstance(axis, list): @@ -2005,32 +1879,25 @@ def all(x, axis=None, keepdims=False): ---- - ### argmax - ```python keras.backend.argmax(x, axis=-1) ``` - -축에 따른 최댓값의 인덱스를 반환합니다. +지정한 축 방향의 원소 가운데 최댓값인 원소의 인덱스를 반환합니다. __인자__ - - __x__: 텐서 또는 변수. -- __axis__: 감소 수행에 따른 축. +- __axis__: 최댓값 인덱스를 탐색할 방향의 축을 지정합니다. 예를 들어 형태가 (3, 4)인 텐서에서 최댓값을 탐색할 때 `axis=0`으로 지정할 경우 각 0번째 축 방향에 해당하는 3개의 원소끼리 연산하게 되므로 결과적으로 길이가 4인 텐서를 출력합니다. `None`인 경우 텐서 전체를 기준으로 한 인덱스 값을 반환합니다. -__반환값__ - +__반환값__ -텐서. +텐서. __NumPy 적용__ - - ```python def argmax(x, axis=-1): return np.argmax(x, axis=axis) @@ -2038,32 +1905,25 @@ def argmax(x, axis=-1): ---- - ### argmin ```python keras.backend.argmin(x, axis=-1) ``` - - -축에 따른 최솟값의 인덱스를 반환합니다. +지정한 축 방향의 원소 가운데 최솟값인 원소의 인덱스를 반환합니다. __인자__ - - __x__: 텐서 또는 변수. -- __axis__: 축소를 수행에 따른 축. +- __axis__: 최솟값 인덱스를 탐색할 방향의 축을 지정합니다. 예를 들어 형태가 (3, 4)인 텐서에서 최솟값을 탐색할 때 `axis=0`으로 지정할 경우 각 0번째 축 방향에 해당하는 3개의 원소끼리 연산하게 되므로 결과적으로 길이가 4인 텐서를 출력합니다. `None`인 경우 텐서 전체를 기준으로 한 인덱스 값을 반환합니다. -__반환값__ - +__반환값__ -텐서 +텐서. __NumPy 적용__ - - ```python def argmin(x, axis=-1): return np.argmin(x, axis=axis) @@ -2071,73 +1931,60 @@ def argmin(x, axis=-1): ---- - ### square - ```python keras.backend.square(x) ``` +텐서의 각 원소를 제곱합니다. -요소별로 제곱계산. - -__인자__ +__인자__ - __x__: 텐서 또는 변수. -__반환값__ - +__반환값__ 텐서. + ---- - ### abs - ```python keras.backend.abs(x) ``` +텐서의 각 원소별 절대값을 구합니다. -절대값 계산. - - -__인자__ +__인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ - 텐서. + ---- - ### sqrt - ```python keras.backend.sqrt(x) ``` +텐서의 각 원소별 제곱근을 구합니다. -요소별 제곱근 계산. - -__인자__ +__인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ - -텐서 +텐서. __NumPy 적용__ - - ```python def sqrt(x): y = np.sqrt(x) @@ -2147,57 +1994,48 @@ def sqrt(x): ---- - ### exp - ```python keras.backend.exp(x) ``` +텐서의 각 원소를 지수로 하여 자연상수의 승을 구합니다. -Element-wise exponential. - -__인자__ +__인자__ -- __x__: Tensor or variable. +- __x__: 텐서 또는 변수. -__반환값__ +__반환값__ + +텐서. - -A tensor. ---- - ### log - ```python keras.backend.log(x) ``` +텐서의 각 원소별 자연로그 값을 구합니다. -log 취하기. - -__인자__ +__인자__ -- __x__: 텐서 또는 변수. +- __x__: 텐서 또는 변수. -__반환값__ - +__반환값__ 텐서. + ---- - ### logsumexp - ```python keras.backend.logsumexp(x, axis=None, keepdims=False) ``` - log(sum(exp(elements across dimensions of a tensor)))를 계산합니다. log(sum(exp(x))) 보다 수치적으로 안정된 함수입니다. 큰 입력값의 exp를 취해서 오버플로가 발생하고 From 09b7a22cfa0a6758342b5e8b4c5fd3041cd3b9cd Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Fri, 17 Jan 2020 16:58:23 +0900 Subject: [PATCH 08/25] line 2099 --- sources/backend.md | 68 ++++++++++++++++------------------------------ 1 file changed, 24 insertions(+), 44 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index 74874f39..b0800dc9 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -2035,34 +2035,22 @@ __반환값__ ```python keras.backend.logsumexp(x, axis=None, keepdims=False) ``` +텐서의 지정 차원에 있는 원소들의 `log(sum(exp()))`값을 계산합니다. -log(sum(exp(elements across dimensions of a tensor)))를 계산합니다. -log(sum(exp(x))) 보다 수치적으로 안정된 함수입니다. -큰 입력값의 exp를 취해서 오버플로가 발생하고 -작은 입력값의 log를 가져와서 언더플로가 발생하는 것을 방지합니다. - - +이 함수는 직접 `log(sum(exp(x)))` 수식을 계산하는 것에 비해 수치적으로 안정된 함수입니다. `exp` 계산에 매우 큰 값을 입력받아서 발생하는 오버플로우나 `log` 계산에 매우 작은 값을 입력받아서 발생하는 언더플로우 문제를 예방하도록 만들어져 있습니다. + __인자__ - - __x__: 텐서 또는 변수. -- __axis__: An integer or list of integers in [-rank(x), rank(x)) 범위 내 - integers의 리스트 또는 integers로서, logsunexp을 계산한 축. - 만약 None이라면 모든 차원에 대해 logsunexp을 계산합니다. -- __keepdims__: boolean, 차원이 유지되고 있는지 아닌지에 대한 진리값. - 만약 `keepdims` 가 False라면, 텐서의 랭크가 1만큼 감소합니다. - 만약 `keepdims` 가 True라면, 줄어든 차원이 길이 1만큼 유지됩니다. - - -__반환값__ +- __axis__: 단일 `int` 값 또는 (*rank(x) = `x`의 차원 개수일 때) [-rank(x), rank(x)) 범위의 `int`로 이루어진 튜플로서 `logsumexp`를 계산할 값들이 속한 방향을 지정합니다. `None`인 경우 모든 차원에 대해 `logsumexp`를 계산합니다. +- __keepdims__: `bool`. 출력값에서 `x`차원의 개수를 유지할지 여부를 지정합니다. `keepdims`를 `True`로 지정하면 입력값과 출력값 사이에 축소된 차원을 없애는 대신 크기 1을 부여해 차원을 남깁니다. `keepdims`가 `False`인 경우 축소된 차원을 없앰에 따라 출력 텐서의 차원 개수가 1만큼 감소합니다. 예를 들어 형태가 (3, 4)인 텐서 연산을 할 때 `axis=0, keepdims=True`로 지정할 경우 형태가 (1, 4)인 텐서를 출력합니다. 기본값은 `False`입니다. + +__반환값__ - -감소된 텐서. +텐서. __NumPy 적용__ - - ```python def logsumexp(x, axis=None, keepdims=False): if isinstance(axis, list): @@ -2072,51 +2060,43 @@ def logsumexp(x, axis=None, keepdims=False): ---- - ### round - ```python keras.backend.round(x) ``` +텐서의 모든 원소를 반올림합니다. +0.5를 반올림하는 경우 가장 가까운 짝수를 반환합니다. (예: `round(11.5) = 12`, `round(12.5) = 12`) -요소별로 가장 가까운 수로 반올림. -0.5.의 경우, 가장 가까운 짝수로 반올림 보내는 방식을 사용합니다. - - -__인자__ +__인자__ -- __x__: 텐서 또는 변수. +- __x__: 텐서 또는 변수. -__반환값__ +__반환값__ +텐서. -텐서. - ----- +---- ### sign - ```python keras.backend.sign(x) ``` - -요소별로 sign 취하기. - -__인자__ - -- __x__: 텐서 또는 변수. - -__반환값__ +텐서 내 각 원소의 부호값을 구합니다. 음수의 경우 `-1`, `0`의 경우 `0`, 양수의 경우 `1`을 반환합니다. 복소수의 경우 `x`가 `0`이 아닐 때는 `x/|x|`를, `0`일 때는 `0`을 반환합니다. + +__인자__ + +- __x__: 텐서 또는 변수. + +__반환값__ - -텐서. +텐서. + ---- - ### pow From be08b327ad2087d3c5cbc06b7f2e38a325788272 Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Mon, 20 Jan 2020 12:27:01 +0900 Subject: [PATCH 09/25] line 2513 --- sources/backend.md | 282 ++++++++++++++++----------------------------- 1 file changed, 101 insertions(+), 181 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index b0800dc9..01be7f0f 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -2000,7 +2000,7 @@ def sqrt(x): keras.backend.exp(x) ``` -텐서의 각 원소를 지수로 하여 자연상수의 승을 구합니다. +텐서의 각 원소를 지수로 하여 자연상수의 지수제곱을 구합니다. __인자__ @@ -2099,29 +2099,23 @@ __반환값__ ---- ### pow - ```python keras.backend.pow(x, a) ``` +각 원소별 a 제곱을 구합니다. -요소별로 지수화. - - -__인자__ +__인자__ - __x__: 텐서 또는 변수. - __a__: `int` - -__반환값__ - - + +__반환값__ + 텐서. __NumPy 적용__ - - ```python def pow(x, a=1.): return np.power(x, a) @@ -2129,32 +2123,26 @@ def pow(x, a=1.): ---- - ### clip - ```python keras.backend.clip(x, min_value, max_value) ``` - -간격이 주어지면 간격 가장자리에서 값이 잘립니다. (클리핑) - +입력한 텐서의 원소 가운데 지정한 최솟값 또는 최댓값을 벗어나는 값을 지정한 최솟값, 최댓값으로 바꿉니다. 최댓값, 최솟값을 텐서로 입력하는 경우 `x`와 자료형이 같아야 합니다. + __인자__ - __x__: 텐서 또는 변수. -- __min_value__: `float`. `int` or tensor. -- __max_value__: `float`. `int` or tensor. +- __min_value__: `float`, `int` 또는 텐서. +- __max_value__: `float`, `int` 또는 텐서. __반환값__ - -텐서 +텐서. __NumPy 적용__ - - ```python def clip(x, min_value, max_value): return np.clip(x, min_value, max_value) @@ -2162,7 +2150,6 @@ def clip(x, min_value, max_value): ---- - ### equal @@ -2170,23 +2157,18 @@ def clip(x, min_value, max_value): keras.backend.equal(x, y) ``` +두 텐서의 값이 같은지 여부를 원소별로 비교합니다. -두 텐서 사이의 대등함을 비교. - -__인자__ - +__인자__ + - __x__: 텐서 또는 변수. - __y__: 텐서 또는 변수. + +__반환값__ + +`bool`형식의 텐서. - -__반환값__ - - -불리언 텐서. - -__NumPy 적용__ - - +__NumPy 적용__ ```python def equal(x, y): @@ -2198,27 +2180,23 @@ def equal(x, y): ### not_equal - ```python keras.backend.not_equal(x, y) ``` -두 텐서사이 동등하지 않음을 판정. +두 텐서의 값이 다른지 여부를 원소별로 비교합니다. __인자__ - __x__: 텐서 또는 변수. - __y__: 텐서 또는 변수. -__반환값__ - - -불리언 텐서. - +__반환값__ + +`bool`형식의 텐서. + __NumPy 적용__ - - ```python def not_equal(x, y): return x != y @@ -2226,16 +2204,13 @@ def not_equal(x, y): ---- - ### greater - ```python keras.backend.greater(x, y) ``` - -(x > y)의 진리값. +(x > y)의 진리값을 원소별로 판단합니다. __인자__ @@ -2244,13 +2219,10 @@ __인자__ __반환값__ - -불리언 텐서. + `bool`형식의 텐서. __NumPy 적용__ - - ```python def greater(x, y): return x > y @@ -2258,32 +2230,25 @@ def greater(x, y): ---- - ### greater_equal - ```python keras.backend.greater_equal(x, y) ``` - -(x >= y)의 진리값. +(x >= y)의 진리값을 원소별로 판단합니다. __인자__ - __x__: 텐서 또는 변수. - __y__: 텐서 또는 변수. - __반환값__ - -불리언 텐서. +`bool`형식의 텐서. __NumPy 적용__ - - ```python def greater_equal(x, y): return x >= y @@ -2291,31 +2256,25 @@ def greater_equal(x, y): ---- - ### less - ```python keras.backend.less(x, y) ``` - -(x < y)의 진리값. +(x < y)의 진리값을 원소별로 판단합니다. __인자__ -- __x__: Tensor or variable. -- __y__: Tensor or variable. +- __x__: 텐서 또는 변수. +- __y__: 텐서 또는 변수. __반환값__ - -불리언 텐서. +`bool`형식의 텐서. __NumPy 적용__ - - ```python def less(x, y): return x < y @@ -2323,16 +2282,13 @@ def less(x, y): ---- - ### less_equal - ```python keras.backend.less_equal(x, y) ``` - -(x <= y)의 진리값. +(x <= y)의 진리값을 원소별로 판단합니다. __인자__ @@ -2341,13 +2297,10 @@ __인자__ __반환값__ - -불리언 텐서. +`bool`형식의 텐서. __NumPy 적용__ - - ```python def less_equal(x, y): return x <= y @@ -2355,32 +2308,25 @@ def less_equal(x, y): ---- - ### maximum - ```python keras.backend.maximum(x, y) ``` - -두 텐서사이 최댓값. +두 텐서 가운데 각 위치별 최댓값으로 이루어진 텐서를 반환합니다. __인자__ - - __x__: 텐서 또는 변수. - __y__: 텐서 또는 변수. -__반환값__ - - -한 개의 텐서. +__반환값__ + +텐서. __NumPy 적용__ - - ```python def maximum(x, y): return np.maximum(x, y) @@ -2388,16 +2334,13 @@ def maximum(x, y): ---- - ### minimum - ```python keras.backend.minimum(x, y) ``` - -두 텐서 사이 최솟값. +두 텐서 가운데 각 위치별 최솟값으로 이루어진 텐서를 반환합니다. __인자__ @@ -2406,13 +2349,10 @@ __인자__ __반환값__ - 텐서. __NumPy 적용__ - - ```python def minimum(x, y): return np.minimum(x, y) @@ -2420,75 +2360,65 @@ def minimum(x, y): ---- - ### sin - ```python keras.backend.sin(x) ``` - -x의 sin 계산. - -__인자__ - -- __x__: 텐서 또는 변수. - -__반환값__ +x의 각 원소별 사인값을 구합니다. + +__인자__ + +- __x__: 텐서 또는 변수. + +__반환값__ +텐서. -한 개의 텐서. - ----- +---- ### cos - ```python keras.backend.cos(x) ``` - -x의 cos 계산. - -__인자__ - -- __x__: 텐서 또는 변수. - -__반환값__ +x의 각 원소별 코사인값을 구합니다. + +__인자__ + +- __x__: 텐서 또는 변수. + +__반환값__ +텐서. -텐서. - ----- +---- ### normalize_batch_in_training - ```python keras.backend.normalize_batch_in_training(x, gamma, beta, reduction_axes, epsilon=0.001) ``` - -배치에 대한 평균과 표준을 계산 한 다음 배치에 배치 정규화를 적용합니다. +배치의 대한 평균과 표준을 계산한 다음 배치 정규화를 적용합니다. __인자__ - __x__: Input 텐서 또는 변수. - __gamma__: 입력 스케일링에 사용되는 텐서. - __beta__: 입력을 중앙에 위치시키는 텐서. -- __reduction_axes__: 정수 반복가능, 정규화 할 축. -- __epsilon__: 퍼지 상수. - - -__반환값__ - - - `(normalized_tensor, mean, variance)` 인자의 튜플 길이. +- __reduction_axes__: `int` 또는 `int`로 이루어진 리스트나 튜플. 정규화를 수행할 축을 지정합니다. +- __epsilon__: 0으로 나누는 오류를 방지하기 위해 더할 작은 상수값. + +__반환값__ + +`(normalized_tensor, mean, variance)` 인자로 이루어진 길이 3의 튜플. ---- + ### batch_normalization @@ -2496,101 +2426,91 @@ __반환값__ keras.backend.batch_normalization(x, mean, var, beta, gamma, axis=-1, epsilon=0.001) ``` - -평균, 분산, 베타와 감마가 주어진 x에 대해 배치 정규화를 수행합니다. - -I.e. returns: -`output = (x - mean) / sqrt(var + epsilon) * gamma + beta` - -__인자__ - +평균과 분산, 베타와 감마가 주어진 x에 대해 배치 정규화를 수행합니다. + +출력 예시: `output = (x - mean) / sqrt(var + epsilon) * gamma + beta` + +__인자__ - __x__: 입력 텐서 또는 변수. - __mean__: 배치의 평균 - __var__: 배치의 분산 -- __beta__: 입력을 중앙에 위치시키는 텐서. -- __gamma__: 입력 스케일링에 의한 텐서. -- __axis__: Integer, 정규화 시켜야 하는 축. - (typically the features axis). -- __epsilon__: 퍼지 상수. - +- __gamma__: 입력 스케일링에 사용되는 텐서. +- __beta__: 입력을 중앙에 위치시키는 텐서. +- __axis__: `int`, 정규화 시킬 축. 일반적으로 변인feature 차원을 지정합니다. +- __epsilon__: 0으로 나누는 오류를 방지하기 위해 더할 작은 상수값. __반환값__ - 텐서. ----- - -### concatenate - +__NumPy 적용__ ```python -keras.backend.concatenate(tensors, axis=-1) +def batch_normalization(x, mean, var, beta, gamma, axis=-1, epsilon=0.001): + return ((x - mean) / sqrt(var + epsilon)) * gamma + beta ``` -지정된 축에따른 텐서의 리스트 연결. - +---- +### concatenate -__인자__ +```python +keras.backend.concatenate(tensors, axis=-1) +``` + +리스트로 묶인 텐서들을 지정한 축을 따라 연결합니다. + +__인자__ -- __tensors__: 연결 할 텐서의 목록. -- __axis__: 연결 축. +- __tensors__: 연결할 텐서 리스트. +- __axis__: 연결할 축. __반환값__ - 텐서. - + + ---- - ### reshape - ```python keras.backend.reshape(x, shape) ``` - -텐서를 지정한 형식으로 다시 재정의 합니다. +텐서의 형태를 지정한 모양으로 바꿉니다. __인자__ - __x__: 텐서 또는 변수. -- __shape__: 대상이 되는 형식튜플. +- __shape__: 바꿀 형태를 나타내는 튜플. __반환값__ - 텐서. - ----- -### permute_dimensions +---- +### permute_dimensions ```python keras.backend.permute_dimensions(x, pattern) ``` - -텐서의 축을 치환합니다. - -__인자__ - -- __x__: 텐서 또는 변수. -- __pattern__: `(0, 2, 1)`처럼 인덱스들의 차원의 튜플. - +텐서의 축을 지정한 순서대로 재배치합니다. + +__인자__ + +- __x__: 텐서 또는 변수. +- __pattern__: 텐서의 각 차원 인덱스로 이루어진 튜플. (예: `(0, 2, 1)`) __반환값__ - 텐서. + ---- - ### resize_images From b2d09ab043d944ba61b20850bf1aa77a1c0c072a Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Mon, 20 Jan 2020 13:16:17 +0900 Subject: [PATCH 10/25] line 2565 --- sources/backend.md | 49 ++++++++++++++++++++-------------------------- 1 file changed, 21 insertions(+), 28 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index 01be7f0f..244c5277 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -1699,7 +1699,7 @@ __인자__ - __x__: 텐서 또는 변수. - __axis__: `int`. 값을 합산할 방향을 나타내는 축. -__반환값__ +__반환값__ `x`의 원소를 누적한 합의 텐서. __NumPy 적용__ @@ -1725,7 +1725,7 @@ __인자__ - __x__: 텐서 또는 변수. - __axis__: `int`. 값을 곱할 방향을 나타내는 축. -__반환값__ +__반환값__ `x`의 원소를 누적한 합의 텐서. __NumPy 적용__ @@ -1837,7 +1837,7 @@ __인자__ __반환값__ -`bool` 자료형의 텐서(True 또는 False). +`bool`형식의 텐서(True 또는 False). __NumPy 적용__ @@ -2513,61 +2513,54 @@ __반환값__ ---- ### resize_images - ```python keras.backend.resize_images(x, height_factor, width_factor, data_format, interpolation='nearest') ``` +4D 텐서에 들어있는 이미지들의 크기를 조정합니다. 4D텐서는 `batch, height, width, channels` 4개의 차원으로 이루어진 텐서입니다. -4차원 텐서에 포함된 이미지들을 재조정합니다. - -__인자__ +__인자__ -- __x__: 텐서 또는 변수. to resize. +- __x__: 크기를 조정할 텐서 또는 변수. - __height_factor__: 양의 정수. - __width_factor__: 양의 정수. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. -- __interpolation__: `str`. `nearest` 또는 `bilinear` 중 하나. - +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 입력할 4D 텐서의 차원 순서가 `(batch, height, width, channels)`가 될 것인지 `(batch, channels, height, width)`가 될 것인지를 지정합니다. +- __interpolation__: `str`. `"nearest"` 또는 `"bilinear"` 중 하나. 크기 조정에 따라 추가될 값을 결정할 방식을 지정합니다. -__반환값__ +__반환값__ - 텐서. __오류__ -- __ValueError__: `data_format`이면 'channels_last' 또는 'channels_first' 모두 아니다. - ----- +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"` 가 아닌 경우에 발생합니다. -### resize_volumes +---- +### resize_volumes ```python keras.backend.resize_volumes(x, depth_factor, height_factor, width_factor, data_format) ``` - -5차원 텐서에 포함된 볼륨 크기 조정. +5D 텐서에 포함된 입체의 크기를 조정합니다. 5D 텐서는 `batch, depth, height, width, channels` 5개의 차원으로 이루어진 텐서입니다. __인자__ -- __x__: 텐서 또는 변수. to resize. +- __x__: 크기를 조정할 텐서 또는 변수. - __depth_factor__: 양의 정수. - __height_factor__: 양의 정수. - __width_factor__: 양의 정수. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. - - -__반환값__ - - -한 개의 텐서. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 입력할 5D 텐서의 차원 순서가 `(batch, depth, height, width, channels)`가 될 것인지 `(batch, channels, depth, height, width)`가 될 것인지를 지정합니다. +__반환값__ + +텐서. + __오류__ -- __ValueError__: `data_format`이면 'channels_last' 또는 'channels_first' 모두 아니다. +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"` 가 아닌 경우에 발생합니다. + ---- From 1d65cfb0d8e4693930b3b656576ababc56b801bc Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Mon, 3 Feb 2020 11:46:13 +0900 Subject: [PATCH 11/25] line 2719 --- sources/backend.md | 140 ++++++++++++++++----------------------------- 1 file changed, 48 insertions(+), 92 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index 244c5277..c6768f1b 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -1331,7 +1331,7 @@ keras.backend.dot(x, y) ``` 두 개의 텐서(또는 변수)를 내적한 결과를 텐서로 반환합니다. -차원의 갯수가 서로 다른 텐서를 내적할 경우 Theano의 계산 방식을 따라 결과를 생성합니다. +차원의 개수가 서로 다른 텐서를 내적할 경우 Theano의 계산 방식을 따라 결과를 생성합니다. (예: `(2, 3) * (4, 3, 5) = (2, 4, 5)`, `(3, 10) * (2, 5, 10, 4) = (3, 2, 5, 4)`) __인자__ @@ -1549,7 +1549,7 @@ def transpose(x): ```python keras.backend.gather(reference, indices) ``` -`reference`로 지정한 텐서에서 `indices`로 지정한 인덱스의 요소들을 뽑아 하나의 텐서로 가져옵니다. +`reference`로 지정한 텐서에서 `indices`로 지정한 인덱스의 원소들을 뽑아 하나의 텐서로 가져옵니다. __인자__ @@ -2563,155 +2563,121 @@ __오류__ ---- - ### repeat_elements - ```python keras.backend.repeat_elements(x, rep, axis) ``` - - -`np.repeat`처럼 축을따라 텐서의 요소를 반복. - -`x` 형식이 `(s1, s2, s3)` 이고, `axis` 이 `1`이면, 출력형식은 (s1, s2 * rep, s3)`입니다. - -__인자__ +지정한 축을 따라 텐서의 원소를 지정한 횟수만큼 반복합니다. `np.repeat`와 같은 방식으로 작동합니다. `x`의 형식이 `(s1, s2, s3)` 이고, `axis`가 `1`이면, 출력형식은 `(s1, s2 * rep, s3)`이 됩니다. 예를 들어 `[a, b]`로 이루어진 텐서를 `rep=2`, `axis=1`로 지정하여 입력하면 결과는 `[a, a, b, b]`의 텐서가 됩니다. + +__인자__ - __x__: 텐서 또는 변수. -- __rep__: `int`. 반복횟수. -- __axis__: 반복 할 축 +- __rep__: `int`. 각 원소를 반복할 횟수. +- __axis__: 반복할 축 -__반환값__ +__반환값__ +텐서. -한 개의 텐서. - ----- +---- ### repeat - ```python keras.backend.repeat(x, n) ``` - -2차원 텐서를 반복합니다. -만약 x가 (samples, dim)형식이고 'n'이 2라면, 출력값은 형식이 (samples, 2, dim)가 됩니다. +2D 텐서를 반복합니다. 만약 `x`가 `(samples, dim)`형태이고 `n`이 `2`라면, 출력값의 형태는 `(samples, 2, dim)`이 됩니다. -__인자__ +__인자__ - __x__: 텐서 또는 변수. - __n__: `int`. 반복횟수. -__반환값__ +__반환값__ - 텐서. + ---- - ### arange - ```python keras.backend.arange(start, stop=None, step=1, dtype='int32') ``` +연속된 정수로 이루어진 1D 텐서를 생성합니다. 이 함수로 입력되는 인자는 Python의 range 함수와 같은 방식으로 처리됩니다. 예를 들어 `arange(5)`와 같이 하나의 인자만 입력하는 경우 `start=0`, `stop=5`로 해석되어 `[0, 1, 2, 3, 4]`로 이루어진 `(5, )`형태의 텐서를 생성합니다. 반환되는 텐서의 기본 자료형은 `'int32'`로 TensorFlow의 기본값과 일치합니다. - -정수 시퀀스를 포함하는 1D 텐서를 생성합니다. -함수 인자는 "Theano 's arange (단 하나의 인수 만 제공되면 실제로 "stop"인수이고 "start"는 0입니다.)"와 같은 규칙을 사용합니다. - - -반환 된 텐서의 기본 타입은` 'int32'`입니다. -TensorFlow의 기본값과 일치합니다. - -__인자__ +__인자__ - __start__: 시작 값. - __stop__: 정지 값. -- __step__: 두 개의 연속적인 값의 차이. -- __dtype__: `int` dtype +- __step__: 이어지는 두 값 사이의 간격. +- __dtype__: `int`. 반환할 텐서의 자료형. -__반환값__ +__반환값__ - -정수형 텐서. +`int`형 텐서. ---- - ### tile - ```python keras.backend.tile(x, n) ``` +텐서 또는 NumPy 배열 `x`를 `n`으로 지정한 형태만큼 나열한 텐서를 생성합니다. -x를 n으로 나열하여 생성합니다. - - -__인자__ +__인자__ - __x__: 텐서 또는 배열. -- __n__: `int` 의 리스트. x의 차원의 개수와 그 길이가 같다. +- __n__: `int` 또는 `int`로 이루어진 튜플이나 리스트. `x`를 각 축의 방향으로 몇 번 나열할 것인지를 지정합니다. 따라서 `n`의 차원 개수는 `x`의 차원 개수와 같아야 합니다. 예를 들어 `(2, )`형태의 `[a, a]`배열을 3회 나열할 경우 `n=3`이면 되지만, `(1, 2)`형태의 `[a, a]`를 1번째 축 방향으로 3회 나열할 경우 `n=(1, 3)`을 입력해야 합니다. -__반환값__ +__반환값__ + +텐서. - -나열된 텐서. ---- - ### flatten - ```python keras.backend.flatten(x) ``` +텐서의 원소를 단일 차원으로 나열합니다. 입력값의 전체 원소 개수가 `n`일 경우 출력값은 `(n, )`의 형태를 갖게 됩니다. -텐서를 합쳐서 나열합니다. - -__인자__ +__인자__ - __x__: 텐서 또는 변수. -__반환값__ - +__반환값__ -텐서를 1차원으로 형식을 재구성하여 나열합니다. - ----- +1D로 재배열된 텐서. -### batch_flatten +---- +### batch_flatten ```python keras.backend.batch_flatten(x) ``` +각 배치별 텐서의 원소를 단일 차원으로 나열합니다. 배치 차원은 유지되기 때문에 출력값은 `(batch_size, n)`의 2차원 형태를 갖게 됩니다. - -n차원 텐서를 같은 0차원의 2차원 텐서로 변형합니다. -즉, 배치의 각 데이터 샘플을 위 차원의 변형에 맞게 변환합니다. - - -__인자__ +__인자__ - __x__: 텐서 또는 변수. -__반환값__ +__반환값__ +2D로 재배열된 텐서. -텐서. - ----- +---- ### expand_dims @@ -2719,48 +2685,38 @@ __반환값__ keras.backend.expand_dims(x, axis=-1) ``` +입력한 배열에 1개의 차원을 추가합니다. 예를 들어 `(m, n)` 형태의 텐서를 입력하는 경우 출력값은 `(m, n, 1)`의 형태가 됩니다. -축의 인덱스값에 1만큼의 차원을 더한다. +__인자__ -__인자__ +- __x__: 텐서 또는 변수. +- __axis__: 새로운 축을 추가할 위치. -- __x__: 텐서 또는 변수. -- __axis__: 새로운 축을 추가한 위치. +__반환값__ -__반환값__ +텐서. - - -확장한 차원들의 텐서. ---- - ### squeeze - ```python keras.backend.squeeze(x, axis) ``` +차원의 크기가 1인 축을 제거합니다. 예를 들어 형태가 `(3, 1, 4)`인 텐서의 경우 `axis=1` 인자를 통해 1크기를 갖는 1번째 차원을 제거할 수 있습니다. +__인자__ -축의 인덱스 값에 해당하는 텐서를 1차원의 크기만큼 제거합니다. - - -__인자__ - -- __x__: 텐서 또는 변수. -- __axis__: 없앨 축. +- __x__: 텐서 또는 변수. +- __axis__: 제거할 축. __반환값__ +`x`에서 지정한 차원을 줄인 것과 동일한 텐서. - -줄어든 차원의 x와 동일한 데이터를 가지는 텐서. - ---- - ### temporal_padding From 7db4ade18b88f6c009d866f7b22b17fbf08d1c20 Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Mon, 3 Feb 2020 16:54:03 +0900 Subject: [PATCH 12/25] line 3007 --- sources/backend.md | 234 ++++++++++++++++----------------------------- 1 file changed, 82 insertions(+), 152 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index c6768f1b..5a333d3a 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -636,7 +636,7 @@ keras.backend.placeholder(shape=None, ndim=None, dtype=None, sparse=False, name= 플레이스홀더 인스턴스를 생성합니다. __인자__ -- __shape__: 플레이스홀더의 형태. 정수값으로 이루어진 튜플로, `None`이 포함될 수 있습니다. +- __shape__: 플레이스홀더의 형태. `int`로 이루어진 튜플로, `None`이 포함될 수 있습니다. - __ndim__: 텐서의 축의 개수(=총 차원의 수). 인스턴스를 생성하려면 적어도 {`shape`, `ndim`} 중 하나는 반드시 입력해야 합니다. 두 인자를 다 입력한 경우 `shape`가 사용됩니다. - __dtype__: 플레이스홀더의 자료형. - __sparse__: `bool`. 플레이스홀더가 희소sparse타입이어야 하는지의 여부를 결정합니다. @@ -717,14 +717,14 @@ array([2, 4, 5], dtype=int32) keras.backend.int_shape(x) ``` -텐서 또는 변수의 형태를 정수 또는 None 값을 포함하는 튜플 형식으로 반환합니다. +텐서 또는 변수의 형태를 `int` 또는 `None` 값을 포함하는 튜플 형식으로 반환합니다. __인자__ - __x__: 텐서 또는 변수. __반환값__ -정수 또는 None을 포함한 튜플. +`int` 또는 `None`을 포함한 튜플. __예시__ ```python @@ -1394,7 +1394,7 @@ __인자__ - __x__: `ndim >= 2` 조건을 만족하는 케라스 텐서 또는 변수. - __y__: `ndim >= 2` 조건을 만족하는 케라스 텐서 또는 변수. -- __axes__: `int` 또는 튜플. `x`와 `y`의 순서대로 각각 감소 대상인 차원(내적 연산의 대상이 되는 차원)을 지정합니다. 단일한 정수를 입력하는 경우 `x`와 `y` 모두에 같은 차원이 지정됩니다. +- __axes__: `int` 또는 `int`로 이루어진 튜플. `x`와 `y`의 순서대로 각각 감소 대상인 차원(내적 연산의 대상이 되는 차원)을 지정합니다. 단일한 정수를 입력하는 경우 `x`와 `y` 모두에 같은 차원이 지정됩니다. __반환값__ @@ -2634,7 +2634,7 @@ keras.backend.tile(x, n) __인자__ - __x__: 텐서 또는 배열. -- __n__: `int` 또는 `int`로 이루어진 튜플이나 리스트. `x`를 각 축의 방향으로 몇 번 나열할 것인지를 지정합니다. 따라서 `n`의 차원 개수는 `x`의 차원 개수와 같아야 합니다. 예를 들어 `(2, )`형태의 `[a, a]`배열을 3회 나열할 경우 `n=3`이면 되지만, `(1, 2)`형태의 `[a, a]`를 1번째 축 방향으로 3회 나열할 경우 `n=(1, 3)`을 입력해야 합니다. +- __n__: `int` 또는 `int`로 이루어진 리스트나 튜플. `x`를 각 축의 방향으로 몇 번 나열할 것인지를 지정합니다. 따라서 `n`의 차원 개수는 `x`의 차원 개수와 같아야 합니다. 예를 들어 `(2, )`형태의 `[a, a]`배열을 3회 나열할 경우 `n=3`이면 되지만, `(1, 2)`형태의 `[a, a]`를 1번째 축 방향으로 3회 나열할 경우 `n=(1, 3)`을 입력해야 합니다. __반환값__ @@ -2719,93 +2719,70 @@ __반환값__ ---- ### temporal_padding - ```python keras.backend.temporal_padding(x, padding=(1, 1)) ``` +3D 텐서의 중간차원에 패딩을 추가합니다. -3차원 텐서의 중간차원을 채웁니다. - -__인자__ +__인자__ -- __x__: 텐서 또는 변수. -- __padding__: 2개의 `int`로 이루어진 튜플. 차원 1의 시작과 끝에 얼마나 많은 0을 추가할 지에 대한 수치. +- __x__: 텐서 또는 변수. +- __padding__: 2개의 `int`로 이루어진 튜플. 차원 1의 시작과 끝에 얼마나 많은 0을 추가할 지에 대한 수치. -__반환값__ +__반환값__ + +0으로 패딩된 3D 텐서. - -3차원 텐서를 채워 넣습니다. ---- - ### spatial_2d_padding - ```python keras.backend.spatial_2d_padding(x, padding=((1, 1), (1, 1)), data_format=None) ``` +4D 텐서의 2번째 및 3번째 차원(= 1번 및 2번 축)에 패딩을 추가합니다. +__인자__ -4차원 텐서에서 2차원과 3차원을 채워 넣습니다. - - -__인자__ - -- __x__: 텐서 또는 변수. -- __padding__: 2 튜플들의 튜플. 채워진 패턴. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. - -__반환값__ - - +- __x__: 텐서 또는 변수. +- __padding__: 길이가 2인 튜플 두 개로 이루어진 튜플. 패딩 형태를 지정합니다. (예: `((1, 1), (1, 1))`) 하위 튜플의 각 값은 해당 차원의 앞과 뒤에 입력할 패딩의 개수입 +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"` 가운데 하나를 지정합니다. `"channels_last"`의 경우 4개의 차원 중 가운데 두 개의 차원에, `"channels_first"`의 경우 마지막 두 개의 차원에 패딩을 추가합니다. -채워진 4차원 텐서. +__반환값__ +0으로 패딩된 4D 텐서. __오류__ -- __ValueError__: `data_format`이면 'channels_last' 또는 'channels_first' 모두 아니다. +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"` 가 아닌 경우에 발생합니다. - ----- +---- ### spatial_3d_padding - ```python keras.backend.spatial_3d_padding(x, padding=((1, 1), (1, 1), (1, 1)), data_format=None) ``` +5D 텐서의 깊이, 높이, 너비 차원에 0으로 패딩을 추가합니다. `padding`인자를 구성하는 세 개의 튜플 각각이 순서대로 깊이, 높이, 너비 차원에 대응됩니다. `data_format`이 `"channels_last"`인 경우 총 다섯 차원 중 가운데 세 개의 차원에, `"channels_first"`인 경우 마지막 세 개의 차원에 패딩을 추가합니다. -깊이, 높이, 너비 치수를 따라 0으로 채워진 5차원 텐서를 채웁니다. - -"padding [0]", "padding [1]"및 "padding [2]"는 왼쪽과 오른쪽으로 0인 치수를 각각 채 웁니다. - -'channels_last'data_format의 경우 2 차원, 3 차원 및 4 차원이 채워집니다. -'channels_first'data_format의 경우 3 차원, 4 차원 및 5 차원이 채워집니다. - - -__인자__ - -- __x__: 텐서 또는 변수. -- __padding__: 3 튜플들의 튜플. 채워진 패턴. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. +__인자__ +- __x__: 텐서 또는 변수. +- __padding__: 길이가 2인 튜플 세 개로 이루어진 이루어진 튜플. 패딩 형태를 지정합니다. (예: `((1, 1), (1, 1), (1, 1))`) 하위 튜플의 각 값은 해당 차원의 앞과 뒤에 입력할 패딩의 개수입니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"` 가운데 하나를 지정합니다. __반환값__ - - -채워진 5차원 텐서. +0으로 패딩된 5D 텐서. __오류__ -- __ValueError__: `data_format`이면 'channels_last' 또는 'channels_first' 모두 아니다. +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"` 가 아닌 경우에 발생합니다. ---- - ### stack @@ -2813,23 +2790,19 @@ __오류__ keras.backend.stack(x, axis=0) ``` - -랭크`R` 텐서의 list를 랭크`R + 1` 텐서에 쌓습니다. +형태가 같은 텐서의 리스트를 지정한 축의 방향으로 쌓아 텐서를 만듭니다. 이때 지정할 수 있는 축은 최대 입력 텐서의 랭크+1 까지입니다. 예를 들어 형태가 `(m, n)`인 텐서로 이루어진 리스트를 입력할 경우 `axis`는 `0`부터 `2`까지 지정 가능합니다. __인자__ -- __x__: 텐서들의 list -- __axis__: 텐서를 쌓을 축. +- __x__: 형태가 같은 텐서들로 이루어진 리스트. +- __axis__: 텐서를 쌓을 축의 방향. __반환값__ - 텐서. __NumPy 적용__ - - ```python def stack(x, axis=0): return np.stack(x, axis=axis) @@ -2837,54 +2810,44 @@ def stack(x, axis=0): ---- - ### one_hot - ```python keras.backend.one_hot(indices, num_classes) ``` - -정수형 텐서의 원핫 표기를 계산합니다. +정수로 이루어진 텐서를 입력받아 각 클래스마다 원-핫 인코딩된 텐서를 생성합니다. __인자__ - __indices__: `(batch_size, dim1, dim2, ... dim(n-1))`형식의 n차원 정수형 텐서. -- __num_classes__: `int`. 클래스들의 개수. +- __num_classes__: `int`. 클래스의 개수. __반환값__ - - -`(batch_size, dim1, dim2, ... dim(n-1), num_classes)`형식의 입력값의 (n+1)차원의 원핫 표현형식. +인덱스 순서에서 각 클래스에 해당되는 값이 1이고 나머지가 0인 원-핫 인코딩 텐서. 입력 텐서가 `n`차원일 때 출력 텐서는 `n+1` 개의 차원을 가지며 `(batch_size, dim1, dim2, ... dim(n-1), num_classes)`의 형태로 이루어집니다. + ---- - ### reverse - ```python keras.backend.reverse(x, axes) ``` +지정된 축을 따라 텐서를 반전시킵니다. -지정된 축을 따라 텐서를 반전시킵니다. - -__인자__ +__인자__ -- __x__: 텐서를 반전시킨다. -- __axes__: 축이 반전된, 정수형 또는 반복 가능한 정수. +- __x__: 값을 반전시킬 텐서. +- __axes__: `int`. 반전시킬 방향의 축. -__반환값__ +__반환값__ - 텐서. __NumPy 적용__ - - ```python def reverse(x, axes): if isinstance(axes, list): @@ -2894,35 +2857,29 @@ def reverse(x, axes): ---- - ### slice - ```python keras.backend.slice(x, start, size) ``` +텐서의 일부를 추출합니다. -텐서에서 슬라이스를 추출합니다. - -__인자__ - +__인자__ + - __x__: 입력 텐서. -- __start__: 각 축에 따라 슬라이스의 시작 인덱스를 나타내는 텐서 또는 `int` 리스트/튜플 자료형. -- __size__: 각 축을 따라 슬라이스 할 차원의 수를 나타내는 텐서 또는 `int` 리스트/튜플 자료형. - - -__반환값__ +- __start__: `int` 또는 `int`로 이루어진 리스트나 튜플, 텐서. 입력한 텐서의 각 축에서 추출을 시작할 위치 인덱스를 지정합니다. +- __size__: `int` 또는 `int`로 이루어진 리스트나 튜플, 텐서. 각 축을 따라 추출할 배열의 길이를 나타냅니다. + +__반환값__ +`x`로부터 추출한 텐서. 형태는 아래와 같습니다. -A sliced tensor: ```python new_x = x[start[0]: start[0] + size[0], ..., start[-1]: start[-1] + size[-1]] ``` -__NumPy 적용__ - - +__NumPy 적용__ ```python def slice(x, start, size): @@ -2932,118 +2889,95 @@ def slice(x, start, size): ---- - ### get_value - ```python keras.backend.get_value(x) ``` +지정한 변수의 값을 NumPy 배열의 형태로 가져옵니다. -Returns the value of a variable. - -__인자__ +__인자__ -- __x__: 입력 변수. +- __x__: 입력 변수. -__반환값__ +__반환값__ +NumPy 배열. -넘파이 배열. - ----- +---- ### batch_get_value - ```python keras.backend.batch_get_value(ops) ``` +텐서들의 리스트를 입력받아 그 값을 NumPy 배열의 리스트로 반환합니다. +__인자__ -한 가지 이상의 텐서 변수의 값을 반환합니다. +- __ops__: 적용할 텐서의 리스트. -__인자__ +__반환값__ -- __ops__: 실행할 ops 목록. +NumPy 배열의 리스트. -__반환값__ - -넘파이 배열 리스트. - ---- - ### set_value - ```python keras.backend.set_value(x, value) ``` +변수의 값을 NumPy 배열로부터 가져옵니다. -넘파이 배열에서 변수의 값을 설정합니다. - -__인자__ +__인자__ -- __x__: 새로운 값으로 설정하는 텐서. -- __value__: 넘파이 배열로 텐서를 설정하는 값. +- __x__: 새 값을 부여할 텐서. +- __value__: 텐서에 값을 입력할 NumPy 배열. ---- - ### batch_set_value - ```python keras.backend.batch_set_value(tuples) ``` -한번에 밚은 텐서 변수들의 값을 설정합니다. +여러 텐서 변수들의 값을 한꺼번에 NumPy 배열로부터 가져옵니다. 각 변수와 그에 대응하는 NumPy 배열을 하나의 튜플로 지정하여 입력합니다. +__인자__ -__인자__ +- __tuples__: 원소가 `(tensor, value)`인 튜플로 이루어진 리스트. `value`인자는 NumPy 배열이어야 합니다. -- __tuples__: `(tensor, value)` 튜플 리스트, value인자는 넘파이 배열이어야 합니다. - ----- +---- ### print_tensor - ```python keras.backend.print_tensor(x, message='') ``` +입력한 `message`와 함께 텐서의 값을 출력합니다. 이때 `print_tensor`는 `message`에 지정한 내용을 화면에 출력되는 print 연산 이외에도 별도로 `x`와 값이 동일한 새로운 텐서를 반환합니다. 별도로 저장하거나 연산에 입력하지 않는 경우 이 텐서는 사라지게 됩니다. - -평가시 message와 텐서 값을 출력합니다. - -`print_tensor`는 `x`와 동일한 새로운 텐서를 반환합니다. 이 코드는 반드시 다음코드에 사용해야 합니다. -그렇지 않으면 평가 중 프린트 연산이 고려되지 않습니다. - - - -__예시__ +__예시__ ```python >>> x = K.print_tensor(x, message="x is: ") ``` -__인자__ - -- __x__: 출력 할 텐서. -- __message__: 텐서와 함께 출력 할 메시지. +__인자__ +- __x__: 출력할 텐서. +- __message__: 텐서와 함께 출력 할 메시지. -__반환값__ +__반환값__ +`x`과 값이 동일한 텐서. -변경되지 않은 같은 텐서 `x`. - ----- +---- ### function @@ -3051,29 +2985,25 @@ __반환값__ keras.backend.function(inputs, outputs, updates=None) ``` - -케라스 함수 인스턴스화하기. +케라스 함수 인스턴스를 생성합니다. __인자__ - __inputs__: 플레이스홀더 텐서의 리스트. - __outputs__: 출력 텐서의 리스트. - __updates__: 업데이트 연산의 리스트. -- __**kwargs__: `tf.Session.run`에 전달되는 값. - +- __**kwargs__: `tf.Session.run`에 전달되는 값. -__반환값__ +__반환값__ - - -넘파이 배열의 값 출력. +NumPy 배열 형태의 출력값. __오류__ -- __ValueError__: 유효하지 않은 kwargs 가 전달된 경우. +- __ValueError__: 유효하지 않은 kwargs 가 전달된 경우 또는 eager 모드로 실행한 경우에 발생합니다. + ---- - ### gradients From 8d8cd97d24284ac0be49e23431d9a4bc6f5a4973 Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Wed, 5 Feb 2020 23:53:58 +0900 Subject: [PATCH 13/25] line 3139 --- sources/backend.md | 94 ++++++++++++++++++---------------------------- 1 file changed, 37 insertions(+), 57 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index 5a333d3a..68e2f1e3 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -2747,7 +2747,7 @@ keras.backend.spatial_2d_padding(x, padding=((1, 1), (1, 1)), data_format=None) __인자__ - __x__: 텐서 또는 변수. -- __padding__: 길이가 2인 튜플 두 개로 이루어진 튜플. 패딩 형태를 지정합니다. (예: `((1, 1), (1, 1))`) 하위 튜플의 각 값은 해당 차원의 앞과 뒤에 입력할 패딩의 개수입 +- __padding__: 길이가 2인 튜플 두 개로 이루어진 튜플. 패딩 형태를 지정합니다. (예: `((1, 1), (1, 1))`) 하위 튜플의 각 값은 해당 차원의 앞과 뒤에 입력할 패딩의 개수입다. - __data_format__: `str`. `"channels_last"` 또는 `"channels_first"` 가운데 하나를 지정합니다. `"channels_last"`의 경우 4개의 차원 중 가운데 두 개의 차원에, `"channels_first"`의 경우 마지막 두 개의 차원에 패딩을 추가합니다. __반환값__ @@ -3006,100 +3006,81 @@ __오류__ ---- ### gradients - ```python keras.backend.gradients(loss, variables) ``` - - -변수에 대한 손실의 그라디언트를 반환합니다. +각 변수에 대한 손실loss의 그래디언트를 반환합니다. __인자__ -- __loss__: 최소화시킨 스칼라값 텐서. +- __loss__: 시키고자 하는 스칼라 값의 텐서. - __variables__: 변수들의 리스트. -__반환값__ - +__반환값__ -그라디언트 텐서. +그래디언트 텐서. + ---- - ### stop_gradient - ```python keras.backend.stop_gradient(variables) ``` +입력한 변수로부터 도출되는 모든 그래디언트를 0이 되게끔 만듭니다. 다시 말해 해당 변수가 그래디언트 계산 과정에서 상수처럼 취급되게끔 합니다. 예를 들어 `b = keras.backend.stop_gradient(a)`라고 지정할 경우 `b`로부터 이어지는 이후의 연산 단계는 정상적인 그래디언트가 계산되고 역전파 과정에서 가중치가 업데이트 되지만, `a`의 그래디언트는 0으로 고정되어 `a` 및 `a`를 도출해낸 이전 단계들은 역전파 과정에서 가중치가 동결됩니다. -모든 다른 변수에 대한 0 그라디언트 'variables'를 반환합니다. - -__인자__ - -- __variables__: 또 다른 변수에 대한 상수를 고려한 텐서 또는 텐서의 리스트. +__인자__ -__반환값__ - +- __variables__: 연산 과정에서 다른 변수들에 대해 상수로 취급할 텐서 또는 텐서들의 리스트. -전달받은 인자에 따른 또 다른 변수에 대한 상수 그라디언트를 가진 텐서 또는 텐서의 리스트. +__반환값__ +다른 변수들에 의해 그래디언트 값이 바뀌지 않는 텐서 또는 텐서들의 리스트. ---- - ### rnn - ```python keras.backend.rnn(step_function, inputs, initial_states, go_backwards=False, mask=None, constants=None, unroll=False, input_length=None) ``` +텐서의 시간 차원을 따라 연산을 반복합니다. +__인자__ -텐서의 시간 차원에 대한 반복. - -__인자__ - -- __step_function__: - 매개변수: - inputs: 시간 차원이 없고 형식이 있는 텐서. 어떤 시간 단계의 배치에 관한 입력값을 나타냅니다. - state: 텐서의 리스트. - 반환값: - outputs: 시간 차원이 없고 형식이 있는 텐서. - new_states: 'states'의 형식과 같은 길이의 텐서 리스트. -- __inputs__: 적어도 3차원인 형식의 일시적인 데이터의 텐서 (samples, time, ...) -- __initial_states__: 단계함수에서 사용된 상태의 초기 값을 포함한 시간 차원이 없고 형식이 있는 텐서. -- __go_backwards__: boolean 만약 True라면 그 시간동안 반복한다. - 뒤집힌 순서를 반환하며 뒤집힌 순서의 차원이다. -- __mask__: (samples, time)형식을 가진 이진 텐서. 마스크의 모든 요소에 0 포함. -- __constants__: 각 단계에 전달된 상수 값 리스트. -- __unroll__: RNN을 사용하거나 기호 루프를 사용할지에 대한 여부. (백엔드에 따라 `while_loop` 또는 `scan`) -- __input_length__: 입력 시, 시간단계의 static숫자. +- __step_function__: RNN에서 각 시간 단계마다 반복 계산할 함수. + - 매개변수: + - inputs: 시간 차원 없이 `(samples, ...)`의 형태를 가진 텐서로 특정한 시간 단계의 배치 샘플. + - states: 텐서의 리스트. + - 반환값: + - outputs: 시간 차원 없이 `(samples, ...)`의 형태를 가진 텐서. + - new_states: 'states'와 형태와 길이가 같은 텐서의 리스트. 리스트 내의 첫번째 텐서는 반드시 이전 단계의 출력 텐서여야 합니다. +- __inputs__: `(samples, time, ...)`의 형태로 이루어진, 최소 3D 이상의 차원을 갖는 시계열 데이터의 텐서. +- __initial_states__: 시간 차원 없이 `(samples, ...)`의 형태를 가진 텐서. `step_function`에 입력할 `states`의 초기값. +- __go_backwards__: `bool`. `True`인 경우 시간 차원 순서의 역순으로 연산을 반복하여 역순으로 된 결과값을 반환합니다. +- __mask__: `(samples, time)`의 형식을 가진 이진 텐서. 마스킹될 모든 원소마다 0값을 가집니다. +- __constants__: 각 시간 단계마다 전달할 상수 값의 리스트. +- __unroll__: 반복 연산시 순환구조를 펼쳐서 연산 일부를 동시에 처리할 것인지, 혹은 백엔드의 심볼릭 루프를 (`while_loop` 또는 `scan`) 사용할 것인지를 지정합니다. +- __input_length__: 입력값의 시간 단계를 나타내는 고정된 숫자값. -__반환값__ +__반환값__ +`(last_output, outputs, new_states)`로 구성된 튜플. -A tuple, `(last_output, outputs, new_states)`. - -last_output: `(samples, ...)` 형식의, rnn의 최근 출력값. -outputs: `(samples, time, ...)` 형식이 있는 텐서 의 각 `outputs[s, t]`요소는 's'샘플에 대한 't'시간에 대한 단계 함수의 출력요소 입니다. -new_states: `(samples, ...)`형식의 단계함수로 반환된 최근 상태의 텐서 리스트. - +- last_output: `rnn`의 마지막 단계 출력값으로 `(samples, ...)`의 형태를 갖고 있습니다. +- outputs: `(samples, time, ...)`형태를 가진 텐서. 각 `outputs[s, t]`값은 `s`샘플로부터 `t`시간 단계에서 생성된 `step_function`의 출력값입니다. +- new_states: `(samples, ...)`형태를 가진 텐서의 리스트. `step_function`이 가장 마지막 단계에서 반환한 `states`값입니다. __오류__ -- __ValueError__: 입력 차원이 3보다 작은 경우. -- __ValueError__: `unroll`이 `True`인 경우. - 입력 시간 단계는 고정이 아님. -- __ValueError__: `mask` 가 존재하면 (not `None`) - 상태는 (`len(states)` == 0). +- __ValueError__: 입력 차원이 3보다 작은 경우 발생합니다. +- __ValueError__: 입력의 시간 단계 길이가 유동적인데 `unroll`을 `True`로 지정한 경우 발생합니다. +- __ValueError__: `mask`를 설정했는데 (`None`이 아님) `states`가 없는 경우(`len(states)` == 0) 발생합니다. __NumPy 적용__ - -
Show the Numpy implementation @@ -3121,7 +3102,7 @@ def rnn(step_function, inputs, initial_states, 'got {}'.format(mask.shape)) def expand_mask(mask_, x): - # expand mask so that `mask[:, t].ndim == x.ndim` + # `mask[:, t].ndim == x.ndim`이 되도록 mask를 확장합니다. while mask_.ndim < x.ndim + 1: mask_ = np.expand_dims(mask_, axis=-1) return mask_ @@ -3136,7 +3117,7 @@ def rnn(step_function, inputs, initial_states, time_index = time_index[::-1] outputs = [] - states_tm1 = initial_states # tm1 means "t minus one" as in "previous timestep" + states_tm1 = initial_states # 여기서 tm1은 "이전 시간 단계"를 나타내는 "t minus one"을 뜻합니다. output_tm1 = np.zeros(output_sample.shape) for t in time_index: output_t, states_t = step_function(inputs[:, t], states_tm1 + constants) @@ -3156,7 +3137,6 @@ def rnn(step_function, inputs, initial_states, ---- - ### switch From 5d67fe1dfd27790b8e0a2fe8f60fe6b6fe7ef4b7 Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Sun, 9 Feb 2020 21:32:39 +0900 Subject: [PATCH 14/25] line 3565 --- sources/backend.md | 334 ++++++++++++++------------------------------- 1 file changed, 104 insertions(+), 230 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index 68e2f1e3..fc8cd547 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -3139,37 +3139,28 @@ def rnn(step_function, inputs, initial_states, ---- ### switch - ```python keras.backend.switch(condition, then_expression, else_expression) ``` - -스칼라 값에 따라 두 연산사이를 전환합니다. - -`then_expression` 와 `else_expression` 모두 동일 모양의 기호 텐서. - +조건에 따라 두 연산 가운데 하나의 결과를 반환합니다. 참인 경우 실행되는 `then_expression`과 거짓인 경우 실행되는 `else_expression`의 결과값은 형태가 같은 심볼릭 텐서여야 합니다. __인자__ - -- __condition__: 텐서 (int or bool). -- __then_expression__: 텐서 또는 텐서를 반환하는 호출가능한 값. -- __else_expression__: 텐서 또는 텐서를 반환하는 호출가능한 값. +- __condition__: `int (0/1)` 또는 `bool (Ture/False)` 형식의 텐서 또는 이를 반환하는 조건식. +- __then_expression__: 텐서 또는 텐서를 반환하는 호출가능한 연산. `condition`이 `1` 또는 `True`일 때 반환될 값입니다. +- __else_expression__: 텐서 또는 텐서를 반환하는 호출가능한 연산. `condition`이 `0` 또는 `False`일 때 반환될 값입니다. __반환값__ - -지정한 텐서. +조건에 따라 선택된 텐서. __오류__ -- __ValueError__: 표현된 랭크보다 더 나은 'condition'의 랭크일 경우, 에러. +- __ValueError__: `expressions`보다 `condition`의 차원이 클 경우 오류가 발생합니다. __NumPy 적용__ - - ```python def switch(condition, then_expression, else_expression): cond_float = condition.astype(floatx()) @@ -3180,100 +3171,69 @@ def switch(condition, then_expression, else_expression): ---- - ### in_train_phase - ```python keras.backend.in_train_phase(x, alt, training=None) ``` +훈련 단계일 경우 `x`를 선택하고 그렇지 않으면 `alt`를 선택합니다. `alt`는 `x`와 동일한 형태를 가져야합니다. -열차 단계에서 'x'를 선택하고 그렇지 않으면 'alt'를 선택합니다. - -`alt`는`x`와 동일한 모양 *을 가져야합니다. +__인자__ -__인자__ +- __x__: 훈련 단계일 경우 반환할 대상 (텐서 또는 텐서를 반환하는 호출가능한 연산). +- __alt__: 그 밖의 경우에 반환할 대상 (텐서 또는 텐서를 반환하는 호출가능한 연산). +- __training__: (필요한 경우) 훈련 단계 여부를 나타내기 위해 사용할 스칼라 텐서 또는 파이썬 `bool` 혹은 `int`값. -- __x__: 훈련 단계에서 반환하는 것. - (텐서 또는 호출가능한 텐서). -- __alt__: 그 밖의 것을 반환. - (텐서 또는 호출가능한 텐서). -- __training__: 학습 단계를 지정한 선택적 스칼라 텐서. - (Python boolean 또는 Python integer) +__반환값__ +`training`플래그에 따라서 `x` 또는 `alt`를 반환. `training` 플래그 판단에는 기본값으로 `K.learning_phase()`를 참조하게 되어 있습니다. -__반환값__ - -플래그에 기반한 `x` 또는 `alt`. -`training` 플래그는 기본적으로 `K.learning_phase()`입니다. - ---- - ### in_test_phase - ```python keras.backend.in_test_phase(x, alt, training=None) ``` +시험 단계일 경우 `x`를 선택하고 그렇지 않으면 `alt`를 선택합니다. `alt`는 `x`와 동일한 형태를 가져야합니다. -열차 단계에서 'x'를 선택하고 그렇지 않으면 'alt'를 선택합니다. - -`alt`는`x`와 동일한 모양 *을 가져야합니다. +__인자__ -__인자__ +- __x__: 시험 단계일 경우 반환할 대상 (텐서 또는 텐서를 반환하는 호출가능한 연산). +- __alt__: 그 밖의 경우에 반환할 대상 (텐서 또는 텐서를 반환하는 호출가능한 연산). +- __training__: (필요한 경우) 시험 단계 여부를 나타내기 위해 사용할 스칼라 텐서 또는 파이썬 `bool`이나 `int`값. -- __x__: 테스트 단계에서 반환 할 내용. - (tensor or callable that returns a tensor). -- __alt__: 다른 경우 반환 할 내용. - (tensor or callable that returns a tensor). -- __training__: 학습 단계를 지정한 선택적 스칼라 텐서. - (Python boolean 또는 Python integer) +__반환값__ -__반환값__ - +`training`플래그에 따라서 `x` 또는 `alt`를 반환. `training` 플래그 판단에는 기본값으로 `K.learning_phase()`를 참조하게 되어 있습니다. -'learning_phase()'에 기반한 `x` 또는 `alt'. ---- - ### relu - ```python keras.backend.relu(x, alpha=0.0, max_value=None, threshold=0.0) ``` +ReLU(Rectified Linear Unit) 연산입니다. 기본값을 기준으로, 입력값의 원소별로 `max(x, 0)`의 결과를 반환합니다. 만약 `max_value` 또는 `threshold`를 지정하는 경우 `x >= max_value`인 경우 `f(x) = max_value`를, `threshold <= x < max_value`인 `x`에 대해서는 `f(x) = x`를, 그리고 나머지에 대해서는 `f(x) = alpha * (x - threshold)`를 반환합니다. -정제된 선형 단위. - -기본값으로, 요소별로`max(x, 0)를 반환합니다. - -그 외, -`f(x) = max_value` for `x >= max_value`, -`f(x) = x` for `threshold <= x < max_value`, -`f(x) = alpha * (x - threshold)` otherwise. - -__인자__ +__인자__ -- __x__: 텐서 또는 변수. -- __alpha__: 음수 섹션의 스칼라, 기울기 (default=`0.`). -- __max_value__: `float`. 포화상태의 임계값. -- __threshold__: `float`. 임계값 활성화에 대한 임계값. +- __x__: 텐서 또는 변수. +- __alpha__: 입력값 가운데 음수 영역에 곱해질 스칼라 값으로 기본값은 `0.`입니다. +- __max_value__: `float`. 반환할 값의 최댓값을 지정합니다. +- __threshold__: `float`. 반환할 값의 구간을 나누는 문턱값입니다. __반환값__ - 텐서. __NumPy 적용__ - - ```python def relu(x, alpha=0., max_value=None, threshold=0.): if max_value is None: @@ -3286,31 +3246,24 @@ def relu(x, alpha=0., max_value=None, threshold=0.): ---- - ### elu - ```python keras.backend.elu(x, alpha=1.0) ``` +ELU(Exponential Linear Unit) 연산입니다. +__인자__ -지수적증가의 선형 단위. - -__인자__ - -- __x__: 활성화 함수를 계산할 텐서 또는 변수 입니다. -- __alpha__: 음수 섹션의 스칼라, 기울기. +- __x__: 활성화 함수를 계산할 텐서 또는 변수입니다. +- __alpha__: 입력값 가운데 음수 영역에 곱해질 스칼라 값으로 기본값은 `1.0`입니다. -__반환값__ - +__반환값__ 텐서. __NumPy 적용__ - - ```python def elu(x, alpha=1.): return x * (x > 0) + alpha * (np.exp(x) - 1.) * (x < 0) @@ -3318,31 +3271,24 @@ def elu(x, alpha=1.): ---- - ### softmax - ```python keras.backend.softmax(x, axis=-1) ``` +텐서의 소프트맥스softmax 연산입니다. -텐서의 Softmax. - -__인자__ +__인자__ - __x__: 텐서 또는 변수. -- __axis__: 차수 softmax가 수행 됩니다. - 기본값은 -1을 나타내며 마지막 차원을 나타냅니다. - -__반환값__ - +- __axis__: softmax 연산을 적용할 차원을 지정합니다. 기본값은 텐서의 마지막 차원을 나타내는 `-1`입니다. -텐서. - -__NumPy 적용__ +__반환값__ +텐서. +__NumPy 적용__ ```python def softmax(x, axis=-1): @@ -3352,30 +3298,24 @@ def softmax(x, axis=-1): ---- - ### softplus - ```python keras.backend.softplus(x) ``` +텐서의 소프트플러스softplus 연산입니다. -텐서의 Softplus. - -__인자__ +__인자__ -- __x__: 텐서 또는 변수. +- __x__: 텐서 또는 변수. -__반환값__ - +__반환값__ -텐서. +텐서. __NumPy 적용__ - - ```python def softplus(x): return np.log(1. + np.exp(x)) @@ -3383,29 +3323,23 @@ def softplus(x): ---- - ### softsign - ```python keras.backend.softsign(x) ``` +텐서의 소프트사인softsign 연산입니다. -텐서의 Softsign. - -__인자__ - -- __x__: 텐서 또는 변수. - -__반환값__ - +__인자__ -텐서. +- __x__: 텐서 또는 변수. -__NumPy 적용__ +__반환값__ +텐서. +__NumPy 적용__ ```python def softsign(x): @@ -3414,121 +3348,94 @@ def softsign(x): ---- - ### categorical_crossentropy - ```python keras.backend.categorical_crossentropy(target, output, from_logits=False, axis=-1) ``` +출력 텐서와 목표 텐서 사이의 오차를 구하는 범주형categorical 크로스엔트로피 연산입니다. -결과 텐서와 목표 텐서 사이의 범주형의 크로스엔트로피. - -__인자__ +__인자__ -- __target__: `output`과 같은 모양의 텐서. -- __output__: softmax의 결과 텐서. - (unless `from_logits` is True, in which - case `output` is expected to be the logits). -- __from_logits__: boolean, logits의 텐서이거나 softmax의 결과의 'output' 입니다. -- __axis__: 채널 축을 지정합니다. `axis=-1` - `channels_last`형식 데이터에 해당합니다, - `channels_first` 데이터 형식은 `axis=1`에 해당 합니다. +- __target__: `output`과 같은 형태의 텐서. 오차 계산의 기준입니다. +- __output__: softmax의 결과 텐서(`from_logits`인자가 `True`인 경우는 제외. 이 경우 `output`은 로짓logit 함수의 출력값이어야 합니다). 오차를 줄일 대상입니다. +- __from_logits__: `bool`. `output`이 softmax로부터 도출된 것인지 로짓으로부터 도출된 것인지를 지정합니다. +- __axis__: 채널 축을 지정합니다. `axis=-1`은 `channels_last`형식 데이터에 해당됩니다. 반대로 `axis=1`은 `channels_first`형식 데이터에 해당됩니다. -__반환값__ - +__반환값__ -출력 텐서. +출력 텐서. -__오류__ +__오류__ -- __ValueError__: `output`의 축 도 아니고 -1도 아닌 축. +- __ValueError__: `axis`의 값이 `-1` 또는 `output`의 축 가운데 하나가 아닐 경우 오류가 발생합니다. ---- - ### sparse_categorical_crossentropy - ```python keras.backend.sparse_categorical_crossentropy(target, output, from_logits=False, axis=-1) ``` - -정수 목표를 가진 범주형 크로스엔트로피. +목표 값이 정수인 범주형 크로스엔트로피 연산입니다. __인자__ -- __target__: An integer tensor. -- __output__: softmax의 결과로 나온 텐서. - (unless `from_logits` is True, in which - case `output` is expected to be the logits). -- __from_logits__: Boolean, whether `output` is the - result of a softmax, or is a tensor of logits. -- __axis__: - `channels_last` 데이터 형식에 해당하는 Int 채널 축을 지정합니다. `axis=-1` - and `axis=1` corresponds to data format `channels_first`. +- __target__: `int` 형식의 텐서. 오차 계산의 기준입니다. +- __output__: softmax의 결과 텐서(`from_logits`인자가 `True`인 경우는 제외. 이 경우 `output`은 로짓 함수의 출력값이어야 합니다). 오차를 줄일 대상입니다. +- __from_logits__: `bool`. `output`이 소프트맥스로부터 도출된 것인지 로짓으로부터 도출된 것인지를 지정합니다. +- __axis__: 채널 축을 지정합니다. `axis=-1`은 `channels_last`형식 데이터에 해당됩니다. 반대로 `axis=1`은 `channels_first`형식 데이터에 해당됩니다. -__반환값__ - - -텐서. +__반환값__ + +출력 텐서. __오류__ -- __ValueError__: `axis`가 -1 또는 `output`의 축 모두 아니다. +- __ValueError__: `axis`의 값이 `-1` 또는 `output`의 축 가운데 하나가 아닐 경우 오류가 발생합니다. ---- - ### binary_crossentropy - ```python keras.backend.binary_crossentropy(target, output, from_logits=False) ``` +출력 텐서와 목표 텐서 사이의 오차를 구하는 이진binary 크로스엔트로피 연산입니다. -출력 텐서와 목표 텐서 사나의 이진 크로스엔트로피. - -__인자__ +__인자__ -- __target__: `output`과 같은 형식의 텐서. -- __output__: 텐서. -- __from_logits__: logits 텐서가 출력값으로 나올 것인지에 대한 값. - 기본적으로 'output'은 확률분포를 내포 합니다. +- __target__: `output`과 같은 형태의 텐서. 오차 계산의 기준입니다. +- __output__: 텐서. 오차를 줄일 대상입니다. +- __from_logits__: `output`이 로짓 함수로부터 도출된 값이면 `True`로 설정합니다. 기본값은 `False`로 이 경우 `output`은 확률분포를 나타내는 것으로 간주됩니다. -__반환값__ +__반환값__ - 텐서. - ----- -### sigmoid +---- +### sigmoid ```python keras.backend.sigmoid(x) ``` +입력 텐서의 각 원소에 시그모이드sigmoid 연산을 적용합니다. -요소별로 sigmoid. - -__인자__ +__인자__ -- __x__: 텐서 또는 변수. +- __x__: 텐서 또는 변수. -__반환값__ - +__반환값__ 텐서. __NumPy 적용__ - - ```python def sigmoid(x): return 1. / (1. + np.exp(-x)) @@ -3536,36 +3443,23 @@ def sigmoid(x): ---- - ### hard_sigmoid - ```python keras.backend.hard_sigmoid(x) ``` +각 구역별로 시그모이드 연산의 선형근사값을 반환합니다. 보통의 시그모이드보다 연산이 빠릅니다. `x < -2.5`인 경우 `0.`을, `x > 2.5`인 경우 `1.`을 반환합니다. `-2.5 <= x <= 2.5`인 경우 `0.2 * x + 0.5`를 반환합니다. +__인자__ +- __x__: 텐서 또는 변수. -각 세그먼트의 sigmoid 선형 근사. - -sigmoid보다 더 빠르다. -Returns `0.` if `x < -2.5`, `1.` if `x > 2.5`. -In `-2.5 <= x <= 2.5`, returns `0.2 * x + 0.5`. - - -__인자__ - -- __x__: 텐서 또는 변수. - -__반환값__ - +__반환값__ -텐서. +텐서. __NumPy 적용__ - - ```python def hard_sigmoid(x): y = 0.2 * x + 0.5 @@ -3574,30 +3468,24 @@ def hard_sigmoid(x): ---- - ### tanh - ```python keras.backend.tanh(x) ``` +각 원소에 하이퍼볼릭탄젠트(tanh) 연산을 적용합니다. -요소별로 tanh. - -__인자__ +__인자__ -- __x__: 텐서 또는 변수. +- __x__: 텐서 또는 변수. -__반환값__ +__반환값__ - -텐서. +텐서. __NumPy 적용__ - - ```python def tanh(x): return np.tanh(x) @@ -3605,35 +3493,28 @@ def tanh(x): ---- - ### dropout - ```python keras.backend.dropout(x, level, noise_shape=None, seed=None) ``` -전체 텐서를 스케일링하는 동안 'x'의 항목을 임의로 설정합니다. - +`x`의 원소값을 지정한 비율에 따른 무작위 선택에 의해 `0`으로 바꿉니다. `0`으로 바뀌지 않은 원소들은 전체 텐서의 원소 수가 감소된 만큼 큰 값으로 스케일링됩니다. -__인자__ - -- __x__: 텐서. -- __level__: 텐서 항목의 일부가 0으로 설정됩니다. -- __noise_shape__: `x`의 형식을 확장해야 하므로 유지/삭제 플래그를 랜덤으로 생성하는 형식. -- __seed__: 결정성을 보장하기 위한 난수생성. +__인자__ -__반환값__ - +- __x__: 텐서. +- __level__: 텐서의 원소 가운데 값을 0으로 바꿀 비율을 정합니다. +- __noise_shape__: 무작위로 생성할 유지/삭제 플래그의 형태를 정합니다. `x`의 형태로 브로드캐스팅될 수 있는 형태여야 합니다. +- __seed__: 무작위 연산이 재현 가능하도록 난수 생성의 시드값을 정합니다. +__반환값__ 텐서. __NumPy 적용__ - -
Show the Numpy implementation @@ -3650,12 +3531,10 @@ def dropout(x, level, noise_shape=None, seed=None): else: return x ``` -
---- - ### l2_normalize @@ -3663,24 +3542,19 @@ def dropout(x, level, noise_shape=None, seed=None): keras.backend.l2_normalize(x, axis=None) ``` +지정한 축을 따라 L2 노름norm으로 텐서를 정규화합니다. -지정된 축을 따라 L2 norm으로 텐서를 정규화 시킨다. - -__인자__ - -- __x__: 텐서 또는 변수. -- __axis__: axis along which to perform normalization. 정규화를 수행하는 축. +__인자__ +- __x__: 텐서 또는 변수. +- __axis__: 정규화를 수행할 방향의 축. -__반환값__ +__반환값__ - -텐서. +텐서. __NumPy 적용__ - - ```python def l2_normalize(x, axis=-1): y = np.max(np.sum(x ** 2, axis, keepdims=True), axis, keepdims=True) @@ -3689,7 +3563,6 @@ def l2_normalize(x, axis=-1): ---- - ### in_top_k @@ -3715,9 +3588,10 @@ A 1D tensor of length `batch_size` and type `bool`. ---- -### conv1d +### conv1d + ```python keras.backend.conv1d(x, kernel, strides=1, padding='valid', data_format=None, dilation_rate=1) ``` From 389d528d365b762f022fbe0295297c40e6d5f2dc Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Sun, 9 Feb 2020 21:34:05 +0900 Subject: [PATCH 15/25] line 3565 --- sources/backend.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/backend.md b/sources/backend.md index fc8cd547..7fa64db3 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -3474,7 +3474,7 @@ def hard_sigmoid(x): keras.backend.tanh(x) ``` -각 원소에 하이퍼볼릭탄젠트(tanh) 연산을 적용합니다. +각 원소에 하이퍼볼릭탄젠트tanh 연산을 적용합니다. __인자__ From 49112535be04041ae0e70663138070e2acff0e57 Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Mon, 10 Feb 2020 10:31:14 +0900 Subject: [PATCH 16/25] line 3805 --- sources/backend.md | 420 +++++++++++++++++++-------------------------- 1 file changed, 180 insertions(+), 240 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index 7fa64db3..85405b22 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -2,7 +2,7 @@ ## "백엔드"는 무엇인가요? -케라스는 딥러닝 모델을 블록쌓기처럼 구성요소를 쌓아 만들 수 있게끔 해주는 높은 차원의 모델 수준 라이브러리입니다. 케라스는 단독으로는 텐서들의 곱셈이나 합성곱과 같은 낮은 차원의 직접적인 연산을 지원하지 않습니다. 대신에 텐서 연산에 특화된 라이브러리들을 가져와 "백엔드 엔진"으로 사용합니다. 케라스는 하나의 텐서 연산 라이브러리를 골라 그에 의지하는 대신 모듈 방식으로 문제를 처리하여 서로 다른 백엔드 엔진을 케라스와 매끄럽게 연결하게끔 합니다. +케라스는 딥러닝 모델을 블록쌓기처럼 구성요소를 쌓아 만들 수 있게끔 해주는 높은 차원의 모델 수준 라이브러리입니다. 케라스는 단독으로는 텐서들의 곱셈이나 합성곱Convolution과 같은 낮은 차원의 직접적인 연산을 지원하지 않습니다. 대신에 텐서 연산에 특화된 라이브러리들을 가져와 "백엔드 엔진"으로 사용합니다. 케라스는 하나의 텐서 연산 라이브러리를 골라 그에 의지하는 대신 모듈 방식으로 문제를 처리하여 서로 다른 백엔드 엔진을 케라스와 매끄럽게 연결하게끔 합니다. 현재 케라스는 **TensorFlow**, **Theano**, 그리고 **CNTK**의 세 가지 백엔드를 지원합니다. - [TensorFlow](http://www.tensorflow.org/)는 구글에서 만든 오픈소스 심볼릭 텐서 연산 프레임워크입니다. @@ -368,7 +368,6 @@ keras.backend.image_data_format() 케라스가 처리할 이미지 데이터 유형의 기본값을 반환합니다. __반환값__ - `'channels_first'` 또는 `'channels_last'`의 문자열. @@ -738,7 +737,7 @@ __예시__ (2, 2) ``` -__NumPy 적용__ +__NumPy 구현__ ```python def int_shape(x): @@ -774,7 +773,7 @@ __예시__ 2 ``` -__NumPy 적용__ +__NumPy 구현__ ```python def ndim(x): @@ -843,7 +842,7 @@ __예시__ 'float32_ref' ``` -__NumPy 적용__ +__NumPy 구현__ ```python def dtype(x): @@ -913,7 +912,7 @@ array([[ 0., 0., 0., 0.], [ 0., 0., 0., 0.]], dtype=float32) ``` -__NumPy 적용__ +__NumPy 구현__ ```python def zeros(shape, dtype=floatx(), name=None): return np.zeros(shape, dtype=dtype) @@ -950,7 +949,7 @@ array([[ 1., 1., 1., 1.], [ 1., 1., 1., 1.]], dtype=float32) ``` -__NumPy 적용__ +__NumPy 구현__ ```python def ones(shape, dtype=floatx(), name=None): return np.ones(shape, dtype=dtype) @@ -986,7 +985,7 @@ array([[ 1., 0., 0.], [ 0., 0., 1.]], dtype=float32) ``` -__NumPy 적용__ +__NumPy 구현__ ```python def eye(size, dtype=None, name=None): @@ -1024,7 +1023,7 @@ array([[ 0., 0., 0.], [ 0., 0., 0.]], dtype=float32) ``` -__NumPy 적용__ +__NumPy 구현__ ```python def zeros_like(x, dtype=floatx(), name=None): @@ -1063,7 +1062,7 @@ array([[ 1., 1., 1.], [ 1., 1., 1.]], dtype=float32) ``` -__NumPy 적용__ +__NumPy 구현__ ```python def ones_like(x, dtype=floatx(), name=None): @@ -1122,7 +1121,7 @@ array([[ 0.10940075, 0.10047495, 0.476143 ], [ 0.66137183, 0.00869417, 0.89220798]], dtype=float32) ``` -__NumPy 적용__ +__NumPy 구현__ ```python def random_uniform_variable(shape, low, high, dtype=None, name=None, seed=None): @@ -1165,7 +1164,7 @@ array([[ 1.19591331, 0.68685907, -0.63814116], [ 0.92629528, 0.28055015, 1.70484698]], dtype=float32) ``` -__NumPy 적용__ +__NumPy 구현__ ```python def random_normal_variable(shape, mean, scale, dtype=None, name=None, seed=None): @@ -1201,7 +1200,7 @@ array([[ 0., 0., 0.], [ 0., 0., 0.]], dtype=float32) ``` -__NumPy 적용__ +__NumPy 구현__ ```python def count_params(x): @@ -1371,7 +1370,7 @@ __예시__ >>> K.int_shape(xy) (2, 4, 5) ``` -__NumPy 적용__ +__NumPy 구현__ ```python def dot(x, y): @@ -1433,10 +1432,10 @@ __형태 변환에 대한 설명:__ (32, 1, 30) ``` -__NumPy 적용__ +__NumPy 구현__
-NumPy 적용 보기 +NumPy 구현 보기 ```python def batch_dot(x, y, axes=None): @@ -1535,7 +1534,7 @@ array([[ 1., 4.], ``` -__NumPy 적용__ +__NumPy 구현__ ```python def transpose(x): @@ -1560,7 +1559,7 @@ __반환값__ `reference`와 자료형이 동일한 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def gather(reference, indices): @@ -1587,7 +1586,7 @@ __반환값__ `x`의 최댓값으로 이루어진 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def max(x, axis=None, keepdims=False): @@ -1616,7 +1615,7 @@ __반환값__ `x`의 최솟값으로 이루어진 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def min(x, axis=None, keepdims=False): @@ -1645,7 +1644,7 @@ __반환값__ 'x'의 합으로 이루어진 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def sum(x, axis=None, keepdims=False): @@ -1675,7 +1674,7 @@ __반환값__ 'x'의 원소들의 곱으로 이루어진 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def prod(x, axis=None, keepdims=False): @@ -1702,7 +1701,7 @@ __인자__ __반환값__ `x`의 원소를 누적한 합의 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def cumsum(x, axis=0): @@ -1728,7 +1727,7 @@ __인자__ __반환값__ `x`의 원소를 누적한 합의 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def cumprod(x, axis=0): @@ -1755,7 +1754,7 @@ __반환값__ `x`의 원소들의 분산으로 이루어진 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def var(x, axis=None, keepdims=False): @@ -1782,7 +1781,7 @@ __반환값__ `x`의 원소들의 표준편차로 이루어진 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def std(x, axis=None, keepdims=False): if isinstance(axis, list): @@ -1810,7 +1809,7 @@ __반환값__ `x`의 원소들의 평균으로 이루어진 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def mean(x, axis=None, keepdims=False): @@ -1839,7 +1838,7 @@ __반환값__ `bool`형식의 텐서(True 또는 False). -__NumPy 적용__ +__NumPy 구현__ ```python def any(x, axis=None, keepdims=False): @@ -1868,7 +1867,7 @@ __반환값__ `bool` 자료형의 텐서(True 또는 False). -__NumPy 적용__ +__NumPy 구현__ ```python def all(x, axis=None, keepdims=False): @@ -1896,7 +1895,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def argmax(x, axis=-1): @@ -1922,7 +1921,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def argmin(x, axis=-1): @@ -1983,7 +1982,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def sqrt(x): @@ -2049,7 +2048,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def logsumexp(x, axis=None, keepdims=False): @@ -2114,7 +2113,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def pow(x, a=1.): @@ -2141,7 +2140,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def clip(x, min_value, max_value): @@ -2168,7 +2167,7 @@ __반환값__ `bool`형식의 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def equal(x, y): @@ -2195,7 +2194,7 @@ __반환값__ `bool`형식의 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def not_equal(x, y): @@ -2221,7 +2220,7 @@ __반환값__ `bool`형식의 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def greater(x, y): @@ -2247,7 +2246,7 @@ __반환값__ `bool`형식의 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def greater_equal(x, y): @@ -2273,7 +2272,7 @@ __반환값__ `bool`형식의 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def less(x, y): @@ -2299,7 +2298,7 @@ __반환값__ `bool`형식의 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def less_equal(x, y): @@ -2325,7 +2324,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def maximum(x, y): @@ -2351,7 +2350,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def minimum(x, y): @@ -2444,7 +2443,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def batch_normalization(x, mean, var, beta, gamma, axis=-1, epsilon=0.001): @@ -2533,7 +2532,7 @@ __반환값__ __오류__ -- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"` 가 아닌 경우에 발생합니다. +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"`가 아닌 경우에 발생합니다. ---- @@ -2559,7 +2558,7 @@ __반환값__ __오류__ -- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"` 가 아닌 경우에 발생합니다. +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"`가 아닌 경우에 발생합니다. ---- @@ -2728,7 +2727,7 @@ keras.backend.temporal_padding(x, padding=(1, 1)) __인자__ - __x__: 텐서 또는 변수. -- __padding__: 2개의 `int`로 이루어진 튜플. 차원 1의 시작과 끝에 얼마나 많은 0을 추가할 지에 대한 수치. +- __padding__: 두 개의 `int`로 이루어진 튜플. 차원 1의 시작과 끝에 얼마나 많은 0을 추가할 지에 대한 수치. __반환값__ @@ -2755,7 +2754,7 @@ __반환값__ __오류__ -- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"` 가 아닌 경우에 발생합니다. +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"`가 아닌 경우에 발생합니다. ---- @@ -2779,7 +2778,7 @@ __반환값__ __오류__ -- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"` 가 아닌 경우에 발생합니다. +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"`가 아닌 경우에 발생합니다. ---- @@ -2801,7 +2800,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def stack(x, axis=0): @@ -2846,7 +2845,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def reverse(x, axes): @@ -2879,7 +2878,7 @@ __반환값__ new_x = x[start[0]: start[0] + size[0], ..., start[-1]: start[-1] + size[-1]] ``` -__NumPy 적용__ +__NumPy 구현__ ```python def slice(x, start, size): @@ -3079,7 +3078,7 @@ __오류__ - __ValueError__: 입력의 시간 단계 길이가 유동적인데 `unroll`을 `True`로 지정한 경우 발생합니다. - __ValueError__: `mask`를 설정했는데 (`None`이 아님) `states`가 없는 경우(`len(states)` == 0) 발생합니다. -__NumPy 적용__ +__NumPy 구현__
Show the Numpy implementation @@ -3159,7 +3158,7 @@ __오류__ - __ValueError__: `expressions`보다 `condition`의 차원이 클 경우 오류가 발생합니다. -__NumPy 적용__ +__NumPy 구현__ ```python def switch(condition, then_expression, else_expression): @@ -3232,7 +3231,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def relu(x, alpha=0., max_value=None, threshold=0.): @@ -3262,7 +3261,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def elu(x, alpha=1.): @@ -3288,7 +3287,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def softmax(x, axis=-1): @@ -3314,7 +3313,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def softplus(x): @@ -3339,7 +3338,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def softsign(x): @@ -3434,7 +3433,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def sigmoid(x): @@ -3458,7 +3457,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def hard_sigmoid(x): @@ -3484,7 +3483,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def tanh(x): @@ -3507,16 +3506,16 @@ __인자__ - __x__: 텐서. - __level__: 텐서의 원소 가운데 값을 0으로 바꿀 비율을 정합니다. - __noise_shape__: 무작위로 생성할 유지/삭제 플래그의 형태를 정합니다. `x`의 형태로 브로드캐스팅될 수 있는 형태여야 합니다. -- __seed__: 무작위 연산이 재현 가능하도록 난수 생성의 시드값을 정합니다. +- __seed__: 무작위 연산을 재현 가능하도록 난수 생성의 시드값을 정합니다. __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__
-Show the Numpy implementation +NumPy 구현 보기 ```python def dropout(x, level, noise_shape=None, seed=None): @@ -3553,7 +3552,7 @@ __반환값__ 텐서. -__NumPy 적용__ +__NumPy 구현__ ```python def l2_normalize(x, axis=-1): @@ -3565,199 +3564,163 @@ def l2_normalize(x, axis=-1): ---- ### in_top_k - ```python keras.backend.in_top_k(predictions, targets, k) ``` +`targets`이 최상위 `k` `predictions`에 있는지를 반환합니다. -`targets`이 최상위`k` `predictions`에 있는지를 반환합니다. - -__인자__ +__인자__ -- __predictions__: `float32`타입과 `(batch_size, classes)`형식의 텐서. -- __targets__: `batch_size` and type `int32` or `int64`의 길이의 1차원 텐서. -- __k__: An `int`, 고려해야 할 최상위 요소의 수. +- __predictions__: `float32`. `(batch_size, classes)`형식의 텐서. +- __targets__: `int32` 또는 `int64`. 길이가 `batch_size`인 1D 텐서. +- __k__: `int`. 고려해야 할 최상위 값의 수. -__반환값__ +__반환값__ +`batch_size`길이의 `bool`타입 텐서. `predictions[i, targets[i]]`가 `predictions[i]`의 top-`k`범위 안에 있으면 `output[i]`값은 `True`가 됩니다. + -A 1D tensor of length `batch_size` and type `bool`. -만약 `predictions[i, targets[i]]` 이 top-`k`내에 있다면, `output[i]` 이 `True`. -`predictions[i]'의 값. - ---- - - - ### conv1d ```python keras.backend.conv1d(x, kernel, strides=1, padding='valid', data_format=None, dilation_rate=1) ``` +1D 합성곱 연산을 수행합니다. -1D convolution. - -__인자__ - -- __x__: 텐서 또는 변수. -- __kernel__: 커널 텐서. -- __strides__: 정수형 스트라이드. -- __padding__: `str`. `"same"`, `"causal"` or `"valid"`. -- __data_format__: `str`. `"channels_last"` or `"channels_first"`. -- __dilation_rate__: 정수 확장 비율. - +__인자__ +- __x__: 텐서 또는 변수. +- __kernel__: 커널 텐서. +- __strides__: `int`. 합성곱 필터의 스트라이드 폭을 지정합니다. +- __padding__: `str`. `"same"`, `"causal"` 또는 `"valid"` 가운데 하나를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. +- __dilation_rate__: `int`. 팽창 합성곱 적용시 커널의 원소 사이의 간격을 결정하는 팽창비율입니다. -__반환값__ +__반환값__ - -1차원 컨볼루션 연산 결과, 텐서 값. +텐서. 1D 합성곱 연산 결과. __오류__ -- __ValueError__:`data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"`가 아닌 경우에 발생합니다. ---- - ### conv2d - ```python keras.backend.conv2d(x, kernel, strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1)) ``` +2D 합성곱 연산을 수행합니다. -2차원 컨볼루션. - -__인자__ - -- __x__: 텐서 또는 변수. -- __kernel__: 커널 텐서. -- __strides__: 스트라이드 튜플. -- __padding__: `str`. `"same"` or `"valid"`. -- __data_format__: `str`. `"channels_last"` or `"channels_first"`. - inputs/kernels/outputs에 대한 Theano 또는 TensorFlow/CNTK데이터 형식을 사용할 여부. -- __dilation_rate__: 2 integers의 튜플. - +__인자__ +- __x__: 텐서 또는 변수. +- __kernel__: 커널 텐서. +- __strides__: `int`. 합성곱 필터의 스트라이드 폭을 지정합니다. +- __padding__: `str`. `"same"` 또는 `"valid"` 가운데 하나를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. +- __dilation_rate__: 두 개의 `int`로 이루어진 튜플. 팽창 합성곱 적용시 커널의 원소 사이의 간격을 결정하는 팽창비율입니다. -__반환값__ +__반환값__ +텐서. 2D 합성곱 연산 결과. -텐서, 2차원 컨볼루션 연산 결과. - -__오류__ - -- __ValueError__: `data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. - +__오류__ +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"`가 아닌 경우에 발생합니다. + + ---- - ### conv2d_transpose - ```python keras.backend.conv2d_transpose(x, kernel, output_shape, strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1)) ``` +2D 형태의 전치된 합성곱 연산Transposed Convolution을 수행합니다. 전치된 합성곱 연산은 특정한 합성곱의 결과로부터 입력으로 형태를 거슬러 올라가는 역방향 변환에 주로 사용됩니다. -2차원의 트렌스포즈된 컨볼루션 연산을 수행합니다. - -__인자__ - +__인자__ - __x__: 텐서 또는 변수. - __kernel__: 커널 텐서. -- __output_shape__: 1D int tensor 출력 형식에 대해 1차원 int텐서 -- __strides__: 스트라이드 튜플. -- __padding__: `str`. `"same"` 또는 `"valid"`. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. - inputs/kernels/outputs에 대한 Theano 또는 TensorFlow/CNTK 데이터 형태 -- __dilation_rate__: 2개의 `int`로 이루어진 튜플. +- __output_shape__: 출력 형태를 나타내는 `int`형식의 1D 텐서. +- __strides__: 두 개의 `int`로 이루어진 튜플. 합성곱 필터의 스트라이드 폭을 지정합니다. +- __padding__: `str`. `"same"` 또는 `"valid"` 가운데 하나를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. +- __dilation_rate__: 두 개의 `int`로 이루어진 튜플. 팽창 합성곱 적용시 커널의 원소 사이의 간격을 결정하는 팽창비율입니다. -__반환값__ +__반환값__ +텐서. 2D 전치된 합성곱 연산의 결과. -2차원의 트렌스포즈된 컨볼루션 결과, 텐서. - -__오류__ +__오류__ -- __ValueError__: `data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"`가 아닌 경우에 발생합니다. ----- +---- ### separable_conv1d - ```python keras.backend.separable_conv1d(x, depthwise_kernel, pointwise_kernel, strides=1, padding='valid', data_format=None, dilation_rate=1) ``` +1D 분리 합성곱Separable Convolution 연산을 수행합니다. -분리가능한 필터와 1차원 컨볼루션 연산. - -__인자__ - -- __x__: input tensor -- __depthwise_kernel__: 깊이 컨볼루션을 위한 컨볼루션 커널. -- __pointwise_kernel__: 1x1 컨볼루션에 대한 커널. -- __strides__: 스트라이드 정수형. -- __padding__: `str`. `"same"` or `"valid"`. -- __data_format__: `str`. `"channels_last"` or `"channels_first"`. -- __dilation_rate__: integer dilation rate. - +__인자__ +- __x__: 입력 텐서. +- __depthwise_kernel__: 깊이별 합성곱Depthwise Convolution 연산을 위한 합성곱 커널. +- __pointwise_kernel__: 1x1 합성곱에 사용할 커널. +- __strides__: `int`. 합성곱 필터의 스트라이드 폭. +- __padding__: `str`. `"same"` 또는 `"valid"` 가운데 하나를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. +- __dilation_rate__: `int`. 팽창 합성곱 적용시 커널의 원소 사이의 간격을 결정하는 팽창비율입니다. -__반환값__ +__반환값__ - - -출력 텐서. +출력 텐서. __오류__ -- __ValueError__: `data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. - +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"`가 아닌 경우에 발생합니다. + + ---- - -### separable_conv2d - +### separable_conv2d ```python keras.backend.separable_conv2d(x, depthwise_kernel, pointwise_kernel, strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1)) ``` +2D 분리 합성곱 연산을 수행합니다. -분리가능한 필터와 2차원 컨볼루션 연산. - -__인자__ - -- __x__: input tensor -- __depthwise_kernel__: 깊이 컨볼루션을 위한 컨볼루션 커널. -- __pointwise_kernel__: 1x1 컨볼루션에 대한 커널. -- __strides__: strides tuple (length 2). -- __padding__: `str`. `"same"` or `"valid"`. -- __data_format__: `str`. `"channels_last"` or `"channels_first"`. -- __dilation_rate__: integers의 튜플. - 분리가능한 컨볼루션의 팽창률. - +__인자__ -__반환값__ +- __x__: 입력 텐서. +- __depthwise_kernel__: 깊이별 합성곱 연산을 위한 합성곱 커널. +- __pointwise_kernel__: 1x1 합성곱에 사용할 커널. +- __strides__: 두 개의 `int`로 이루어진 튜플. 합성곱 필터의 스트라이드 폭을 지정합니다. +- __padding__: `str`. `"same"` 또는 `"valid"` 가운데 하나를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. +- __dilation_rate__: 두 개의 `int`로 이루어진 튜플. 팽창 합성곱 적용시 커널의 원소 사이의 간격을 결정하는 팽창비율입니다. +__반환값__ 출력 텐서. +__오류__ -__오류__ - -- __ValueError__: `data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"`가 아닌 경우에 발생합니다. + ---- - ### depthwise_conv2d @@ -3765,96 +3728,81 @@ __오류__ keras.backend.depthwise_conv2d(x, depthwise_kernel, strides=(1, 1), padding='valid', data_format=None, dilation_rate=(1, 1)) ``` - -분리가능한 필터로 2차원 컨볼루션 연산. +2D 깊이별 합성곱Depthwise Convolution 연산을 수행합니다. __인자__ -- __x__: input tensor -- __depthwise_kernel__: 깊이 별 컨볼루션 연산을 위한 컨볼루션 커널. -- __strides__: strides tuple (length 2). -- __padding__: string, `"same"` or `"valid"`. -- __data_format__: string, `"channels_last"` or `"channels_first"`. -- __dilation_rate__: integers의 튜플. - 분리가능한 컨볼루션의 팽창률. - -__반환값__ - - -출력텐서. +- __x__: 입력 텐서. +- __depthwise_kernel__: 깊이별 합성곱 연산을 위한 컨볼루션 커널. +- __strides__: 두 개의 `int`로 이루어진 튜플. 합성곱 필터의 스트라이드 폭을 지정합니다. +- __padding__: `str`. `"same"` 또는 `"valid"` 가운데 하나를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. +- __dilation_rate__: 두 개의 `int`로 이루어진 튜플. 팽창 합성곱 적용시 커널의 원소 사이의 간격을 결정하는 팽창비율입니다. +__반환값__ + +출력 텐서. __오류__ -- __ValueError__: `data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"`가 아닌 경우에 발생합니다. + ---- - ### conv3d - ```python keras.backend.conv3d(x, kernel, strides=(1, 1, 1), padding='valid', data_format=None, dilation_rate=(1, 1, 1)) ``` +3D 합성곱 연산을 수행합니다. -3차원 컨볼루션 연산. - -__인자__ +__인자__ -- __x__: 텐서 또는 변수. +- __x__: 텐서 또는 변수. - __kernel__: 커널 텐서. -- __strides__: 스트라이드 튜플. -- __padding__: `str`. `"same"` 또는 `"valid"`. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. - inputs/kernels/outputs에 대한 Theano 또는 TensorFlow/CNTK 데이터 형태 -- __dilation_rate__: 2개의 `int`로 이루어진 튜플. - +- __strides__: 세 개의 `int`로 이루어진 튜플. 합성곱 필터의 스트라이드 폭을 지정합니다. +- __padding__: `str`. `"same"` 또는 `"valid"` 가운데 하나를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. +- __dilation_rate__: 세 개의 `int`로 이루어진 튜플. 팽창 합성곱 적용시 커널의 원소 사이의 간격을 결정하는 팽창비율입니다. -__반환값__ +__반환값__ +텐서. 3D 합성곱 연산 결과. -텐서, 3차원 컨볼루션 연산 결과. - -__오류__ +__오류__ -- __ValueError__: `data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"`가 아닌 경우에 발생합니다. + ---- - ### conv3d_transpose - ```python keras.backend.conv3d_transpose(x, kernel, output_shape, strides=(1, 1, 1), padding='valid', data_format=None) ``` +3D 형태의 전치된 합성곱 연산을 수행합니다. 전치된 합성곱 연산은 특정한 합성곱의 결과로부터 입력으로 형태를 거슬러 올라가는 역방향 변환에 주로 사용됩니다. -3차원 트렌스포즈 컨볼루션. - -__인자__ +__인자__ - __x__: 텐서 또는 변수. - __kernel__: 커널 텐서. -- __output_shape__: 결과값 형식에 대한 1차원 정수형 텐서. -- __strides__: 스트라이드 튜플. -- __padding__: `str`. `"same"` 또는 `"valid"`. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. - inputs/kernels/outputs에 대한 Theano 또는 TensorFlow/CNTK 데이터 형태 -- __dilation_rate__: 2개의 `int`로 이루어진 튜플. +- __output_shape__: 출력 형태를 나타내는 `int`형식의 1D 텐서. +- __strides__: 세 개의 `int`로 이루어진 튜플. 합성곱 필터의 스트라이드 폭을 지정합니다. +- __padding__: `str`. `"same"` 또는 `"valid"` 가운데 하나를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. - -__반환값__ +__반환값__ - -트렌스포즈된 3차원 컨볼루션 연산결과 텐서. +텐서. 3D 전치된 합성곱 연산의 결과. __오류__ -- __ValueError__: `data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. - +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"`가 아닌 경우에 발생합니다. + + ---- - ### pool2d @@ -3868,8 +3816,8 @@ keras.backend.pool2d(x, pool_size, strides=(1, 1), padding='valid', data_format= __인자__ - __x__: 텐서 또는 변수. -- __pool_size__: 2개의 `int`로 이루어진 튜플. -- __strides__: 2개의 `int`로 이루어진 튜플. +- __pool_size__: 두 개의 `int`로 이루어진 튜플. +- __strides__: 두 개의 `int`로 이루어진 튜플. - __padding__: `str`. `"same"` 또는 `"valid"`. - __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. - __pool_mode__: `str`. `"max"` `"avg"`. @@ -3901,8 +3849,8 @@ keras.backend.pool3d(x, pool_size, strides=(1, 1, 1), padding='valid', data_form __인자__ - __x__: 텐서 또는 변수. -- __pool_size__: 3개의 `int`로 이루어진 튜플. -- __strides__: 3개의 `int`로 이루어진 튜플. +- __pool_size__: 세 개의 `int`로 이루어진 튜플. +- __strides__: 세 개의 `int`로 이루어진 튜플. - __padding__: `str`. `"same"` 또는 `"valid"`. - __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. - __pool_mode__: `str`. `"max"` 또는 `"avg"`. @@ -3950,7 +3898,7 @@ ValueError : 아래 두 경우 중 하나에서 : 편향은 벡터이거나 ndim (x)-1 차원의 텐서. -__NumPy 적용__ +__NumPy 구현__ @@ -4288,7 +4236,7 @@ __인자__ data_format='channels_last'일 때, 4D 텐서 형식: (batch_size, new_rows, new_cols, filters) - __kernel__: (output_items, feature_dim, filters) 형식의 컨볼루션 연산을 위한 공유되지 않은 가중치 -- __kernel_size__: 2차원 컨볼루션 윈도우의 너비와 높이를 지정한 2개의 `int`로 이루어진 튜플. +- __kernel_size__: 2차원 컨볼루션 윈도우의 너비와 높이를 지정한 두 개의 `int`로 이루어진 튜플. - __strides__: 2integers인 튜플. 너비와 높이에 따른 컨볼루션의 스트라이드를 지정합니다. - __output_shape__: (output_row, output_col)형태의 튜플 - __data_format__: 데이터 형식, 'channels_first' 또는 'channels_last'. @@ -4308,12 +4256,4 @@ data_format='channels_last'일 때, __오류__ - __ValueError__: data_format가 - channels_last 또는 channels_first이 아니었을 때, 오류. - - - - - - - - + channels_last 또는 channels_first이 아니었을 때, 오류 From f5c82db06235a77dc9d6232a00146ffabe2fcd07 Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Fri, 6 Mar 2020 16:27:42 +0900 Subject: [PATCH 17/25] line 3968 --- sources/backend.md | 227 ++++++++++++++++++++------------------------- 1 file changed, 100 insertions(+), 127 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index 85405b22..49d0a82f 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -2747,14 +2747,14 @@ __인자__ - __x__: 텐서 또는 변수. - __padding__: 길이가 2인 튜플 두 개로 이루어진 튜플. 패딩 형태를 지정합니다. (예: `((1, 1), (1, 1))`) 하위 튜플의 각 값은 해당 차원의 앞과 뒤에 입력할 패딩의 개수입다. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"` 가운데 하나를 지정합니다. `"channels_last"`의 경우 4개의 차원 중 가운데 두 개의 차원에, `"channels_first"`의 경우 마지막 두 개의 차원에 패딩을 추가합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"` 가운데 하나를 지정합니다. `"channels_last"`의 경우 4개의 차원 중 가운데 두 개의 차원에, `"channels_first"`의 경우 마지막 두 개의 차원에 패딩을 추가합니다. `"None"`인 경우 `keras.backend.image_data_format()`에 지정된 기본값을 따릅니다. __반환값__ 0으로 패딩된 4D 텐서. __오류__ -- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"`가 아닌 경우에 발생합니다. +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"`가 아닌 경우에 발생합니다. ---- @@ -2770,7 +2770,7 @@ __인자__ - __x__: 텐서 또는 변수. - __padding__: 길이가 2인 튜플 세 개로 이루어진 이루어진 튜플. 패딩 형태를 지정합니다. (예: `((1, 1), (1, 1), (1, 1))`) 하위 튜플의 각 값은 해당 차원의 앞과 뒤에 입력할 패딩의 개수입니다. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"` 가운데 하나를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"` 가운데 하나를 지정합니다. `"None"`인 경우 `keras.backend.image_data_format()`에 지정된 기본값을 따릅니다. __반환값__ @@ -3596,7 +3596,7 @@ __인자__ - __kernel__: 커널 텐서. - __strides__: `int`. 합성곱 필터의 스트라이드 폭을 지정합니다. - __padding__: `str`. `"same"`, `"causal"` 또는 `"valid"` 가운데 하나를 지정합니다. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. `"None"`인 경우 `keras.backend.image_data_format()`에 지정된 기본값을 따릅니다. - __dilation_rate__: `int`. 팽창 합성곱 적용시 커널의 원소 사이의 간격을 결정하는 팽창비율입니다. __반환값__ @@ -3623,7 +3623,7 @@ __인자__ - __kernel__: 커널 텐서. - __strides__: `int`. 합성곱 필터의 스트라이드 폭을 지정합니다. - __padding__: `str`. `"same"` 또는 `"valid"` 가운데 하나를 지정합니다. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. `"None"`인 경우 `keras.backend.image_data_format()`에 지정된 기본값을 따릅니다. - __dilation_rate__: 두 개의 `int`로 이루어진 튜플. 팽창 합성곱 적용시 커널의 원소 사이의 간격을 결정하는 팽창비율입니다. __반환값__ @@ -3651,7 +3651,7 @@ __인자__ - __output_shape__: 출력 형태를 나타내는 `int`형식의 1D 텐서. - __strides__: 두 개의 `int`로 이루어진 튜플. 합성곱 필터의 스트라이드 폭을 지정합니다. - __padding__: `str`. `"same"` 또는 `"valid"` 가운데 하나를 지정합니다. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. `"None"`인 경우 `keras.backend.image_data_format()`에 지정된 기본값을 따릅니다. - __dilation_rate__: 두 개의 `int`로 이루어진 튜플. 팽창 합성곱 적용시 커널의 원소 사이의 간격을 결정하는 팽창비율입니다. @@ -3680,7 +3680,7 @@ __인자__ - __pointwise_kernel__: 1x1 합성곱에 사용할 커널. - __strides__: `int`. 합성곱 필터의 스트라이드 폭. - __padding__: `str`. `"same"` 또는 `"valid"` 가운데 하나를 지정합니다. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. `"None"`인 경우 `keras.backend.image_data_format()`에 지정된 기본값을 따릅니다. - __dilation_rate__: `int`. 팽창 합성곱 적용시 커널의 원소 사이의 간격을 결정하는 팽창비율입니다. __반환값__ @@ -3708,7 +3708,7 @@ __인자__ - __pointwise_kernel__: 1x1 합성곱에 사용할 커널. - __strides__: 두 개의 `int`로 이루어진 튜플. 합성곱 필터의 스트라이드 폭을 지정합니다. - __padding__: `str`. `"same"` 또는 `"valid"` 가운데 하나를 지정합니다. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. `"None"`인 경우 `keras.backend.image_data_format()`에 지정된 기본값을 따릅니다. - __dilation_rate__: 두 개의 `int`로 이루어진 튜플. 팽창 합성곱 적용시 커널의 원소 사이의 간격을 결정하는 팽창비율입니다. __반환값__ @@ -3736,7 +3736,7 @@ __인자__ - __depthwise_kernel__: 깊이별 합성곱 연산을 위한 컨볼루션 커널. - __strides__: 두 개의 `int`로 이루어진 튜플. 합성곱 필터의 스트라이드 폭을 지정합니다. - __padding__: `str`. `"same"` 또는 `"valid"` 가운데 하나를 지정합니다. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. `"None"`인 경우 `keras.backend.image_data_format()`에 지정된 기본값을 따릅니다. - __dilation_rate__: 두 개의 `int`로 이루어진 튜플. 팽창 합성곱 적용시 커널의 원소 사이의 간격을 결정하는 팽창비율입니다. __반환값__ @@ -3763,7 +3763,7 @@ __인자__ - __kernel__: 커널 텐서. - __strides__: 세 개의 `int`로 이루어진 튜플. 합성곱 필터의 스트라이드 폭을 지정합니다. - __padding__: `str`. `"same"` 또는 `"valid"` 가운데 하나를 지정합니다. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. `"None"`인 경우 `keras.backend.image_data_format()`에 지정된 기본값을 따릅니다. - __dilation_rate__: 세 개의 `int`로 이루어진 튜플. 팽창 합성곱 적용시 커널의 원소 사이의 간격을 결정하는 팽창비율입니다. __반환값__ @@ -3791,7 +3791,7 @@ __인자__ - __output_shape__: 출력 형태를 나타내는 `int`형식의 1D 텐서. - __strides__: 세 개의 `int`로 이루어진 튜플. 합성곱 필터의 스트라이드 폭을 지정합니다. - __padding__: `str`. `"same"` 또는 `"valid"` 가운데 하나를 지정합니다. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. `"None"`인 경우 `keras.backend.image_data_format()`에 지정된 기본값을 따릅니다. __반환값__ @@ -3805,105 +3805,149 @@ __오류__ ---- ### pool2d - ```python keras.backend.pool2d(x, pool_size, strides=(1, 1), padding='valid', data_format=None, pool_mode='max') ``` - -2차원 풀링연산. - +2D 입력에 풀링pooling 연산을 적용합니다. 입력 데이터 가운데 `pool_size`로 지정한 가로 세로의 격자마다 `pool_mode`로 지정한 연산 결과로 얻어진 값을 반환하여 새로운 2D 결과값을 반환합니다. + __인자__ - __x__: 텐서 또는 변수. -- __pool_size__: 두 개의 `int`로 이루어진 튜플. -- __strides__: 두 개의 `int`로 이루어진 튜플. -- __padding__: `str`. `"same"` 또는 `"valid"`. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. -- __pool_mode__: `str`. `"max"` `"avg"`. +- __pool_size__: 두 개의 `int`로 이루어진 튜플. 풀링 필터의 크기를 지정합니다. +- __strides__: 두 개의 `int`로 이루어진 튜플. 풀링 필터의 스트라이드 폭을 지정합니다. +- __padding__: `str`. `"same"` 또는 `"valid"` 가운데 하나를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. `"None"`인 경우 `keras.backend.image_data_format()`에 지정된 기본값을 따릅니다. +- __pool_mode__: `str`. `"max"`로 지정하는 경우 풀링 범위 안의 최대값을 반환하고 `"avg"`로 지정하는 경우 풀링 범위 내 값들의 평균을 반환합니다. 기본값은 `"max"`입니다. __반환값__ - -2차원 풀링 연산 결과값의 텐서. +텐서. 2D 풀링 연산의 결과값. __오류__ -- __ValueError__: `data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"`가 아닌 경우에 발생합니다. +- __ValueError__: `pool_mode`가 `"max"` 또는 `"avg"` 가 아닌 경우에 발생합니다. -- __ValueError__: 만약 `pool_mode` 라면 `"max"` 또는 `"avg"` 둘 다 아니다. - ----- +---- ### pool3d - ```python keras.backend.pool3d(x, pool_size, strides=(1, 1, 1), padding='valid', data_format=None, pool_mode='max') ``` +3D 입력에 풀링pooling 연산을 적용합니다. + +__인자__ -3D Pooling. +- __x__: 텐서 또는 변수. +- __pool_size__: 세 개의 `int`로 이루어진 튜플. 풀링 필터의 크기를 지정합니다. +- __strides__: 세 개의 `int`로 이루어진 튜플. 풀링 필터의 스트라이드 폭을 지정합니다. +- __padding__: `str`. `"same"` 또는 `"valid"` 가운데 하나를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. `"None"`인 경우 `keras.backend.image_data_format()`에 지정된 기본값을 따릅니다. +- __pool_mode__: `str`. `"max"`로 지정하는 경우 풀링 범위 안의 최대값을 반환하고 `"avg"`로 지정하는 경우 풀링 범위 내 값들의 평균을 반환합니다. 기본값은 `"max"`입니다. -__인자__ +__반환값__ -- __x__: 텐서 또는 변수. -- __pool_size__: 세 개의 `int`로 이루어진 튜플. -- __strides__: 세 개의 `int`로 이루어진 튜플. -- __padding__: `str`. `"same"` 또는 `"valid"`. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. -- __pool_mode__: `str`. `"max"` 또는 `"avg"`. +텐서. 3D 풀링 연산의 결과값. -__반환값__ - +__오류__ + +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"`가 아닌 경우에 발생합니다. +- __ValueError__: `pool_mode`가 `"max"` 또는 `"avg"` 가 아닌 경우에 발생합니다. -텐서, 3차원 풀링 결과. -__오류__ +---- +### local_conv1d + +```python +keras.backend.local_conv1d(inputs, kernel, kernel_size, strides, data_format=None) +``` + +일반적인 1D 합성곱과 달리 가중치를 공유하지 않는 1D 합성곱 연산을 수행합니다. 이 경우 합성곱 연산의 각 단계마다 서로 다른 가중치가 사용됩니다. + +__인자__ + +- __inputs__: `(batch_size, steps, input_dim)`으로 이루어진 3D 형태의 텐서. +- __kernel__: `(output_length, feature_dim, filters)`의 형태로 이루어진 공유되지 않은 합성곱 가중치. +- __kernel_size__: 단일한 `int`로 이루어진 튜플. 1D 합성곱 필터의 길이를 지정합니다. +- __strides__: 단일한 `int`로 이루어진 튜플. 합성곱 연산의 스트라이드 크기를 지정합니다. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. `"None"`인 경우 `keras.backend.image_data_format()`에 지정된 기본값을 따릅니다. + + +__반환값__ + +(batch_size, output_length, filters) 형태의 공유되지 않은 가중치로 1D 합성곱을 수행한 결과 텐서. + +__오류__ + +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"`가 아닌 경우에 발생합니다. -- __ValueError__: `data_format`이 모두 `"channels_last"` ,`"channels_first"`이 아닐 때. -- __ValueError__: 만약 `pool_mode` 라면 `"max"` 또는 `"avg"` 둘 다 아니다. - ---- -### bias_add +### local_conv2d ```python -keras.backend.bias_add(x, bias, data_format=None) +keras.backend.local_conv2d(inputs, kernel, kernel_size, strides, output_shape, data_format=None) ``` -텐서에 대한 바이어스 벡터 추가. +일반적인 2D 합성곱과 달리 가중치를 공유하지 않는 2D 합성곱 연산을 수행합니다. 이 경우 합성곱 연산의 각 단계마다 서로 다른 가중치가 사용됩니다. + __인자__ -- __x__: 텐서 또는 변수. -- __bias__: 추가 할 바이어스 텐서. -- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. +- __inputs__: + `data_format='channels_first'`일 때, `(batch_size, filters, new_rows, new_cols)` 형태의 4D 텐서. + `data_format='channels_last'`일 때, `(batch_size, new_rows, new_cols, filters)` 형태의 4D 텐서. +- __kernel__: `(output_items, feature_dim, filters)`의 형태로 이루어진 공유되지 않은 합성곱 가중치. +- __kernel_size__: 두 개의 `int`로 이루어진 튜플. 2D 합성곱 필터의 높이와 폭을 지정합니다. +- __strides__: 두 개의 `int`로 이루어진 튜플. 합성곱 연산의 세로와 가로 스트라이드 크기를 지정합니다. +- __output_shape__: `(output_row, output_col)` 형태의 튜플. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. `"None"`인 경우 `keras.backend.image_data_format()`에 지정된 기본값을 따릅니다. __반환값__ +`data_format='channels_first'`일 때, `(batch_size, filters, new_rows, new_cols)`형태의 4D 텐서. +`data_format='channels_first'`일 때, `(batch_size, new_rows, new_cols, filters)`형태의 4D 텐서. + +__오류__ + +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"`가 아닌 경우에 발생합니다. + +---- +### bias_add -결과 텐서. +```python +keras.backend.bias_add(x, bias, data_format=None) +``` -__오류__ +텐서에 편향bias벡터를 추가합니다. -ValueError : 아래 두 경우 중 하나에서 : -1. 유효하지 않은`data_format` 인수. -2. 잘못된 편향 모양. -편향은 벡터이거나 ndim (x)-1 차원의 텐서. +__인자__ +- __x__: 텐서 또는 변수. +- __bias__: 입력 텐서에 추가할 편향값의 텐서. +- __data_format__: `str`. `"channels_last"` 또는 `"channels_first"`. 이미지 입력 데이터의 채널 차원 위치를 지정합니다. `"None"`인 경우 `keras.backend.image_data_format()`에 지정된 기본값을 따릅니다. + +__반환값__ -__NumPy 구현__ +편향을 추가한 텐서. +__오류__ +- __ValueError__: `data_format`이 `"channels_last"` 또는 `"channels_first"`가 아닌 경우에 발생합니다. +- __ValueError__: 편향의 형태가 잘못된 경우 발생합니다. 편향은 ndim(x)-1 (=입력값의 차원 개수-1) 크기의 벡터 또는 텐서여야 합니다. + +__NumPy 구현__
-Show the Numpy implementation +NumPy로 구현한 코드 보기 ```python def bias_add(x, y, data_format): @@ -3922,7 +3966,6 @@ def bias_add(x, y, data_format): ---- - ### random_normal @@ -4186,74 +4229,4 @@ __반환값__ -### local_conv1d - - -```python -keras.backend.local_conv1d(inputs, kernel, kernel_size, strides, data_format=None) -``` - - -공유되지 않은 가중치를 1D 컨볼루션에 적용합니다. - -__인자__ - -- __inputs__: 3D 텐서의 형식: (batch_size, steps, input_dim) -- __kernel__: (output_length, feature_dim, filters)형식의 컨볼루션의 공유되지 않은 가중치. -- __kernel_size__: 1d 컨볼루션 윈도우의 길이를 지정한 단일 `int` 튜플. -- __strides__: 컨볼루션의 스타라이드 길이를 지정한 단일 `int` 튜플. -- __data_format__: 데이터 형식, channels_first 또는 channels_last - - -__반환값__ - - -(batch_size, output_length, filters)형식: 공유되지 않은 가중치로 1d 컨볼루션 연산 후의 텐서. - -__오류__ - -- __ValueError__: If `data_format`가 - channels_last 또는 channels_first"`이 아닐 때, 오류. - ----- - -### local_conv2d - - -```python -keras.backend.local_conv2d(inputs, kernel, kernel_size, strides, output_shape, data_format=None) -``` - - -2D 컨볼루션에 공유되지 않은 가중치를 적용합니다. - - -__인자__ - -- __inputs__: - data_format='channels_first'일 때, 4D 텐서 형식: - (batch_size, filters, new_rows, new_cols) - data_format='channels_last'일 때, 4D 텐서 형식: - (batch_size, new_rows, new_cols, filters) -- __kernel__: (output_items, feature_dim, filters) 형식의 컨볼루션 연산을 위한 공유되지 않은 가중치 -- __kernel_size__: 2차원 컨볼루션 윈도우의 너비와 높이를 지정한 두 개의 `int`로 이루어진 튜플. -- __strides__: 2integers인 튜플. 너비와 높이에 따른 컨볼루션의 스트라이드를 지정합니다. -- __output_shape__: (output_row, output_col)형태의 튜플 -- __data_format__: 데이터 형식, 'channels_first' 또는 'channels_last'. - - -__반환값__ - - -4d 텐서의 형식: -data_format='channels_first'일 때, -(batch_size, filters, new_rows, new_cols) - - 4d 텐서의 형식: -data_format='channels_last'일 때, -(batch_size, new_rows, new_cols, filters) - -__오류__ -- __ValueError__: data_format가 - channels_last 또는 channels_first이 아니었을 때, 오류 From 1237cf818da443a1781fd85459ee209fd64e2910 Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Thu, 12 Mar 2020 16:57:09 +0900 Subject: [PATCH 18/25] line #4133 --- sources/backend.md | 185 +++++++++++++++++++++------------------------ 1 file changed, 86 insertions(+), 99 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index 49d0a82f..bdfa8e50 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -3968,195 +3968,182 @@ def bias_add(x, y, data_format): ---- ### random_normal - ```python keras.backend.random_normal(shape, mean=0.0, stddev=1.0, dtype=None, seed=None) ``` +정규분포에서 값을 추출하여 텐서를 생성하고 반환합니다. -값의 정규분포를 포함한 텐서를 반환 합니다. +__인자__ -__인자__ +- __shape__: `int`로 이루어진 튜플. 생성할 텐서의 형태를 정합니다. +- __mean__: `float`. 표본을 추출할 정규분포의 평균을 정합니다. +- __stddev__: `float`. 표본을 추출할 정규분포의 표준편차를 정합니다. +- __dtype__: `str`. 반환할 텐서의 자료형을 지정합니다. +- __seed__: `int`. 무작위 연산을 재현 가능하도록 난수 생성의 시드값을 정합니다. -- __shape__: `int`로 이루어진 튜플. 생성할 텐서의 형식. -- __mean__: `float`. 정규 분포의 평균 그리기. -- __stddev__: `float`. 정규 분포의 표준편차 그리기. -- __dtype__: `str`. 반환된 텐서의 dtype. -- __seed__: `int`. random seed. +__반환값__ -__반환값__ - +텐서. -텐서. - ----- +---- ### random_uniform - ```python keras.backend.random_uniform(shape, minval=0.0, maxval=1.0, dtype=None, seed=None) ``` +균등분포에서 값을 추출하여 텐서를 생성하고 반환합니다. -값의 균등분포를 포함한 텐서를 반환 합니다. +__인자__ -__인자__ +- __shape__: `int`로 이루어진 튜플. 생성할 텐서의 형태를 정합니다. +- __minval__: `float`. 표본을 추출할 균등 분포의 최솟값을 지정합니다. +- __maxval__: `float`. 표본을 추출할 균등 분포의 최댓값을 지정합니다. +- __dtype__: `str`. 반환할 텐서의 자료형을 지정합니다. +- __seed__: `int`. 무작위 연산을 재현 가능하도록 난수 생성의 시드값을 정합니다. -- __shape__: `int`로 이루어진 튜플. 생성할 텐서의 형식. -- __minval__: `float`. 균등 분포의 하한 샘플 그리기. -- __maxval__: `float`. 균등 분포의 상한 샘플 그리기. -- __dtype__: `str`. 반환된 텐서의 dtype. -- __seed__: `int`. random seed. +__반환값__ -__반환값__ +텐서. - -텐서. ---- - ### random_binomial - ```python keras.backend.random_binomial(shape, p=0.0, dtype=None, seed=None) ``` - -값의 임의의 이항 분포의 텐서를 반환합니다. +이항분포에서 값을 추출하여 텐서를 생성하고 반환합니다. __인자__ -- __shape__: `int`로 이루어진 튜플. 생성할 텐서의 형식. -- __p__: `float`. `0. <= p <= 1`범위의 이항 분포의 확률 -- __dtype__: `str`. 반환된 텐서의 dtype. -- __seed__: `int`. random seed. +- __shape__: `int`로 이루어진 튜플. 생성할 텐서의 형태를 정합니다. +- __p__: `float`. `0. <= p <= 1`. 이항분포의 확률을 정합니다. +- __dtype__: `str`. 반환할 텐서의 자료형을 지정합니다. +- __seed__: `int`. 무작위 연산을 재현 가능하도록 난수 생성의 시드값을 정합니다. -__반환값__ - +__반환값__ -텐서. - +텐서. + + ---- - ### truncated_normal - ```python keras.backend.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=None, seed=None) ``` +절단 정규분포truncated normal에서 값을 추출하여 텐서를 생성하고 반환합니다. 절단 정규분포는 처음 지정한 정규분포의 평균과 표준편차에서 +-2 표준편차 영역 바깥을 잘라낸 다음, 남은 값들의 평균과 표준편차로 생성한 새로운 정규분포를 이용합니다. -값의 임의의 정규분포가 잘린 텐서를 반환합니다. - - -평균에 대한 두 표준편차가 제거되고 다시 지정되어 크기가 더 큰 값을 제외한 뒤 -지정된 평균과 표준편차로 정규푼보에 따라 생성된 값. - -__인자__ +__인자__ -- __shape__: `int`로 이루어진 튜플. 생성할 텐서의 형식. -- __mean__: 값들의 평균. -- __stddev__: 값들의 표준편차. -- __dtype__: `str`. 반환된 텐서의 dtype. -- __seed__: `int`. 난수생성. +- __shape__: `int`로 이루어진 튜플. 생성할 텐서의 형태를 정합니다. +- __mean__: `float`. 표본을 추출할 정규분포의 평균을 정합니다. +- __stddev__: `float`. 표본을 추출할 정규분포의 표준편차를 정합니다. +- __dtype__: `str`. 반환할 텐서의 자료형을 지정합니다. +- __seed__: `int`. 무작위 연산을 재현 가능하도록 난수 생성의 시드값을 정합니다. -__반환값__ +__반환값__ +텐서. -텐서. - ----- +---- ### ctc_label_dense_to_sparse - ```python keras.backend.ctc_label_dense_to_sparse(labels, label_lengths) ``` -dense에서 sparse로 CTC레이블을 변환합니다. - - +CTC 레이블을 dense에서 sparse로 변경합니다. -__인자__ +__인자__ -- __labels__: dense CTC 레이블. -- __label_lengths__: 레이블의 길이. +- __labels__: dense CTC 레이블. +- __label_lengths__: 레이블의 길이. -__반환값__ +__반환값__ +레이블의 희소sparse 텐서 표현. -레이블의 희소 텐서 표현. - ----- +---- ### ctc_batch_cost - ```python keras.backend.ctc_batch_cost(y_true, y_pred, input_length, label_length) ``` +배치의 각 원소들에 대해 CTC 손실을 구하는 알고리즘을 수행합니다. -각 배치에서 CTC손실 알고리즘을 수행합니다. - -__인자__ - - -- __y_true__: truth 레이블을 포함한 `(samples, max_string_length)` 텐서. -- __y_pred__: softmax의 출력 또는 예측값을 포함한 `(samples, time_steps, num_categories)` 텐서. -- __input_length__: `y_pred`의 각 배치 항목의 시퀀스 길이를 포함하는 `(samples, 1)`텐서. -- __label_length__: `y_true`의 각 배치 항목의 시퀀스 길이를 포함하는 `(samples, 1)`텐서. +__인자__ +- __y_true__: 참인 레이블을 포함한 `(samples, max_string_length)` 형태의 텐서. +- __y_pred__: 예측값 또는 Softmax의 출력값을 포함한 `(samples, time_steps, num_categories)` 형태의 텐서. +- __input_length__: `(samples, 1)` 형태의 텐서로 `samples`는 `y_pred`의 각 배치 항목의 시퀀스 길이. +- __label_length__: `(samples, 1)` 형태의 텐서로 `samples`는 `y_true`의 각 배치 항목의 시퀀스 길이. + -__반환값__ +__반환값__ +각 원소들의 CTC 손실 값으로 이루어진 `(samples, 1)`형태의 텐서. -각 요소의 CTC 손실값을 포함한 텐서의 (samples,1)형식. - ----- +---- ### ctc_decode - ```python keras.backend.ctc_decode(y_pred, input_length, greedy=True, beam_width=100, top_paths=1) ``` +Softmax의 결과를 해석합니다. 해석에는 greedy 방식의 탐색(최적 경로 탐색)과 제한된 사전dictionary 탐색을 사용할 수 있습니다. -소프트맥스의 결과를 해석. +__인자__ +- __y_pred__: 예측값 또는 Softmax의 출력값을 포함한 `(samples, time_steps, num_categories)` 형태의 텐서. +- __input_length__: `(samples, 1)` 형태의 텐서로 `samples`는 `y_pred`의 각 배치 항목 내의 순서값sequence의 길이. +- __greedy__: `true`인 경우 최적 경로 탐색을 수행하며 속도가 빠릅니다. 이 경우 사전을 사용하지 않습니다. +- __beam_width__: `greedy`가 `false`일 때 사용할 beam 탐색 방식 디코더의 폭을 지정합니다. +- __top_paths__: `greedy`가 `false`일 때 확률이 있는 경로 가운데 상위 몇 개의 경로를 반환할 것인지를 지정합니다. + -그리디 탐색(최적화)이나 제한적인 딕셔너리 탐색이 가능합니다. +__반환값__ -__인자__ +- __튜플__: + - 리스트: `greedy`가 `true`인 경우 해석된 순서값(예: 문장)들을 원소로 갖는 리스트를 반환합니다. + `false`인 경우 확률이 가장 높은 탐색 결과로 이루어진 `top_paths`들을 반환합니다. + - 중요: 비어있는 레이블의 경우 `-1`로 반환됩니다. + `(top_paths, )`텐서는 해석된 순서값들의 로그 확률을 함께 반환합니다. -- __y_pred__: 예측을 포함한 `(samples, time_steps, num_categories)` 텐서 또는 소프트맥스의 출력. -- __input_length__: `y_pred`의 각 배치 항목에 대한 시퀀스 길이를 포함한 `(samples, )`텐서. -- __greedy__: 만약 `true`라면 훨씬 더 빠르고 좋은 탐색을 수행합니다. 딕셔너리 자료형을 사용하지 않습니다. -- __beam_width__: `greedy`가 `false`일 때, beam 탐색 디코더가 너비의 beam으로 사용됩니다. -- __top_paths__: `greedy`가 `false`일 때, 가장 가능할만한 경로 중에 얼마나 많은 경로가 있는지 반환합니다. - +---- +### control_dependencies -__반환값__ - +```python +keras.backend.control_dependencies(control_inputs) +``` -- __Tuple__: - List: `greedy`가 `true`일 때, 디코딩 된 시퀀스를 포함한 요소의 리스트를 반환합니다. - `false`일 때, 가장 높은 가능성이 있는 `top_paths`을 반환합니다. - Important: `-1`로 비어있는 레이블을 반환합니다. - 디코딩 된 각 시퀀스의 로그확률을 포함한 `(top_paths, )`텐서. - ----- +Control dependency들을 관리합니다. Control dependency는 지정된 연산이 수행되기 전에 반드시 먼저 수행되어야 할 과정입니다. -### map_fn +Arguments + + control_inputs: A list of Operation or Tensor objects which must be executed or computed before running the operations defined in the context. Can also be None to clear the control dependencies. + +Returns +A context manager. + + + +---- +### map_fn ```python keras.backend.map_fn(fn, elems, name=None, dtype=None) From 205f4b05444fda758eaa9a4f62f3380d6e668484 Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Sat, 4 Apr 2020 14:53:23 +0900 Subject: [PATCH 19/25] Finished --- sources/backend.md | 69 ++++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 39 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index bdfa8e50..18a1adea 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -4130,16 +4130,15 @@ __반환값__ keras.backend.control_dependencies(control_inputs) ``` -Control dependency들을 관리합니다. Control dependency는 지정된 연산이 수행되기 전에 반드시 먼저 수행되어야 할 과정입니다. +Control dependency들을 관리합니다. Control dependency는 지정한 연산을 실행할 때 앞서 필요한 다른 연산들이 순서에 따라 자동으로 이루어지도록 합니다. -Arguments - - control_inputs: A list of Operation or Tensor objects which must be executed or computed before running the operations defined in the context. Can also be None to clear the control dependencies. +__인자__ -Returns +- __control_inputs__: 지정한 연산이 실행되기 전에 먼저 실행되어야 할 연산 또는 텐서 객체의 리스트. 비우고자 할 경우 `None`으로 지정할 수 있습니다. -A context manager. +__반환값__ +Control dependency를 적용시키는 파이썬 컨텍스트 매니저Context manager. ---- @@ -4149,46 +4148,42 @@ A context manager. keras.backend.map_fn(fn, elems, name=None, dtype=None) ``` -fn 함수를 요소 위에 맵핑하고 출력을 반환합니다. +지정한 함수를 각 요소에 매핑하고 그 출력을 반환합니다. __인자__ -- __fn__: elems에 있는 각 요소에 대해 호출가능. -- __elems__: 텐서 -- __name__: 그래프에서 맵 노드에 대한 문자열 이름. +- __fn__: `elems`에 들어있는 각 구성요소에 적용할 함수(또는 호출가능한 Callable). +- __elems__: 텐서. +- __name__: 해당 map 노드의 이름. - __dtype__: 출력 데이터 타입. -__반환값__ - +__반환값__ -`dtype`의 텐서. - ----- +지정한 `dtype`의 텐서. -### foldl +---- +### foldl ```python keras.backend.foldl(fn, elems, initializer=None, name=None) ``` - -왼쪽에서 오른쪽으로 결합하기위해 fn을 사용해 요소를 감소시킵니다. - +`fn`으로 지정한 함수를 지정한 순서형sequence 데이터에 순차적으로 반복 적용합니다. `fn`은 `elems`의 첫 번째 차원을 따라 적용되며 매번 이전 단계까지 누적된 실행 결과와 현재 단계의 대상을 각각 별도의 인자로 받아 계산하게 됩니다. `initializer`는 최초 단계 계산 시 '이전 단계' 인자로 사용할 초기값이며, `None`인 경우 `elems`의 첫 번째 요소를(`elems[0]`) 대신 사용하게 됩니다. + __인자__ -- __fn__: elems에서 각 요소에 호출 될 연산기, 예를 들어, `lambda acc, x: acc + x` -- __elems__: 텐서 -- __initializer__: 사용된 첫 번째 값. (`elems[0]` in case of None) -- __name__: 그래프 fodl 노드에 대한 문자열 이름. +- __fn__: `elems`의 각 요소에 적용할 함수. (예: `lambda acc, x: acc + x`) +- __elems__: 텐서. +- __initializer__: 연산의 첫 단계에서 이전 단계 값으로 대신 사용할 초기값 (`None`인 경우 `elems[0]`을 대신 사용) +- __name__: 해당 foldl 노드의 이름. -__반환값__ - +__반환값__ -`initializer` 모양과 같은 타입의 텐서. +`initializer`와 형태와 데이터 타입이 같은 텐서. + ---- - ### foldr @@ -4196,22 +4191,18 @@ __반환값__ keras.backend.foldr(fn, elems, initializer=None, name=None) ``` - -fn인자를 사용하여 오른쪽에서 왼쪽으로 텐서 요소들을 줄인다. - +`fn`으로 지정한 함수를 지정한 순서형sequence 데이터에 __역순__으로 반복 적용합니다. `fn`은 `elems`의 첫 번째 차원을 따라 적용되며 매번 이전 단계까지 누적된 실행 결과와 현재 단계의 대상을 각각 별도의 인자로 받아 계산하게 됩니다. `initializer`는 최초 단계 계산 시 '이전 단계' 인자로 사용할 초기값이며, `None`인 경우 `elems`의 가장 마지막 요소를(`elems[-1]`) 대신 사용하게 됩니다. + __인자__ -- __fn__: elems에서 호출가능한 각 요소와 누산기. - 예를들어, `lambda acc, x: acc + x` -- __elems__: 텐서 -- __initializer__: 사용된 첫번 째 값 (`elems[-1]` in case of None) -- __name__: 그래프에서 foldr node의 문자열 이름 +- __fn__: `elems`의 각 요소에 적용할 함수. (예: `lambda acc, x: acc + x`) +- __elems__: 텐서. +- __initializer__: 연산의 첫 단계에서 이전 단계 값으로 대신 사용할 초기값 (`None`인 경우 `elems[-1]`을 대신 사용) +- __name__: 해당 foldl 노드의 이름. -__반환값__ - +__반환값__ -`initializer` 모양과 같은 타입의 텐서. - +`initializer`와 형태와 데이터 타입이 같은 텐서. ---- From 6f1f2bf0d6314c9e6f436dda923f12ff0790adb9 Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Sat, 4 Apr 2020 14:53:57 +0900 Subject: [PATCH 20/25] minor fix --- sources/backend.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index 18a1adea..4cbe8404 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -4203,8 +4203,4 @@ __인자__ __반환값__ `initializer`와 형태와 데이터 타입이 같은 텐서. ----- - - - From b9535a3e54cdd13b6bc59579829a408b8271f0d4 Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Sat, 4 Apr 2020 14:54:37 +0900 Subject: [PATCH 21/25] Update backend.md --- sources/backend.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index 4cbe8404..fb889df0 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -4169,7 +4169,7 @@ __반환값__ keras.backend.foldl(fn, elems, initializer=None, name=None) ``` -`fn`으로 지정한 함수를 지정한 순서형sequence 데이터에 순차적으로 반복 적용합니다. `fn`은 `elems`의 첫 번째 차원을 따라 적용되며 매번 이전 단계까지 누적된 실행 결과와 현재 단계의 대상을 각각 별도의 인자로 받아 계산하게 됩니다. `initializer`는 최초 단계 계산 시 '이전 단계' 인자로 사용할 초기값이며, `None`인 경우 `elems`의 첫 번째 요소를(`elems[0]`) 대신 사용하게 됩니다. +`fn`으로 지정한 함수를 지정한 순서형sequence 데이터에 순차적으로 반복 적용합니다. `fn`은 `elems`의 첫 번째 차원을 따라 적용되며 매번 이전 단계까지 누적된 실행 결과와 현재 단계의 대상을 각각 별도의 인자로 받아 계산하게 됩니다. `initializer`는 최초 단계 계산 시 '이전 단계' 인자로 사용할 초기값이며, `None`인 경우 `elems`의 첫 번째 요소를(`elems[0]`) 대신 사용하게 됩니다. __인자__ @@ -4191,7 +4191,7 @@ __반환값__ keras.backend.foldr(fn, elems, initializer=None, name=None) ``` -`fn`으로 지정한 함수를 지정한 순서형sequence 데이터에 __역순__으로 반복 적용합니다. `fn`은 `elems`의 첫 번째 차원을 따라 적용되며 매번 이전 단계까지 누적된 실행 결과와 현재 단계의 대상을 각각 별도의 인자로 받아 계산하게 됩니다. `initializer`는 최초 단계 계산 시 '이전 단계' 인자로 사용할 초기값이며, `None`인 경우 `elems`의 가장 마지막 요소를(`elems[-1]`) 대신 사용하게 됩니다. +`fn`으로 지정한 함수를 지정한 순서형sequence 데이터에 __역순__으로 반복 적용합니다. `fn`은 `elems`의 첫 번째 차원을 따라 적용되며 매번 이전 단계까지 누적된 실행 결과와 현재 단계의 대상을 각각 별도의 인자로 받아 계산하게 됩니다. `initializer`는 최초 단계 계산 시 '이전 단계' 인자로 사용할 초기값이며, `None`인 경우 `elems`의 가장 마지막 요소를(`elems[-1]`) 대신 사용하게 됩니다. __인자__ From 24c76413497ec593b08f6206215a5ad6582a401d Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Sat, 4 Apr 2020 14:55:12 +0900 Subject: [PATCH 22/25] Update backend.md --- sources/backend.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/backend.md b/sources/backend.md index fb889df0..2ee34450 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -4191,7 +4191,7 @@ __반환값__ keras.backend.foldr(fn, elems, initializer=None, name=None) ``` -`fn`으로 지정한 함수를 지정한 순서형sequence 데이터에 __역순__으로 반복 적용합니다. `fn`은 `elems`의 첫 번째 차원을 따라 적용되며 매번 이전 단계까지 누적된 실행 결과와 현재 단계의 대상을 각각 별도의 인자로 받아 계산하게 됩니다. `initializer`는 최초 단계 계산 시 '이전 단계' 인자로 사용할 초기값이며, `None`인 경우 `elems`의 가장 마지막 요소를(`elems[-1]`) 대신 사용하게 됩니다. +`fn`으로 지정한 함수를 지정한 순서형sequence 데이터에 **역순**으로 반복 적용합니다. `fn`은 `elems`의 첫 번째 차원을 따라 적용되며 매번 이전 단계까지 누적된 실행 결과와 현재 단계의 대상을 각각 별도의 인자로 받아 계산하게 됩니다. `initializer`는 최초 단계 계산 시 '이전 단계' 인자로 사용할 초기값이며, `None`인 경우 `elems`의 가장 마지막 요소를(`elems[-1]`) 대신 사용하게 됩니다. __인자__ From 41bf902cd41528223027e7e028cd490dea637795 Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Sat, 4 Apr 2020 14:56:15 +0900 Subject: [PATCH 23/25] Update backend.md --- sources/backend.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sources/backend.md b/sources/backend.md index 2ee34450..6147262c 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -4173,9 +4173,9 @@ keras.backend.foldl(fn, elems, initializer=None, name=None) __인자__ -- __fn__: `elems`의 각 요소에 적용할 함수. (예: `lambda acc, x: acc + x`) +- __fn__: `elems`의 각 요소에 적용할 함수 (예: `lambda acc, x: acc + x`). - __elems__: 텐서. -- __initializer__: 연산의 첫 단계에서 이전 단계 값으로 대신 사용할 초기값 (`None`인 경우 `elems[0]`을 대신 사용) +- __initializer__: 연산의 첫 단계에서 이전 단계 값으로 대신 사용할 초기값 (`None`인 경우 `elems[0]`을 대신 사용). - __name__: 해당 foldl 노드의 이름. __반환값__ @@ -4195,9 +4195,9 @@ keras.backend.foldr(fn, elems, initializer=None, name=None) __인자__ -- __fn__: `elems`의 각 요소에 적용할 함수. (예: `lambda acc, x: acc + x`) +- __fn__: `elems`의 각 요소에 적용할 함수 (예: `lambda acc, x: acc + x`). - __elems__: 텐서. -- __initializer__: 연산의 첫 단계에서 이전 단계 값으로 대신 사용할 초기값 (`None`인 경우 `elems[-1]`을 대신 사용) +- __initializer__: 연산의 첫 단계에서 이전 단계 값으로 대신 사용할 초기값 (`None`인 경우 `elems[-1]`을 대신 사용). - __name__: 해당 foldl 노드의 이름. __반환값__ From fd1c12e24a9b17335f4746b86b2f893e6b091f14 Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Sat, 4 Apr 2020 14:58:18 +0900 Subject: [PATCH 24/25] Update backend.md --- sources/backend.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/backend.md b/sources/backend.md index 6147262c..a006b012 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -4130,7 +4130,7 @@ __반환값__ keras.backend.control_dependencies(control_inputs) ``` -Control dependency들을 관리합니다. Control dependency는 지정한 연산을 실행할 때 앞서 필요한 다른 연산들이 순서에 따라 자동으로 이루어지도록 합니다. +Control dependency들을 관리합니다. Control dependency는 지정한 연산을 실행할 때 앞서 필요한 다른 연산들을 순서에 따라 자동으로 이루어지도록 나열한 리스트입니다. __인자__ From fd2f24dab71397b3c574152a5fb1382934c2ecde Mon Sep 17 00:00:00 2001 From: Junyoung Kim Date: Sat, 4 Apr 2020 14:59:13 +0900 Subject: [PATCH 25/25] Update backend.md --- sources/backend.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/backend.md b/sources/backend.md index a006b012..7e3b4c5d 100644 --- a/sources/backend.md +++ b/sources/backend.md @@ -4130,7 +4130,7 @@ __반환값__ keras.backend.control_dependencies(control_inputs) ``` -Control dependency들을 관리합니다. Control dependency는 지정한 연산을 실행할 때 앞서 필요한 다른 연산들을 순서에 따라 자동으로 이루어지도록 나열한 리스트입니다. +Control dependency들을 관리합니다. Control dependency는 지정한 연산을 실행할 때 앞서 필요한 다른 연산들이 순서에 따라 자동으로 이루어지도록 나열한 리스트입니다. __인자__