首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在未知尺寸张量上使用tf.slice

如何在未知尺寸张量上使用tf.slice
EN

Stack Overflow用户
提问于 2018-04-16 05:03:30
回答 1查看 1.6K关注 0票数 1

我正在处理一个矩阵sim_mat,它是一个大小的张量(?,?,?)。

我想像这样在上面使用tf.slice:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a=tf.slice(sim_matrix,[0,0,0],tf.stack([tf.shape(sim_matrix[0],tf.shape(sim_matrix)[1],3]))
print(a)

但这给了我张量a的大小(?,?,?)而不是(?,?)此外,当我使用a作为进一步的函数时,我得到了一条错误消息:

输入的大小(输入的深度)必须可以通过形状推断访问,但是没有看到值。

有解决办法吗?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-04-16 05:16:09

您可以使用花哨的索引编写以下等价但更易读的行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a = sim_matrix[ :, :, 0 : 3 ]

然而,这仍然会给出形状的张量( ?,?,?)。

如果您确实需要修正由此产生的张量的第三维空间,请使用tf.gather()。但是,您必须使用tf.transpose()在前后更改维度,因为tf.gather()只在第一个维度上工作。(这里也有tf.gather_nd(),但这没有帮助,因为您不想在前两个dims上指定索引,而是想取切片。)如下所示(测试代码):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import tensorflow as tf

sim_matrix = tf.placeholder( shape=(None,None,None), dtype = tf.float32 )
sim_matrixT = tf.transpose( sim_matrix, [ 2, 0, 1 ] )
aT = tf.gather( sim_matrixT, [ 0, 1, 2 ] ) # get first three
a = tf.transpose( aT, [ 1, 2, 0 ] )

print( a.get_shape() )

输出:

(?,?,3)

您还会说在进一步的函数上出现了一个错误。如果这些函数需要在它们的输入张量上固定形状,情况可能仍然是这样。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49858041

复制
相关文章
Groovy on Grails 交流活动
2008 年 InfoQ 交流活动的胶片: http://cid-5b1e02933669f469.skydrive.live.com/redir.aspx?page=browse&resid=5B1
四火
2022/07/15
1.7K0
Groovy on Grails 交流活动
Grails 引发的中文乱码问题
在一个 Grails 项目里面,我想写一个过滤不良信息的 Service,而将过滤的规则放置在 xml 文件之中。
四火
2022/07/15
6460
Grails 引发的中文乱码问题
Grails——赋能敏捷开发的利器
几年前,一个开餐厅的亲戚找我做一个网上订餐的网站(当时外卖平台还没有兴起)。一开始我是拒绝的,因为我的本职工作就是做软件开发的,业余时间真没兴趣再做。而且从头开始做一个网页应用,工程浩大,我也没有这个时间。 一个偶然的机会,我接触到了Grails,通过它几个小时就能构建一个专业的涵盖前、后端的Web应用,于是我尝试着开发那个订餐网站,结果,我利用几个周末仅用了半个人/月的功夫就做好了一个能上线接单并具备后台管理(含基本财务)的网站。刷新了我对软件开发的认知,原来开发一个复杂的含前、后端的Web应用也可以如此地快。 Grails是一个基于JVM的全栈快速Web应用开发框架,类似的框架有著名的Rails,但是它需要用Ruby语言,对于广大的Java开发者,要学习一门新语言显然不现实。于是有人基于Groovy做了Grails,可以理解为Grails = Rails on Groovy。Groovy是JVM三大衍生语言之一,相对于Closure和Scala,它可以视为是Java的简化版和脚本化,学习周期最短,上手只消半天,而且相对于有点老气的Java,动态语言Groovy编程要快速和灵活得多。所以Grails可以说是面向Java开发者的快速开发框架。
Criss@陈磊
2019/08/02
1.9K0
在 Eclipse 中配置 Grails 工程
配置 GRAILS_HOME,注意一定要配置到 build.xml 所在的文件夹:
四火
2022/07/15
1.1K0
在 Eclipse 中配置 Grails 工程
SQLite
  python就内置了SQLite,所以python使用SQLite不需要安装任何东西,直接进行使用。
yaohong
2020/06/19
1.2K0
SQLite 安装
SQLite 的一个重要的特性是零配置的,这意味着不需要复杂的安装或管理。本章将讲解 Windows、Linux 和 Mac OS X 上的安装设置。
子润先生
2021/07/02
1.2K0
Sqlite Queue(Python) – 简单的SQLite队列
基于python实现的sqlite队列,方便的处理sqlite并发。并且包含一个十分简洁好用的SQL语句包装。
KAAAsS
2022/01/14
1.6K0
SQLite 基础
第1页:limit 0, 5 第2页:limit 5, 5 第3页:limit 10, 5 … 第n页:limit 5*(n-1), 5
hrscy
2018/08/30
2.1K0
SQLite Order By
SQLite 的 ORDER BY 子句是用来基于一个或多个列按升序或降序顺序排列数据。
子润先生
2021/07/01
7130
[055][译]Architecture of SQLite
本文档描述了SQLite库的体系结构。这里的信息对于那些想理解或修改SQLite内部工作的人很有用。 附近的图表显示了SQLite的主要组件以及它们如何进行互操作。 下面的文本解释了各种组件的角色。
王小二
2020/06/08
1.4K0
[055][译]Architecture of SQLite
[058]SQLite on Android
SQLite是移动端常用的数据库,我们就来简单介绍一下SQLite在Android上的体系结构。
王小二
2020/07/17
9510
SQLite 简介
本教程帮助您了解什么是SQLite,它与SQL之间的不同,为什么需要它,以及它的应用程序数据库处理方式。
子润先生
2021/07/02
1.9K0
玩转SQLite1:SQLite简介与安装
SQLite,是一个C语言库,诞生于2000年,它实现了一个小型、 快速、 自包含、 高可靠性的SQL数据库引擎,与其他数据库管理系统(如SQL Server或Oracle)的一大区别,是它非常的轻量级(小于500Kb大小)。
xxpcb
2021/12/15
2.1K0
玩转SQLite1:SQLite简介与安装
sqlite入门
SQLite官网: https://www.sqlite.org/index.html
编程随笔
2019/09/11
7690
sqlite入门
SQLite 命令
本章将向您讲解SQLite编程人员所使用的简单却有用的命令。这些命令被称为 SQLite的点命令,这些命令的不同之处在于它们不以分号;结束。
子润先生
2021/07/02
5610
Sqlite介绍
1、SQLite简介 SQLite第一个Alpha版本诞生于2000年5月. 至今已经有4个年头了. 而在今年的5月SQLite也迎来了一个新的里程: SQLite 3. SQLite官方网站: http://www.sqlite.org/ 2、SQLite类型 SQLite的数据类型 首先你会接触到一个让你惊讶的名词: Typelessness(无类型). 对! SQLite是无类型的. 这意味着你可以保存任何类型的数据到你所想要保存的任何表的任何列中, 无论这列声明的数据类型是什么(只有在一种情
张善友
2018/01/26
1.5K0
sqlite 锁机制_SQLite读写为什么冲突
SQLite3总共有三种事务类型:BEGIN [ DEFERRED /IMMEDIATE / EXCLUSIVE ] TRANSCATION,提供以下五种的文件锁状态,按锁的级别依次是:UNLOCKED / SHARED / RESERVERD / PENDING / EXCLUSIVE。
全栈程序员站长
2022/09/22
3.1K0
SQLite操作
create table test (pkey varchar(16) primary key, value varchar(10));
一见
2018/08/07
7480
SQLite Group By
SQLite 的 GROUP BY 子句用于与 SELECT 语句一起使用,来对相同的数据进行分组。
子润先生
2021/07/01
8880
SQLite 语法
SQLite 是遵循一套独特的称为语法的规则和准则。本教程列出了所有基本的 SQLite语法,向您提供了一个SQLite快速入门。
子润先生
2021/07/02
1.2K0

相似问题

在窗体关闭时等待任务完成

10

如何在JOptionPane任务完成后提示SwingWorker

11

单击JOptionPane时按ImageIcon +关闭

11

在Java中完成线程时关闭资源

22

在完成所有任务之前关闭ThreadPoolExecutor

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文