关于float32与float64

tensorflow默认float32(dtype),numpy默认float64(np.type),matlab也是默认double。
如果在特定的编程语言里进行强制转换,最好用他们对应的语句,最好不要强行操作,可能会产生一些问题。对于tensorflow想用float64是真的难搞,这里要改,别处都要改成统一的float64。

python numpy 数据类型转换

numpy数据类型转换需要调用方法astype(),不能直接修改dtype。调用astype返回数据类型修改后的数据,但是源数据的类型不会变,需要进一步对源数据的赋值操作才能改变。例如

>>> a=np.array([1.1, 1.2])
>>> a.dtype
dtype('float64')
>>> a.astype(np.int16)
array([1, 1], dtype=int16)
>>> a.dtype
dtype('float64') #a的数据类型并没有变
>>> a=a.astype(np.int16) #赋值操作后a的数据类型变化
>>> a.dtype
dtype('int16')
>>> a
array([1, 1], dtype=int16)
 
 

    直接修改dtype数据会强制用新数据类型表示,并没有转换,因此输出错误数据

    >>> a=np.array([1.1, 1.2])
    >>> a.dtype
    dtype('float64')
    >>> a.dtype=np.int16
    >>> a.dtype
    dtype('int16') 
    >>> a
    array([-26214, -26215, -26215,  16369,  13107,  13107,  13107,  16371], dtype=int16)
    #原来float64相当于4个int16的位宽,这样强制转换后会将他们直接拆开成4个数,
    #因此原来的两个float64成了8个int16
     
     

      更多参考:

      https://blog.csdn.net/u014636245/article/details/102574938
      https://blog.csdn.net/miao20091395/article/details/79276721
      https://blog.csdn.net/a362682954/article/details/104774539/
      http://www.voidcn.com/article/p-usmplytw-bvq.html
      https://blog.csdn.net/A_pinkpig/article/details/105235294
      https://blog.csdn.net/u010496337/article/details/50572866/
      https://www.cnblogs.com/logo-88/p/9265015.html
      https://www.cnblogs.com/lavender1221/p/12641195.html
      http://cn.voidcc.com/question/p-djabxyga-bhu.html
      https://codingdict.com/sources/py/tensorflow/3477.html

      • 2
        点赞
      • 5
        收藏
        觉得还不错? 一键收藏
      • 0
        评论

      “相关推荐”对你有帮助么?

      • 非常没帮助
      • 没帮助
      • 一般
      • 有帮助
      • 非常有帮助
      提交
      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

      当前余额3.43前往充值 >
      需支付:10.00
      成就一亿技术人!
      领取后你会自动成为博主和红包主的粉丝 规则
      hope_wisdom
      发出的红包
      实付
      使用余额支付
      点击重新获取
      扫码支付
      钱包余额 0

      抵扣说明:

      1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
      2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

      余额充值