梗概

  • 用固定位的数来表示一个数字
  • one-Hot编码的数只有一位是非零, 其他都是0
    • 用位权来表示数字
      • 即每一位都对应一个数字

实例:

  • 用10位数来表示0-9范围的数字:
rst = tf.one_hot([1, 8, 9, 10, 11], 10)
print(rst)
"""
[[0. 1. 0. 0. 0. 0. 0. 0. 0. 0.] 对应1
 [0. 0. 0. 0. 0. 0. 0. 0. 1. 0.] 对应8
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 1.] 对用9
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] 超出范围,用全0表示
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]] 超出范围,用全0表示
 ,shape=(5, 10), dtype=float32) 
"""