我正在尝试实现torch.nn.functional.pad mode =“replicate”,形状=(1,3,4,4),填充=(-1,1,-2,1)。
Check failed: lhs_padding >= 0 && lhs_padding <= dim_size - 1
Frames:
Info:
@ 0x7fd059fb4810 ef_log::FatalLog::~FatalLog()
@ 0x7fd0d881760c torch_dtu::ShapeInference::InferReplicationPadBackwardOpShape()
@ 0x7fd0d853cf6f torch_dtu::Node::replication_pad2d_backward()
@ 0x7fd0d84791c2 torch_dtu::XLANativeFunctions::replication_pad2d_backward()
@ 0x7fd0d8612dcd c10::impl::wrap_kernel_functor_unboxed_<>::call()
@ 0x7fd13dbd4980 at::_ops::replication_pad2d_backward::redispatch()
@ 0x7fd13f44ec71 torch::autograd::VariableType::(anonymous namespace)::replication_pad2d_backward()
@ 0x7fd13f44f24c c10::impl::wrap_kernel_functor_unboxed_<>::call()
@ 0x7fd13dc3e36e at::_ops::replication_pad2d_backward::call()
@ 0x7fd13f1d889a torch::autograd::generated::ReplicationPad2DBackward0::apply()
@ 0x7fd13f8baaf7 torch::autograd::Node::operator()()
@ 0x7fd13f8b5d5b torch::autograd::Engine::evaluate_function()
@ 0x7fd13f8b6a8a torch::autograd::Engine::thread_main()
@ 0x7fd13f8ae4a9 torch::autograd::Engine::thread_init()
@ 0x7fd153576a33 torch::autograd::python::PythonEngine::thread_init()
@ 0x7fd1546036df +0xbd6de)
@ 0x7fd1579196db start_thread
@ 0x7fd157c5261f clone
有人能帮我解决这个负面填充问题吗?
1条答案
按热度按时间enxuqcxy1#
此错误通知您所提供的填充值无效。
在
pad
函数中,padding
参数是四个整数的元组,表示要添加到输入Tensor每一侧的填充元素数。错误消息中提到的lhs_padding
值是指Tensor左侧沿着第一维的填充。dim_size
值是指输入Tensor第一维的大小。在您的示例中,您为Tensor的左侧沿着第一个维提供了负填充值-1。这是不允许的,因为填充值必须为非负值,并且不得超过维的大小减1。
若要修复此错误,需要确保提供的填充值为非负值,并且不超过相应维度的大小减1。