精华内容
下载资源
问答
  • pytorch获取Tensor

    万次阅读 2020-03-17 17:41:31
    tensor类型的变量取word_id.item()获取变量的

    对tensor类型的变量取word_id.item()获取变量的值

    展开全文
  • 今天小编就为大家分享一篇pytorch 获取tensor维度信息示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 1. 在训练过程中,获取某个参数Tensor: 获取所有Tensor的name: [tensor.name for tensor in tf.get_default_graph().as_graph_def().node] 根据name获得Tensor: bn_gamma = sess.graph.get_tensor_by_name('...

    1. 在训练过程中,获取某个参数Tensor的值:

    1. 获取所有Tensor的name: [tensor.name for tensor in tf.get_default_graph().as_graph_def().node]
    2. 根据name获得Tensor: bn_gamma = sess.graph.get_tensor_by_name('bn1_audio/batch_normalization/beta:0')
    3. sess.run(), print

    2. 只有conv1的filter, bias和bn1的gamma为nan:

    • 由于训练数据中存在nan. 
    • bn1后的max pooling层输出全为0 (∵bn1输出有0), 导致后续参数和输出看起来正常, 但是不会更新.
    展开全文
  • 获取tensorflow中tensor

    千次阅读 2019-10-02 02:06:53
    tensorflow中的tensor值获取: import tensorflow as tf #定义变量a a=tf.Variable([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]]) #定义索引 indics=[[0,0,0],[0,1,1],[0,1,2]] #把a中索引为indics的...

    tensorflow中的tensor值的获取:

    import tensorflow as tf
    
    #定义变量a
    a=tf.Variable([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]])
    
    #定义索引
    indics=[[0,0,0],[0,1,1],[0,1,2]]
    
    #把a中索引为indics的值取出
    b=tf.gather_nd(a,indics)
    
    #初始化
    init=tf.global_variables_initializer()
    with tf.Session() as sess:
        #执行初始化
        sess.run(init)
    
        #打印结果
        print(a.eval())
        print(b.eval())

     

    转载于:https://www.cnblogs.com/shixisheng/p/9353757.html

    展开全文
  • tensorflow的计算图包括tensor、operation。保存一张完整的计算图意味着同时保存两者,只需要一句话。但加载网络有痛处,在于无法当你不是作者的时候,无法快速得知网络里到底有哪些tensor、operation。 先说重点...

    下文只是个人笔记,不保证正确和详尽。

    tensorflow的计算图包括tensor、operation。保存一张完整的计算图意味着同时保存两者,只需要一句话。但加载网络有痛处,在于无法当你不是作者的时候,无法快速得知网络里到底有哪些tensor、operation。

    先说重点

    计算图里的tensor和operation几乎结伴出现(我没验证过)。定义一个variable,则它也配备一个operation;设计一个operation,则它也有对应的输出作为tensor。所有调用格式都是:

    eg
    tensor name:index w:0
    operation name w

    index怎么取的还没搞懂。
    如果没有名字(这取决于一开始训练有没有取名字),那么只能用其他接口查阅有哪些名字,再调用 ,下文会提。

    准备

    这是我测试用的网络。注释掉的部分可以用来做对比。
    tf早期的图、权重保存方式和现在的不一样,现在是分3个文件保存的:.data .meta .index,另外还有一个记录文件checkpoint。详情谷歌。

    def first():
        W = tf.Variable([[1,1,1],[2,2,2]],dtype = tf.float32,name='w')
        b = tf.Variable([[0,1,2]],dtype = tf.float32)
        c = tf.Variable([[0,1,2]],dtype = tf.float32)
        #d = tf.add(b,c)
        #e = tf.placeholder(tf.float32, [2, 2],name='holder')
        init = tf.initialize_all_variables()
        saver = tf.train.Saver()
        with tf.Session() as sess:
                sess.run(init)
                #sess.run(init,feed_dict ={e:[[1, 2], [3, 4]]})
                save_path = saver.save(sess,"_save/model.ckpt")

    获取tensor——方法一

    #-*- coding:utf-8 -*-
    import tensorflow as tf
    
    def second():
        #tf-gpu,我在evga1080上遇到了不支持的数据类型,要加一个config
        config = tf.ConfigProto(allow_soft_placement = True)
        sess = tf.Session(config = config)
        #导入图结构。
        saver = tf.train.import_meta_graph('_save/model.ckpt.meta')
        #恢复权重值。model.ckpt是我的3个文件的前缀。本来应该从checkpoint导入前缀,我的checkpoint出了点问题。
        saver.restore(sess,'_save/model.ckpt')
        var = tf.global_variables()#全部调用
        for i in var:
            print i

    以上代码会打印计算图中的所有variable,不知道为什么是重复打印两次。

    获取tensor——方法二

    #-*- coding:utf-8 -*-
    import tensorflow as tf
    from tensorflow.python import pywrap_tensorflow
    
    def third():
        checkpoint_path = "_save/model.ckpt"
        reader = pywrap_tensorflow.NewCheckpointReader("_save/model.ckpt")
        var_to_shape_map = reader.get_variable_to_shape_map()
        for key in var_to_shape_map:
            print("tensor_name: ", key)
            print(reader.get_tensor(key))#按名字调用

    以上代码打印的依然是variable,只打印一遍。

    补充
    • 如果把first()函数里的add和placeholder也加入网络,两种打印结果都不变,因为add和placeholder都是operation。
    • 以类似格式书写,可以恢复operation:
      给add/placeholder加上名字:d = tf.add(b,c,name='add'),再在加载网络后按以下两种方式调用:
        d = graph.get_operation_by_name("add")
        print d
        op = graph.get_operations()
        for i in op:
            print i
    

    会发现都可以打印出add。

    • 事实上,如果你把get系列函数名称中的operation替换成tensor,再把用到名字的地方按开头的表格修改格式,会得到对应另一种输出。也就是“定义一个variable,则它也配备一个operation;设计一个operation,则它也有对应的输出作为tensor”。原理和tensorflow的设计有关, 建议查看权威资料。
    展开全文
  • 假如 predict 是你要获取tensor,其类型为 tensorflow::Tensor auto features_ptr = predict.tensor<float, 4>(); auto N = (int) predict.dim_size(0); auto H = (int) predict.dim_size(1); auto W = ...
  • pytorch 获取tensor维度信息

    万次阅读 2018-10-18 20:35:29
    参考https://stackoverflow.com/questions/46826218/pytorch-how-to-get-the-shape-of-a-tensor-as-a-list-of-int &gt;&gt;&gt; import torch &gt;&gt;&gt; from torch.autograd import ...
  • 今天小编就为大家分享一篇根据tensor的名字获取变量的方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 使用pytorch获取tensor每行中的top k

    千次阅读 2019-10-23 21:52:06
    使用pytorch获取tensor每行中的top k 最近刚刚入门pytorch,测试完模型计算准确率需要R@1,R@5等,想获取一下tensor每行前k个大的数,奈何搜了一圈就没说到点子上的…参照numpy数组,使用了一下tensor.argsort(),...
  • 实验发现,tensorflow的tensor张量的shape不支持直接作为tf.max_pool的参数,比如下面...我在max_pool的过程中想对特征每一列进行max_pooling,但因为tensor F1张量没有,而ksize此处需要一个int类型的常量,所以tf.s
  • 根据tensor的名字获取变量的

    千次阅读 2018-11-13 09:29:41
    根据tensor的名字获取变量的 需求: 有时候使用slim这种封装好的工具,或者是在做滑动平均时,系统会帮你自动建立一些变量,但是这些变量只有名字,而没有显式的变量名,所以这个时候我们需要使用那个名字来获取其...
  • tensorflow 利用索引获取tensor特定元素

    千次阅读 2020-08-13 17:48:57
    上代码,利用tf.gather_nd函数: eg1: 常数索引 import tensorflow as tf sess=tf.Session() a=tf.constant([[0,1,2],[3,4,5]])#shape:(2,3) result=tf.gather_nd(a,[0,1])#1 sess.run(result) ...
  • 注意,tensor是不可变的对象,所谓改变tensor是指用新的替换旧的,并返回一个新的tensor对象。 numpy下的操作 取值 # 1. val_at_idx = some_array[idx] # 2. boolean_mask = [True, False, ...] val_at_mas
  • 之前在文章修改tensor值中介绍了一种tensorflow修改变量特定tensor值的方法,但此方法无比笨重,特别是反复修改多个tensor的话非常慢且容易造成内存的暴涨,因此想到一种新的替代方法,方法很简单,且非常高效,基本...
  • torch.distributed支持3中backends,'gloo', 'mpi' 和...下面以backend = 'nccl' 为例, 演示获取分布在不同GPU上的某个tensor的方式 1. reduce or all_reduce # 获取tensor的均值 box_iou = comput...
  • TF中tensor值的打印问题(+eager)

    千次阅读 2017-07-21 15:09:41
    好久没用tensorflow, 现在感觉各种不适应,关于tensor值的打印的几种情况,整理一下,备自己忘的时候再翻翻。Case1: tensor是一个常量 constant>>> import tensorflow as tf >>> a = tf.constant([1,2], name='a') >...
  • 我在max_pool的过程中想对特征每一列进行max_pooling,但因为tensor F1张量没有,而ksize此处需要一个int类型的常量,所以tf.shape(self.F1)[0]无法作为ksize的参数。 一些人的做法是固定行数,比如pointnet...
  • 创建tensor 直接创建 torch.tensor(data, dtype=None, device=None,requires_grad=False) data - 可以是list, tuple, numpy array, scalar或其他类型 dtype - 可以返回想要的tensor类型 device - 可以指定返回的...
  • 根据tensor的名字获取变量的 需求: 有时候使用slim这种封装好的工具,或者是在做滑动平均时,系统会帮你自动建立一些变量,但是这些变量只有名字,而没有显式的变量名,所以这个时候我们需要使用那个名字来获取...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,187
精华内容 6,474
关键字:

获取tensor值