首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    BERT源码分析(PART I)

    的, #那么batch就是第一维,但是可能3D的压缩成了2D的,所以需要告诉函数batch_size from_seq_length=None, # 同上...: 对输入的 tensor 进行形状校验,提取batch_size、from_seq_length 、to_seq_length; 输入如果是 3d 张量则转化成 2d 矩阵; from_tensor...与 value 相乘,返回 2D 或 3D 张量 ?...之间的频繁reshape,我们把所有的3D张量用2D矩阵表示 prev_output = reshape_to_matrix(input_tensor) all_layer_outputs =...表示第一个样本前两个词属于句子1,后一个词属于句子2. # 第二个样本的第一个词属于句子1, 第二次词属于句子2,第三个元素0表示padding # 原始代码是下面这样的,但是感觉么必要用 2,不知道是不是我哪里没理解

    52331

    tf.train.batch

    如果enqueue_many为真,则假定张量表示一批实例,其中第一个维度由实例索引,并且张量的所有成员在第一个维度中的大小应该相同。...注意: 如果dynamic_pad为False,则必须确保(i)传递了shapes参数,或者(ii)张量中的所有张量必须具有完全定义的形状。如果这两个条件都不成立,将会引发ValueError。...如果dynamic_pad为真,则只要知道张量的秩就足够了,但是单个维度可能没有形状。...在这种情况下,对于每个加入值为None的维度,其长度可以是可变的;在退出队列时,输出张量将填充到当前minibatch中张量的最大形状。对于数字,这个填充值为0。对于字符串,这个填充是空字符串。...此外,通过shape属性访问的所有输出张量的静态形状的第一个维度值为None,依赖于固定batch_size的操作将失败。参数:tensors: 要排队的张量列表或字典。

    1.4K10

    tf.reduce_mean()

    tf.reduce_mean 函数用于计算张量tensor沿着指定的数轴(tensor的某一维度)上的的平均值,主要用作降维或者计算tensor(图像)的平均值。...reduce_mean(input_tensor,axis=None,keep_dims=False,name=None,reduction_indices=None)第一个参数input_tensor...: 输入的待降维的tensor;第二个参数axis: 指定的轴,如果不指定,则计算所有元素的均值;第三个参数keep_dims:是否降维度,设置为True,输出的结果保持输入tensor的形状,设置为False...,输出结果会降低维度;第四个参数name: 操作的名称;第五个参数 reduction_indices:在以前版本中用来指定轴,已弃用;以一个维度是2,形状是[2,3]的tensor举例:import...: 2.0print m_0 # output: [ 1. 2. 3.]print m_1 #output: [ 2. 2.]如果设置保持原来的张量的维度,keep_dims=True ,结果: print

    1.7K30

    【BERT】源码分析(PART I)

    的, #那么batch就是第一维,但是可能3D的压缩成了2D的,所以需要告诉函数batch_size from_seq_length=None, # 同上...: 对输入的 tensor 进行形状校验,提取batch_size、from_seq_length 、to_seq_length; 输入如果是 3d 张量则转化成 2d 矩阵; from_tensor...与 value 相乘,返回 2D 或 3D 张量 ?...之间的频繁reshape,我们把所有的3D张量用2D矩阵表示 prev_output = reshape_to_matrix(input_tensor) all_layer_outputs =...表示第一个样本前两个词属于句子1,后一个词属于句子2. # 第二个样本的第一个词属于句子1, 第二次词属于句子2,第三个元素0表示padding # 原始代码是下面这样的,但是感觉么必要用 2,不知道是不是我哪里没理解

    45310

    BERT源码分析PART I

    #如果输入是3D的, 15 #那么batch就是第一维,但是可能3D的压缩成了2D的,所以需要告诉函数batch_size  16                    from_seq_length...: 对输入的tensor进行形状校验,提取batch_size、from_seq_length 、to_seq_length 输入如果是3d张量则转化成2d矩阵 from_tensor作为query,...将得到的attention_probs与value相乘,返回2D或3D张量 ?...之间的频繁reshape,我们把所有的3D张量用2D矩阵表示 34  prev_output = reshape_to_matrix(input_tensor) 35 36  all_layer_outputs...表示第一个样本前两个词属于句子1,后一个词属于句子2. 5 # 第二个样本的第一个词属于句子1, 第二次词属于句子2,第三个元素0表示padding 6 token_type_ids = tf.constant

    1.6K10

    tf.where

    如果x和y都为空,那么这个操作返回条件的真元素的坐标。坐标在二维张量中返回,其中第一个维度(行)表示真实元素的数量,第二个维度(列)表示真实元素的坐标。...如果x和y是更高秩的向量,那么条件必须是大小与x的第一个维度匹配的向量,或者必须具有与x相同的形状。...参数:condition: bool类型的张量x: 一个张量,它的形状可能和条件相同。...如果条件为秩1,x的秩可能更高,但是它的第一个维度必须与条件的大小匹配y: 与x形状和类型相同的张量name: 操作的名称(可选)返回值:一个与x, y相同类型和形状的张量,如果它们是非零的话。...异常:ValueError: When exactly one of x or y is non-None.原链接: https://tensorflow.google.cn/versions/r1.9

    2.3K30

    tensorflow中的slim函数集合

    参数:inputs:至少秩为2的张量,最后一个维度为静态值;即。' [batch_size, depth] ', ' [None, None, None, channels] '。...第n个维度需要具有指定数量的元素(类的数量)。参数:logits: N维张量,其中N > 1。scope:variable_scope的可选作用域。返回值:一个形状和类型与logits相同的“张量”。...只支持浮点类型返回值:生成单位方差张量的初始化器可能产生的异常:ValueError: if `dtype` is not a floating point type.TypeError: if `mode...假设第一个维度表示批处理。...支持' NHWC '(默认值)和' NCHW 'outputs_collections:将输出添加到其中的集合scope:name_scope的可选作用域返回值:表示池操作结果的“张量”可能产生的异常:

    1.6K30

    TensorFlow 常用函数汇总

    > 3 tf.reshape(tensor, shape, name=None) 改变tensor的形状 # tensor ‘t’ is [1, 2, 3, 4, 5, 6, 7, 8, 9]# tensor...) 沿张量的片段计算总和(第一维) 函数参数     data:一个Tensor。     ...segment_ids:一个Tensor;必须是以下类型之一:int32,int64;     一维张量,其秩等于data第一维的秩;值应该被排序,并且可以是重复的。     ...函数返回值     tf.segment_sum函数返回的是一个Tensor,它与data有相同的类型,  与data具有相同的形状, 但大小为 k(段的数目)的维度0除外。...segment_ids:一个Tensor;必须是以下类型之一:int32,int64;     一维张量,其秩等于data第一维的秩;值应该被排序,并且可以是重复的。

    3.3K31

    tf.unstack

    tf.unstack( value, num=None, axis=0, name='unstack')将秩为R张量的给定维数分解为秩为(R-1)张量。...通过沿着轴维对num张量进行切分,从值中解压缩num张量。如果没有指定num(默认值),则从值的形状推断它。如果value.shape[axis]未知,将引发ValueError。...例如,给定一个形状张量(A, B, C, D);如果axis == 0,那么输出中的第i张量就是切片值[i,:,:,:],而输出中的每个张量都有形状(B, C, D)。...(注意,与split不同的是,未打包的维度已经没有了)。如果axis == 1,则输出中的第i张量为切片值[:,i,:,:],输出中的每个张量都有形状(A, C, D)等。这是堆栈的反面。...默认为第一个维度。负值环绕,所以有效范围是[-R, R]。name: 操作的名称(可选)。返回值:张量对象的列表从值中分解。

    1K20

    tf.Variable

    当将这个参数设置为tf.TensorShape(None)(表示一个未指定的形状)时,可以用不同形状的值为变量赋值。...为了避免这种操作,可以循环遍历变量的第一个ndims,并对分割第一个维度的子张量使用scatter_update。对于ndims = 1,这是一个有效的选项,但是比这个实现的效率要低。...更新量为Q-1+P-K阶张量,形状为:[d_0, ..., d_{Q-2}, self.shape[K], ..., self.shape[P-1]].例如,我们想把4个散射元素加到一个秩为1的张量到8...更新量为Q-1+P-K阶张量,形状为:[d_0, ..., d_{Q-2}, self.shape[K], ..., self.shape[P-1]].例如,我们想把4个散射元素加到一个秩为1的张量到8...更新量为Q-1+P-K阶张量,形状为:[d_0, ..., d_{Q-2}, self.shape[K], ..., self.shape[P-1]].例如,我们想把4个散射元素加到一个秩为1的张量到8

    2.8K40

    解决ValueError: Cannot feed value of shape (1, 10, 4) for Tensor Placeholder:0 , w

    当我们尝试将一个形状为​​(1, 10, 4)​​的数据作为输入传递给这个placeholder张量时,就会出现上述错误。这是因为数据的形状与定义的placeholder张量的形状不匹配。...5, 4))3....总结通过对输入数据的形状和模型定义进行检查和调整,我们可以解决"ValueError: Cannot feed value of shape (1, 10, 4) for Tensor Placeholder..., 5, 4], name='input_data')# 假设我们的模型做一些简单的操作,如将输入数据的第一个维度和最后一个维度相加output_data = tf.reduce_sum(input_data...Placeholder张量的主要特点如下:形状(shape)不固定: 在定义Placeholder时,通常会将形状(shape)设置为None或部分确定的值,以便在运行时能够接受不同形状的输入数据。

    55630
    领券