将 Tensorflow strings.split 输出转换为 Int
Convert Tensorflow strings.split output to an Int
我有一个包含图像名称的 Tensorflow 数据集。
该名称的一部分是另一个 Python 字典的键。因此,我需要在我的示例代码中拆分图像名称,并将生成的字节字符串转换为我的 Python 字典的 int。但是,我无法转换为所需的整数。
我试过使用 int.from_bytes() 和 byteorder='little' 和 'big',还有 signed = 'True' 和 'False' 但我是得到一个不正确的整数。
我认为这是一项简单的任务,但我缺少一些非常基本的东西?我该如何完成这个? numpy() return?
是什么数据类型
example_img_name = b'78886804_20140704_0506.tif'
img_name_parts = tf.strings.split(example_img_name, '_')
a_id = img_name_parts[0]
byte_id = a_id.numpy()
print(int.from_bytes(byte_id, byteorder='big', signed=True))
以上代码打印整数 3978992084860809268
期望的结果是整数 78886804
a_id
是 UTF-8 字符串字节的张量,而不是整数字节。这就是为什么你总是得到错误的整数。
使用 python decode() 和 encode() 在字符串字节和 python 字符串之间进行转换。
在您的情况下,要获取 byte_id 的字符串版本,请执行 byte_id.decode()
我有一个包含图像名称的 Tensorflow 数据集。
该名称的一部分是另一个 Python 字典的键。因此,我需要在我的示例代码中拆分图像名称,并将生成的字节字符串转换为我的 Python 字典的 int。但是,我无法转换为所需的整数。
我试过使用 int.from_bytes() 和 byteorder='little' 和 'big',还有 signed = 'True' 和 'False' 但我是得到一个不正确的整数。
我认为这是一项简单的任务,但我缺少一些非常基本的东西?我该如何完成这个? numpy() return?
是什么数据类型 example_img_name = b'78886804_20140704_0506.tif'
img_name_parts = tf.strings.split(example_img_name, '_')
a_id = img_name_parts[0]
byte_id = a_id.numpy()
print(int.from_bytes(byte_id, byteorder='big', signed=True))
以上代码打印整数 3978992084860809268
期望的结果是整数 78886804
a_id
是 UTF-8 字符串字节的张量,而不是整数字节。这就是为什么你总是得到错误的整数。
使用 python decode() 和 encode() 在字符串字节和 python 字符串之间进行转换。
在您的情况下,要获取 byte_id 的字符串版本,请执行 byte_id.decode()