• 【TensorFlow&PyTorch】创建张量学习笔记


    创建张量(tensor)是深度学习的第一步,也是基础。用于初始化一些值、测试之类的。

    1. import tensorflow as tf
    2. import torch
    3. import numpy as np

    从numpy中导入数据,将其转换为张量:

    TensorFlow:

    new=tf.convert_to_tensor old , dtype= )

    dtype可填:tf.int64,tf.int32,tf.float,tf.float64=tf.double,tf.bool,tf.string。

    将old转化为类型为dtype的张量new。

    PyTorch:

    new=torch.from_nump(old)

    将numpy类型的old转化为张量,默认转为torch.float64类型。

    torch的类型有(dtype):torch.float32,torch.float64,torch.float16,torch.uint8,torch.int8,torch.int16,torch.int32,torch.int64。

    创建值为随机数的张量:

    TensorFlow:

    data=tf.random.normal(shape,mean= ,stddev= )

    创建一个形状为shape,值随机为正态分布,均值为mean,方差为stddev的张量。

    data=tf.random.truncated_normal(shape,mea=,stddev=)

    创建一个形状为shape,值随机为截断正态分布,均值为mean,方差为stddev的张量。

    data=tf.random.uniform(shape,minval=,maxval=,dtype=)

    创建一个类型为dtype,形状为shape,值为随机数,最小值为minval,最大值为maxval。

     

    PyTorch:

    data=torch.randn(shape)

    创建一个形状为shape,值为正太分布,均值为0,方差为1。

    data=torch.normal(mean=,std=)

    创建一个形状和mean一样,值为正太分布,均值为mean,方差为std。其中mean有shape,并且shape和创建出的data一样,也就是说可以自定义data中每个位置上的mean。

    创建全为0/1的张量:

    TensorFlow:

    new=tf.zeros(shape)

    创建一个形状为shape,值全为0的张量。

    new=tf.zeors_like(old)

    创建一个形状和old一样,值全为0的张量。

     

    new=tf.ones(shape)

    创建一个形状为shape,值全为1的张量。

    new=tf.ones_like(old)

    创建一个形状和old一样,值全为1的张量。

    1. new_0=tf.zeros_like(old)
    2. new_1=tf.zeros(old.shape)
    3. #new_0和new_1一样,下面的PyTorch也是同理

    PyTorch:

    new=torch.zeros(shape)

    创建一个形状为shape,值全为0的张量。

     

    new=torch.zeros_like(old)

    创建一个形状和old一样,值全为0的张量。

     

    new=torch.ones(shape)

    创建一个形状为shape,值全为1的张量。

    new=torch.ones_like(old)

    创建一个形状和old一样,值全为1的张量。

    TensorFlow和PyTorch在这方面的接口都差不多,因为都是借鉴的numpy。

    创建值为自定义的张量:

    TensorFlow:

    data=tf.fill(shape,n)

    创建一个形状为shape,值全为n的张量。

    data=tf.range(参数,dtype= )

    dtype可指定数据类型,具体选择同上。

    当参数为一个值n时,生成0~n之间的数(不包括n)

    当参数为两个值n,m时,生成n~m之间的数(不包括m)

    当参数为三个值n,m,k时,生成n~m之间,步距为k的数(不包括m)

     

    date=tf.constant(n,dtypy=)

    生成类型为dtype,值为n的张量(n为具体的数值,可为列表、元组)

    PyTorch:

    data=torch.Tensor(n,dtype= )

    创建类型为dtype,值为n的张量,n为列表、元组。

     

    data=torch.full(shape,fill_value,dtype= )

    创建一个形状为shape,类型 为dtype,值全部为fill_value的张量

     

    data=torch.full_like(old,value)

    创建一个形状和old一样,值全部为value的张量。

     

    data=torch.arange(start,end,step,dtype=)

    创建一个类型为dtype,值为从start到end之间,步距为 step的数(不包括end)

     

    data=torch.linspacestart,end,steps,dtype=)

    创建一个类型为dtype,值为从start到end至今,均分成steps份,每个数的值。(包括end)

  • 相关阅读:
    Day08_DM层建设实战,本地视频+md,review第1遍,220625,
    没事练练题二
    ABCD四个顺序执行方法,拓展性延申
    Linux系统下进程的概念《一》
    【Java】刚刚!突然!紧急通知!垃圾回收!
    基于Spring Boot的在线考试系统springboot19
    【数据结构】【项目】BitMap?40亿电话号码如何快速去重?
    Xcode 常见错误
    uni-app和微信原生小程序的工具请求文件
    【小沐学Unity3d】3ds Max 多维子材质编辑(Multi/Sub-object)
  • 原文地址:https://blog.csdn.net/m0_63235356/article/details/125816601