java 数据类型 1d_1D CNN进行分类

我正在构建一个卷积神经网络(使用Tensorflow),它应该对一维输入进行分类 .

到目前为止,这是我的代码:

import tensorflow as tf

n_outputs = 1

batch_size = 32

x = tf.placeholder(tf.float32, [batch_size, 10, 1])

filt = tf.zeros([3, 1, 1])

output = tf.nn.conv1d(x, filt, stride=2, padding="VALID")

y = tf.placeholder(tf.int32)

logits = tf.layers.dense(output, n_outputs)

xentropy = tf.nn.sparse_softmax_cross_entropy_with_logits(labels=y, logits=logits)

correct = tf.nn.in_top_k(logits, y, 1)

当我运行上面的代码时,我收到以下错误:

回溯(最近一次调用最后一次):文件“minex.py”,第16行,正确= tf.nn.in_top_k(logits,y,1)文件“/home/jk/tensorflow/local/lib/python2.7 /site-packages/tensorflow/python/ops/gen_nn_ops.py“,第1449行,in_top_k targets = targets,k = k,name = name)文件”/home/jk/tensorflow/local/lib/python2.7/ site-packages / tensorflow / python / framework / op_def_library.py“,第763行,在apply_op中op_def = op_def)文件”/home/jk/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/framework /ops.py“,第2329行,在create_op set_shapes_for_outputs(ret)文件”/home/jk/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py“,第1717行,在set_shapes_for_outputs shapes = shape_func(op)文件“/home/jk/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py”,第1667行,在call_with_requiring中返回call_cpp_shape_fn(op, require_shape_fn = True)文件“/home/jk/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/framework/common_shapes.py”,第610行,在call_cpp_shape_fn debug_python_shape_fn,require_shape_fn)文件“/home/jk/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/framework/common_shapes.py”,第676行,在_call_cpp_shape_fn_impl中引发ValueError(错误) .message)ValueError:Shape必须是等级2,但对于输入形状为'InTopK'(op:'InTopK')的等级为3:[32,4,1] ,? .

基于错误,似乎我的问题是形状,但我不确定为什么会发生或如何纠正它 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值