TensorFlow2.0 연구 노트 1.1 : Tensor 생성 및 기능 기본 설명 1

텐서 생성

여기에 사진 설명 삽입차수가 0 인 텐서는 스칼라라고하며, s = 123과 같은 단일 숫자를 나타냅니다.
차수가 1 인 텐서는 벡터라고하며, 이는 목록 v = [1, 2와 같은 1 차원 배열을 나타냅니다. , 3]
tensor of order 2 행렬이라고 불리며, i-row와 j-column 요소를 가질 수있는 2 차원 배열을 나타내는데, 각 요소는 행 번호와 열 번호로 인덱싱됩니다. 예를 들어 행렬에서 요소 2의 인덱스는 행렬 m의 0 행 1 열입니다.

텐서의 순서를 결정하려면 '['대괄호 수에 따라 달라집니다. 0은 순서 0, 1은 순서 1, 2는 순서 2, n은 순서 n입니다.
따라서 텐서는 순서 1에서 순서 n까지 배열을 나타낼 수 있습니다.
여기에 사진 설명 삽입
Tensorflow의 데이터 유형 은 32 비트 정수, 32 비트 부동 소수점, 64 비트입니다. 부동, 부울, 문자열 등

여기에 사진 설명 삽입constant ()를 사용하여 텐서를 만들 수 있습니다. 첫 번째 매개 변수는 텐서의 내용을 지정하고 두 번째 매개 변수는 텐서의 데이터 유형을 지정합니다.
코드 예 :

import tensorflow as tf

a = tf.constant([1, 5], dtype=tf.int64)#创建一个一阶张量,里面有两个元素1 5
#指定数据类型是64位整形 并赋值给a
print("a:", a)#打印出a
print("a.dtype:", a.dtype)#打印出a的数据类型
print("a.shape:", a.shape)#打印出a的形状

# 本机默认 tf.int32  可去掉dtype试一下 查看默认值

결과 분석 :
여기에 사진 설명 삽입
인쇄는 텐서의 내용, 텐서의 모양, 텐서의 데이터 유형을 포함하여 텐서의 모든 정보를 출력합니다
. 텐서의 모양은 여러 숫자로 구분되며 여러 숫자로 구분됩니다. 이 텐서는 다차원이라는 뜻입니다.
이 예에서, 숫자는 일차원 텐서임을 나타내는 모양 괄호 안의 괄호로 분리된다.이 번호는 2,이 텐서 두 요소, 즉 1의 값과의 값이 5가 있음을 나타내는
여기에 사진 설명 삽입많은 데이터가 numpy 형식으로 구성된 경우 convert_to_tensor ()를 사용하여 Tensor 형식으로 변환 할 수 있습니다.

import tensorflow as tf
import numpy as np

a = np.arange(0, 5)
b = tf.convert_to_tensor(a, dtype=tf.int64)
print("a:", a)
print("b:", b)

예 :
b = tf.convert_to_tensor (a, dtype = tf.int64)
이 문은 numpy 형식 a를 Tensor 형식 b로 바꿉니다.

여기에 사진 설명 삽입마찬가지로, 우리는 zeros ()를 사용하여 모두 0으로 텐서를 만들고, ones ()를 사용하여 모두 1로 텐서를 만들고, fill ()을 사용하여 모든 지정된 값으로 텐서를 만들 수 있습니다.

import tensorflow as tf

a = tf.zeros([2, 3])
b = tf.ones(4)
c = tf.fill([2, 2], 9)
print("a:", a)
print("b:", b)
print("c:", c)

연산 결과 :
여기에 사진 설명 삽입
tf.zeros ([2, 3])는 2 차원 텐서를 만들고, 첫 번째 차원에는 두 개의 요소가 있고 두 번째 차원에는 3 개의 요소, 즉 2 행 x 3 열이 있습니다. 요소의 내용은 모두 0입니다.
tf.ones (4)는 4 개의 요소가있는 1 차원 텐서를 만들고 내용은 모두 1입니다.
tf.fill ([2, 2], 9)는 2 행 2 열을 만듭니다. Two -차원 텐서, 첫 번째 차원에는 두 개의 요소가 있고 두 번째 차원에는 두 개의 요소가 있으며 내용은 9입니다.

다음과 같이 차원이 기억 될 수 있습니다
여기에 사진 설명 삽입
.. 코드를 작성할 때, 우리는 종종 무작위로 정규 분포를 따라야합니다 초기화 매개 변수를 생성 tf.random.normal () 함수는 정규 분포를 따르는 지정된 차원의 텐서를 생성
여기에 사진 설명 삽입때때로 우리 난수를 생성하고 싶습니다. 더 집중되어 있으므로
tf.random.truncated_normal () 함수를 사용할 수 있습니다 .
여기에 사진 설명 삽입
코드 예 :

import tensorflow as tf

d = tf.random.normal([2, 2], mean=0.5, stddev=1)
print("d:", d)
e = tf.random.truncated_normal([2, 2], mean=0.5, stddev=1)
print("e:", e)

여기에 사진 설명 삽입

예를 들어
tf.random.normal ()을 사용하여 행 2 개와 열 2 개가있는 텐서를 생성합니다. 내부 요소는 평균
0.5이고 표준 편차가 1 인 분포 따릅니다. tf.random.truncated_normal ()을 사용하여 두 개의 행과 두 개의 열이있는 텐서를 생성합니다. 내부 요소는 평균이 0.5이고 표준 편차가 1 인 난수를 따르며, 이러한 요소는 평균에서 표준 편차의 두 배를 더하거나 빼고 분포 되며 데이터는 다음과 같습니다. 평균 0.5에 더 집중

여기에 사진 설명 삽입tf.random.uniform ()을 사용하여 지정된 차원의 균일하게 분포 된 난수를 생성하고 minval을 사용하여 난수의 최소값을 제공하고 maxval을 사용하여 난수의 최대 값을 제공 할 수 있습니다.
최소값과 최대 값은 닫았다가 열기 전의 간격입니다.
예 : tf.random.uniform ([2, 2], minval = 0, maxval = 1)
은 2 개의 행과 2 개의 열과 각 요소가있는 텐서를 생성합니다. 0과 1 사이의 평균 분포를 따릅니다.

추천

출처blog.csdn.net/weixin_44145452/article/details/112915859