python遇到过哪些报错

类型不匹配

ValueError: Tensor conversion requested dtype int32 for Tensor with dtype float32 :’ Tensor (”b : 。”, shape=(2 ,), dtype=float32) ’ 
import tensorflow as tf

a = tf.constant([1, 2], name="a")
b = tf.constant([2.0, 3.0], name="b")
result = a + b
sess = tf.Session()
print(sess.run(result))

如果将第一个加数指定成实数类型"a= tf.constant([l, 2], name="a” , dtype=tf.float32)", 那么两个加数的类型相同就不会报错了 。 如果不指定类型, TensorFlow 会给出默认的类型, 比如不带小数点的数会被默认为 int32,带小数点的会默认为 float32。 因为使用默认类型有 可能会导致潜在的类型不匹配问题,所以一般建议通过指定 dtype 来明确指出变量或者常 量的类型。 TensorFlow 支持 14 种不同的类型, 主要包括了实数(tf.丑oat32、 tf.float64)、整 数(tf.int8、 tf.intl6、 tf.int32、 tf.int64、 tf.uint8)、布尔型 Ctf.bool) 和复数(tf.complex64、 tf.complex128 )。

全部评论

相关推荐

点赞 评论 收藏
分享
03-15 20:26
已编辑
电子科技大学 C++
T3题面:给一个3e5数组,每次询问长度为len的子数组乘积的和,如果子数组乘积>1e9,则视为0.赛后一分钟想出来了,比赛时打了个暴力+线段树注意到1e9大约是2^30, 因此len长度如果>30就直接输出0,30以内做一个记忆化就行,复杂度O(30*n)感觉是以前比赛做过的题,忘了怎么做了。。。---upd: 忘了数据范围了,如果有0,1的话那这样也不行
blueswiller:给出一个做法,刚刚才想到,应该没问题,时间复杂度为 O(max(30n, nlogn)): 1. 根据 0 切分数组。2. 现在问题转化为>=1 的情况,我们首先维护每一个数前一个 > 1 的数的位置,同时维护一个长度的差分数组,初始值全为 0。3. 我们从每一个数 i 开始向前跳,至多跳 30 次,维护这个过程中的乘积,于是得到 30 个区间加和。举例:假设从 j1 跳到 j2 ,相当于对查询长度 (i- j1 + 1) 至 (i - j2) 贡献 a_i * ... * a_j1。4. 对于所有区间加和,我们采用差分数组结合树状数组对其进行维护,由于长度至多为 n ,树状数组构建的复杂度为 O(nlogn),于是,构建阶段的复杂度为 O(max(30n, nlogn))。在线单次查询的复杂度为树状数组查询的复杂度 O(logn)。
投递淘天集团等公司10个岗位 > 笔试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务