如何将布尔的张量打包为int32张量的位?

丢失

我正在TensorFlow 1.15中尝试位操作API。

我有一个Tensorof bool(或int8带有0或1个值),并且我想将TrueorFalse密集地包装到的位中int32 Tensor

例如(假设目标是int8),给定Tensor形状16 [0,0,0,0, 0,0,0,1, 0,0,0,1, 0,0,1,0],我想得到Tensor形状2的a[0x01, 0x12]

我如何有效地做到这一点?

TensorFlow 2.x是否为此提供更好的操作?

原来Tensor是比较运算符的结果。有没有办法使比较Tensor直接返回位打包

PS现在,我将原始Tensor形状重塑为32xN,然后通过恒定的32x1张量进行左移:[31..0],然后沿第一维求和。

TF_Support

如果要在数组中使用整数(1和0)

您可以尝试这种通用方法。

import tensorflow as tf  # TensorFlow 2.1.0
import numpy as np


def convert_bits(storage, bit_array, bit_size):
  for n_bit in range(bit_size):
    storage.assign_add(tf.reverse(bit_array, axis = [-1])[n_bit]*(2**n_bit))

data = [0,1,0,0,0,0,0,1,0,0,0,0,1,0,1,0]
tf_data = tf.convert_to_tensor(data)

bit_size = 8 ## int8
np_array = np.array([])

for index in range(int(len(data)/bit_size)):
  temp_storage = tf.Variable(initial_value=0)
  convert_bits(temp_storage, tf_data[int(index*bit_size):int((index+1)*bit_size)], bit_size)
  np_array = np.append(np_array, temp_storage.numpy())
  print(np_array)

tf_array = tf.convert_to_tensor(np_array, dtype = tf.int32)

print(tf_array) # tf.Tensor([65 10], shape=(2,), dtype=int32)

您可以tf.reverse根据字节序来修改和删除另外,如果您可以在代码中使用TensorFlow操作和数据类型,则应尽可能使用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法计算作为输入#1(从零开始)的加法运算,它应该是int32张量,但是是双张量[Op:Add]

来自分类Dev

ValueError:张量转换请求dtype int32的张量为dtype float32

来自分类Dev

如何将日期和时间打包为32位?

来自分类Dev

pytorch:如何堆叠2张量

来自分类Dev

TensorFlow:将float64张量转换为float32

来自分类Dev

如何将pytorch张量列表分离为数组

来自分类Dev

在张量流中,如何将张量的行重置为零?

来自分类Dev

如何将张量流张量切成多个

来自分类Dev

如何将张量列表乘以 TensorFlow 上的单个张量?

来自分类Dev

如何将张量保存到TFRecord?

来自分类Dev

如何将Numba用于Pytorch张量?

来自分类Dev

如何将稀疏张量写入 tfrecords

来自分类Dev

如何将Tensorflow.js中的3D张量重塑为4D张量?

来自分类Dev

如何将4个9位和1个4位int变量打包为python中的5个8位变量?

来自分类Dev

如何将4个9位和1个4位int变量打包为python中的5个8位变量?

来自分类Dev

如何将 Int32 转换为以 0x 开头的字符串(基数为 16)?

来自分类Dev

如何将PyTorch张量分块为具有重叠的指定存储桶大小?

来自分类Dev

如何将 theano 张量理解为矩阵和 keras.backend 变量?

来自分类Dev

如何使用tf.range创建complex128张量

来自分类Dev

如何在ssd_mobilenet_v1张量流中增加num_classes

来自分类Dev

计算张量后,如何将其显示为图像?

来自分类Dev

如何将输出张量转换为一热张量?

来自分类Dev

如何将张量插入到 pytorch 中的另一个张量中

来自分类Dev

如何将火炬张量/存储转换为Lua表?

来自分类Dev

如何将张量写入PNG图像文件?

来自分类Dev

如何将变换应用于火炬张量

来自分类Dev

如何将张量列表转换为torch :: Tensor?

来自分类Dev

如何将Pytorch张量中的元素映射到ID?

来自分类Dev

如何将图像数据集转换为张量?

Related 相关文章

  1. 1

    无法计算作为输入#1(从零开始)的加法运算,它应该是int32张量,但是是双张量[Op:Add]

  2. 2

    ValueError:张量转换请求dtype int32的张量为dtype float32

  3. 3

    如何将日期和时间打包为32位?

  4. 4

    pytorch:如何堆叠2张量

  5. 5

    TensorFlow:将float64张量转换为float32

  6. 6

    如何将pytorch张量列表分离为数组

  7. 7

    在张量流中,如何将张量的行重置为零?

  8. 8

    如何将张量流张量切成多个

  9. 9

    如何将张量列表乘以 TensorFlow 上的单个张量?

  10. 10

    如何将张量保存到TFRecord?

  11. 11

    如何将Numba用于Pytorch张量?

  12. 12

    如何将稀疏张量写入 tfrecords

  13. 13

    如何将Tensorflow.js中的3D张量重塑为4D张量?

  14. 14

    如何将4个9位和1个4位int变量打包为python中的5个8位变量?

  15. 15

    如何将4个9位和1个4位int变量打包为python中的5个8位变量?

  16. 16

    如何将 Int32 转换为以 0x 开头的字符串(基数为 16)?

  17. 17

    如何将PyTorch张量分块为具有重叠的指定存储桶大小?

  18. 18

    如何将 theano 张量理解为矩阵和 keras.backend 变量?

  19. 19

    如何使用tf.range创建complex128张量

  20. 20

    如何在ssd_mobilenet_v1张量流中增加num_classes

  21. 21

    计算张量后,如何将其显示为图像?

  22. 22

    如何将输出张量转换为一热张量?

  23. 23

    如何将张量插入到 pytorch 中的另一个张量中

  24. 24

    如何将火炬张量/存储转换为Lua表?

  25. 25

    如何将张量写入PNG图像文件?

  26. 26

    如何将变换应用于火炬张量

  27. 27

    如何将张量列表转换为torch :: Tensor?

  28. 28

    如何将Pytorch张量中的元素映射到ID?

  29. 29

    如何将图像数据集转换为张量?

热门标签

归档