TypeError: Value passed to parameter 'paddings' has DataType float32 not in list balabala~

在运行程序时遇到以下报错:

TypeError: Value passed to parameter 'paddings' has DataType float32 not in list of allowed values: int32, int64
在这里插入图片描述

这段代码在我的Linux系统下,python2环境中是没问题的。但在Windows环境下python3环境下就出现问题了。
了解了下,原因在于两个版本下对float的处理方法不同,python2环境下在运行 / 除法操作时产生的结果将直接忽略小数,直接取整数。而在python3环境下,运行 / 除法操作是会保留小数的。

所以检查代码,必然是这里的问题了:在这里插入图片描述
对应到代码中:

def conv2d(x, input_filters, output_filters, kernel, strides, mode='REFLECT'):
    with tf.variable_scope('conv'):

        shape = [kernel, kernel, input_filters, output_filters]
        weight = tf.Variable(tf.truncated_normal(shape, stddev=0.1), name='weight')
		x_padded = tf.pad(x, [[0, 0], [kernel / 2, kernel / 2], [kernel / 2, kernel / 2], [0, 0]]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值