Open dribllerrad opened 6 months ago
I encountered the same issue.
After checking, I found that there is no long
type in ScalarType.h.
#define AT_FORALL_SCALAR_TYPES_WITH_COMPLEX_AND_QINTS(_) \
_(uint8_t, Byte) /* 0 */ \
_(int8_t, Char) /* 1 */ \
_(int16_t, Short) /* 2 */ \
_(int, Int) /* 3 */ \
_(int64_t, Long) /* 4 */ \
_(at::Half, Half) /* 5 */ \
_(float, Float) /* 6 */ \
_(double, Double) /* 7 */ \
...
The closest type is int64_t
.
So, this seems to be an issue caused by platform differences.
On Linux, std::is_same_v<int64_t, long> == true
,
while on my VS and your platform, std::is_same_v<int64_t, long> == false
.
We can fix this by changing long
to int64_t
in the example.
(Translated by AI)
我遇到了同样的问题
经过检查发现,在ScalarType.h里并没有long
类型
与之最近的是int64_t
所以这应该是一个平台差异所导致的问题
在linux上std::is_same_v<int64_t,long>==true
而在我的VS和你的平台上std::is_same_v<int64_t,long>==false
可以把例子里的long
改为int64_t
来修复
I'm getting a build error on a data type conversion with this example: https://github.com/pytorch/examples/tree/main/cpp/custom-dataset
Error message:
I believe the paths to libtorch and opencv are good because other sample apps using them compile fine.
I've tried playing around with some casts (both with c++ casts and torch method conversions like
.to(torch::kFloat)
) but I don't really know the library enough to troubleshoot. Removing theconst
-ness of the data also didn't help (revert of https://github.com/pytorch/examples/commit/b2832cc107c48542787d84c07c494683c2d0f409).torch env