精华内容
下载资源
问答
  • 一个矩阵有6个参数 我想要分别取到这6个参数值,如何实现? 有没有原生API?
  • a(x:end)表示取出a矩阵中第x个至最后一个元素 例如 a=[1:10] b=a(5:end) 执行结果 b=[5 6 7 8 9 10] 作为特例,取出a最后一个元素可以使用 b=a(end) 执行结果 b=10 任意取出Array倒数m个元素:Array(end-...

    a(x:end)表示取出a矩阵中第x个至最后一个元素
    例如
    a=[1:10]
    b=a(5:end)
    执行结果
    b=[5 6 7 8 9 10]

    作为特例,取出a的最后一个元素可以使用
    b=a(end)
    执行结果
    b=10

     

     

     

    任意取出Array的倒数m个元素:Array(end-(m-1):end)
    例如:
    a=1:10;
    %提取最后5个元素,输出给b
    b=a(end-4:end)

    输出为
    b =

    6 7 8 9 10

    展开全文
  • 在神经网络计算过程中,经常会遇到需要将矩阵中的某些元素取出并且单独进行计算的步骤(例如MLE,Attention等操作)。那么在 tensorflow 的 Variable 类型中如何做到这一点呢?首先假设 Variable 是一个一维数组 A:...

    在神经网络计算过程中,经常会遇到需要将矩阵中的某些元素取出并且单独进行计算的步骤(例如MLE,Attention等操作)。那么在 tensorflow 的 Variable 类型中如何做到这一点呢?

    首先假设 Variable 是一个一维数组 A:

    import numpy as np

    import tensorflow as tf

    a = np.array([1, 2, 3, 4, 5, 6, 7, 8])

    A = tf.Variable(a)

    我们把我们想取出的元素的索引存到 B 中,如果我们只想取出数组 A 中的某一个元素,则 B 的设定为:

    b = np.array([3])

    B = tf.placeholder(dtype=tf.int32, shape=[1])

    由于我们的索引坐标只有一维,所以 shape=1。

    取出元素然后组合成tensor C 的操作如下:

    C = tf.gather_nd(A, B)

    运行:

    init = tf.global_variables_initializer()

    with tf.Session() as sess:

    init.run()

    feed_dict = {B: b}

    result = sess.run([C], feed_dict=feed_dict)

    print result

    得到:

    [4]

    如果我们想取出一维数组中的多个元素,则需要把每一个想取出的元素索引都单独放一行:

    b = np.array([[3], [2], [5], [0]])

    B = tf.placeholder(dtype=tf.int32, shape=[4, 1])

    此时由于我们想要从一维数组中索引 4 个数,所以 shape=[4, 1]

    再次运行得到:

    [4 3 6 1]

    华丽丽的分割线

    假设 Variable 是一个二维矩阵 A:

    a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])

    A = tf.Variable(a)

    首先我们先取出 A 中的一个元素,需要给定该元素的行列坐标,存到 B 中:

    b = np.array([2,3])

    B = tf.placeholder(dtype=tf.int32, shape=[2])

    注意由于我们输入的索引坐标变成了二维,所以shape也变为2。

    取出元素然后组合成tensor C:

    C = tf.gather_nd(A, B)

    运行:

    init = tf.global_variables_initializer()

    with tf.Session() as sess:

    init.run()

    feed_dict = {B: b}

    result = sess.run([C], feed_dict=feed_dict)

    print result

    得到:

    [12]

    同样的,如果我们想取出二维矩阵中的多个元素,则需要把每一个想取出的元素的索引都单独放一行:

    b = np.array([[2, 3], [1, 0], [2, 2], [0, 1]])

    B = tf.placeholder(dtype=tf.int32, shape=[4, 2])

    此时由于我们想要从二维矩阵中索引出 4 个数,所以 shape=[4, 2]

    再次运行得到:

    [12 5 11 2]

    华丽丽的分割线

    推广到 n 维矩阵中:

    假设 A 是 Variable 类型的 n 维矩阵,我们想取出矩阵中的 m 个元素,那么首先每个元素的索引坐标要表示成列表的形式:

    index = [x1, x2, x3, ..., xn]

    其中 xj 代表该元素在 n 维矩阵中第 j 维的位置。

    其次每个坐标要单独占索引矩阵的一行:

    index_matrix = [[x11, x12, x13, ..., x1n],

    [x21, x22, x23, ..., x2n],

    [x31, x32, x33, ..., x3n],

    .......................................,

    [xm1, xm2, xm3, ..., xmn]]

    最后用 tf.gather_nd() 函数替换即可:

    result = tf.gather_nd(A, index_matrix)

    华丽丽的分割线

    [注] 问题出自:https://stackoverflow.com/questions/44793286/slicing-tensorflow-tensor-with-tensor

    以上这篇将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    展开全文
  • 在神经网络计算过程中,经常会遇到需要将矩阵中的某些元素取出并且单独进行计算的步骤(例如MLE,Attention等操作)。那么在 tensorflow 的 Variable 类型中如何做到这一点呢? 首先假设 Variable 是一个一维...

    在神经网络计算过程中,经常会遇到需要将矩阵中的某些元素取出并且单独进行计算的步骤(例如MLE,Attention等操作)。那么在 tensorflow 的 Variable 类型中如何做到这一点呢?


    首先假设 Variable 是一个一维数组 A:

    import numpy as np

    import tensorflow as tf

    a = np.array([1, 2, 3, 4, 5, 6, 7, 8])

    A = tf.Variable(a)

    我们把我们想取出的元素的索引存到 B 中,如果我们只想取出数组 A 中的某一个元素,则 B 的设定为:

    b = np.array([3])

    B = tf.placeholder(dtype=tf.int32, shape=[1])

    由于我们的索引坐标只有一维,所以 shape=1。

    取出元素然后组合成tensor C 的操作如下:

    C = tf.gather_nd(A, B)

    运行:

    init = tf.global_variables_initializer()

    with tf.Session() as sess:
        init.run()
        feed_dict = {B: b}
        result = sess.run([C], feed_dict=feed_dict)
        print result

    得到:

    [4]


    如果我们想取出一维数组中的多个元素,则需要把每一个想取出的元素索引都单独放一行:

    b = np.array([[3], [2], [5], [0]])

    B = tf.placeholder(dtype=tf.int32, shape=[4, 1])

    此时由于我们想要从一维数组中索引 4 个数,所以 shape=[4, 1]

    再次运行得到:

    [4 3 6 1]


    华丽丽的分割线


    假设 Variable 是一个二维矩阵 A:

    a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])

    A = tf.Variable(a)

    首先我们先取出 A 中的一个元素,需要给定该元素的行列坐标,存到 B 中:

    b = np.array([2,3])

    B = tf.placeholder(dtype=tf.int32, shape=[2])

    注意由于我们输入的索引坐标变成了二维,所以shape也变为2。

    取出元素然后组合成tensor C:

    C = tf.gather_nd(A, B)

    运行:

    init = tf.global_variables_initializer()

    with tf.Session() as sess:
        init.run()
        feed_dict = {B: b}
        result = sess.run([C], feed_dict=feed_dict)
        print result

    得到:

    [12]


    同样的,如果我们想取出二维矩阵中的多个元素,则需要把每一个想取出的元素的索引都单独放一行:

    b = np.array([[2, 3], [1, 0], [2, 2], [0, 1]])

    B = tf.placeholder(dtype=tf.int32, shape=[4, 2])

    此时由于我们想要从二维矩阵中索引出 4 个数,所以 shape=[4, 2]

    再次运行得到:

    [12  5 11  2]

    华丽丽的分割线


    推广到 n 维矩阵中:

    假设 A 是 Variable 类型的 n 维矩阵,我们想取出矩阵中的 m 个元素,那么首先每个元素的索引坐标要表示成列表的形式:

    index = [x1, x2, x3, ..., xn]

    其中 xj 代表该元素在 n 维矩阵中第 j 维的位置。

    其次每个坐标要单独占索引矩阵的一行:

    index_matrix = [[x11, x12, x13, ..., x1n],

                                 [x21, x22, x23, ..., x2n],

                                 [x31, x32, x33, ..., x3n],

                                 .......................................,

                                 [xm1, xm2, xm3, ..., xmn]]

    最后用 tf.gather_nd() 函数替换即可:

    result = tf.gather_nd(A, index_matrix)


    华丽丽的分割线


    [注] 问题出自:https://stackoverflow.com/questions/44793286/slicing-tensorflow-tensor-with-tensor

    展开全文
  • 在神经网络计算过程中,经常会遇到需要将矩阵中的某些元素取出并且单独进行计算的步骤(例如MLE,Attention等操作)。那么在 tensorflow 的 Variable 类型中如何做到这一点呢? 首先假设 Variable 是一个一维数组 A...
  • 更多python教程请到: 菜鸟教程www.piaodoo.com人人影视www.sfkyty.com16影视www.591319.com星辰影院www.591319.com在神经网络计算过程中,经常会遇到需要将矩阵中的某些元素取出并且单独进行计算的步骤(例如MLE,...

    更多python教程请到: 菜鸟教程www.piaodoo.com

    人人影视www.sfkyty.com

    16影视www.591319.com

    星辰影院www.591319.com

    在神经网络计算过程中,经常会遇到需要将矩阵中的某些元素取出并且单独进行计算的步骤(例如MLE,Attention等操作)。那么在 tensorflow 的 Variable 类型中如何做到这一点呢?

    首先假设 Variable 是一个一维数组 A:

    import numpy as np

    import tensorflow as tf

    a = np.array([1, 2, 3, 4, 5, 6, 7, 8])

    A = tf.Variable(a)

    我们把我们想取出的元素的索引存到 B 中,如果我们只想取出数组 A 中的某一个元素,则 B 的设定为:

    b = np.array([3])

    B = tf.placeholder(dtype=tf.int32, shape=[1])

    由于我们的索引坐标只有一维,所以 shape=1。

    取出元素然后组合成tensor C 的操作如下:

    C = tf.gather_nd(A, B)

    运行:

    init = tf.global_variables_initializer()

    with tf.Session() as sess:

    init.run()

    feed_dict = {B: b}

    result = sess.run([C], feed_dict=feed_dict)

    print result

    得到:

    [4]

    如果我们想取出一维数组中的多个元素,则需要把每一个想取出的元素索引都单独放一行:

    b = np.array([[3], [2], [5], [0]])

    B = tf.placeholder(dtype=tf.int32, shape=[4, 1])

    此时由于我们想要从一维数组中索引 4 个数,所以 shape=[4, 1]

    再次运行得到:

    [4 3 6 1]

    华丽丽的分割线

    假设 Variable 是一个二维矩阵 A:

    a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])

    A = tf.Variable(a)

    首先我们先取出 A 中的一个元素,需要给定该元素的行列坐标,存到 B 中:

    b = np.array([2,3])

    B = tf.placeholder(dtype=tf.int32, shape=[2])

    注意由于我们输入的索引坐标变成了二维,所以shape也变为2。

    取出元素然后组合成tensor C:

    C = tf.gather_nd(A, B)

    运行:

    init = tf.global_variables_initializer()

    with tf.Session() as sess:

    init.run()

    feed_dict = {B: b}

    result = sess.run([C], feed_dict=feed_dict)

    print result

    得到:

    [12]

    同样的,如果我们想取出二维矩阵中的多个元素,则需要把每一个想取出的元素的索引都单独放一行:

    b = np.array([[2, 3], [1, 0], [2, 2], [0, 1]])

    B = tf.placeholder(dtype=tf.int32, shape=[4, 2])

    此时由于我们想要从二维矩阵中索引出 4 个数,所以 shape=[4, 2]

    再次运行得到:

    [12 5 11 2]

    华丽丽的分割线

    推广到 n 维矩阵中:

    假设 A 是 Variable 类型的 n 维矩阵,我们想取出矩阵中的 m 个元素,那么首先每个元素的索引坐标要表示成列表的形式:

    index = [x1, x2, x3, ..., xn]

    其中 xj 代表该元素在 n 维矩阵中第 j 维的位置。

    其次每个坐标要单独占索引矩阵的一行:

    index_matrix = [[x11, x12, x13, ..., x1n],

    [x21, x22, x23, ..., x2n],

    [x31, x32, x33, ..., x3n],

    .......................................,

    [xm1, xm2, xm3, ..., xmn]]

    最后用 tf.gather_nd() 函数替换即可:

    result = tf.gather_nd(A, index_matrix)

    华丽丽的分割线

    [注] 问题出自:https://stackoverflow.com/questions/44793286/slicing-tensorflow-tensor-with-tensor

    以上这篇将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持菜鸟教程www.piaodoo.com。

    展开全文
  • 矩阵是一个列表,矩阵中的一个元素也是一个列表。在python中一不能声明变量int,二不能列出维数。我们只能利用列表中夹带列表形式表示。以实际例子为例,想将文件中如下格式的数据读取出来,文件中的每行数据是一...
  • 3.18 需要根据条件把一个复杂的表达式赋给两个变量中的一个。可以用下面这样的代码吗?((condition)?a:b)=complicated_expression; 3.19 我有些代码包含这样的表达式。a?b=c:d有些编译器可以接受,有些却不能。为...
  • 《你必须知道495C语言问题》

    热门讨论 2010-03-20 16:41:18
    3.18 需要根据条件把一个复杂的表达式赋给两个变量中的一个。可以用下面这样的代码吗?((condition) ? a : b)= complicated_expression; 41  3.19 我有些代码包含这样的表达式。a ? b=c : d 有些编译器可以接受...
  • 3.18 需要根据条件把一个复杂的表达式赋给两个变量中的一个。可以用下面这样的代码吗?((condition) ? a : b)= complicated_expression; 41  3.19 我有些代码包含这样的表达式。a ? b=c : d 有些编译器可以接受...
  • Random Flip Matrix中碰到了如何随机地挑选矩阵中的一个元素的问题。实际上这题目的思路并不难想。 原始算法 step1:生成从0到所剩元素个数之间的随机数kkk; step2:从头开始开始遍历,找到第kkk个尚未取出的...
  • 1.0.7 如果一个传感器对应物理世界中的一个小片,如何能让多个传感器对应场景中的同一个小片? 2 1.0.8 什么是图像中一个像素位置亮度的物理含义? 3 1.0.9 为什么图像常用512×512,256×256,128×128 等来表示...
  • (3)删除单链表中的一个结点(Del_LinkList) (4)两个有序链表求并(Union) (5)归并两个有序链表(MergeList_L) (6)两个有序链表求交(ListIntersection_L) (7)两个有序链表求差(SubList_L) 3. 栈和队列 ...
  • 1.程序是使用邻接矩阵来表示图的,因为图顶点的致密性,矩阵为1表示两个顶点连接上了。 2. dfs_visited[c] = 1 表示访问过了 3. 利用二维数组的一行为1的...6. bfs:每次队列不空的时候,均应该取出一个节点 并将...
  • 众所周知,MATLAB拥有强大的矩阵运算能力,灵活多变的外部应用程序编程接口,作为矩阵数值运算的首选工具具有无可比拟的强大优势,但是其体积过于庞大,作为仿MATLAB的一个简化软件Scilab因此诞生。而在符号运算...
  • 10.3输入10个整数,将其中最小的数与第一个数对换,把最大的一个数与最后一个对换。写3个函数:(1)输入10个数;(2)进行处理;(3)输出10个数。 74 10.4有n个整数,使其前面各数顺序向后移m个位置,最后m个数...
  • LINGO软件学习

    2009-08-08 22:36:50
    当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口: 外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGO ...
  • 数据结构演示软件

    2013-06-02 21:32:36
    (3)删除单链表中的一个结点(Del_LinkList) (4)两个有序链表求并(Union) (5)归并两个有序链表(MergeList_L) (6)两个有序链表求交(ListIntersection_L) (7)两个有序链表求差(SubList_L) 3. 栈和队列 ...
  • 面向对象方法中的对象,是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位,由一组属性和一组行为构成。 面向对象的方法将数据及对数据的操作方法放在一起,作为一个相互依存、不可分离的整体--...
  • 预编译概念搜索技能搜索用在找出第一个邮箱手机提取findall字符串切割筛选正则表达式正则表达式替换单个字符判断括号选择一个字符正则表达式次数正则开头结尾括号与选择正则表达式特殊符号day19down 递归与爬虫...

空空如也

空空如也

1 2
收藏数 21
精华内容 8
关键字:

如何取出矩阵中的一个元素