![](/img/trans.png)
[英]Does it matter what dtype a numpy array is for input into a tensorflow/keras neural network?
[英]What is the default dtype for str like input in numpy?
我只是想确认在创建ndarray
字符串的默认数据类型是否为unicode
。 我找不到任何清楚说明这一点的参考文献。 可能是太明显了,不需要陈述。
指定dtype时:
>>> import numpy as np
>>> g = np.array([['a', 'b'],['c', 'd']], dtype='S')
>>> g
array([[b'a', b'b'],
[b'c', b'd']],
dtype='|S1')
没有指定dtype:
>>> g = np.array([['a', 'b'],['c', 'd']])
>>> g
array([['a', 'b'],
['c', 'd']],
dtype='<U1')
此外,当指定dtype时,文字b
表示什么。 根据文档,它表明bool
似乎不是这里的情况。
有人可以澄清一下吗?
b'...'
表示它是一个字节字符串,字符串数组的默认dtype取决于字符串的类型。 Unicodes(python 3字符串是unicode)是U
而Python 2 str
或Python 3 bytes
都有dtype S
您可以在NumPy文档中找到dtypes的说明
数组协议类型字符串
第一个字符指定数据类型,其余字符指定每个项目的字节数,Unicode除外,其中它被解释为字符数。 项目大小必须与现有类型相对应,否则将引发错误。 支持的种类是:
- '?' 布尔
- 'b'(带符号)字节
- 'B'无符号字节
- 'i'(签名)整数
- 'u'无符号整数
- 'f'浮点
- 'c'复杂浮点
- 'm'timedelta
- 'M'日期时间
- 'O'(Python)对象
- 'S','a'以零结尾的字节(不推荐)
- 'U'Unicode字符串
- 'V'原始数据(无效)
但是在第一种情况下,您实际上强制 NumPy将其转换为字节,因为您指定了dtype='S'
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.