Caffe Python 输入层,设置数据类型为uint8
Caffe Python Layer for input, set data type to uint8
我正在尝试在 caffe 中训练 CNN。我想做大量的数据扩充,所以我使用 "Python"
层作为输入,正如 .
所建议的
但是,我从日志中看到 Caffe 对我的所有数据使用数据类型 float32
。这真的很浪费,因为我只处理 8 位整数。有没有办法告诉 caffe 使用 dtype='uint8'
?
我试图在设置顶部时对数据进行类型转换:
top[0].data[...] = someArray.astype(np.uint8, copy=False)
但这不起作用。
有什么建议吗?
据我所知,caffe 当前编译为仅支持 float32 或 float64。我想 lmdb
/leveldb
数据可以存储为 uint8
格式,但 caffe 在读取时会在内部将其转换为 float32
。
事实上,你的输入数据是 uint8
并不意味着整个处理保持这种方式,在第一个 convolution/InnerProduct 层,数据与浮点数相乘,不能再保证保持 uint8
.
所以,我想你应该忍受输入层的小 space 浪费并放弃转换为 uint8
.
我正在尝试在 caffe 中训练 CNN。我想做大量的数据扩充,所以我使用 "Python"
层作为输入,正如
但是,我从日志中看到 Caffe 对我的所有数据使用数据类型 float32
。这真的很浪费,因为我只处理 8 位整数。有没有办法告诉 caffe 使用 dtype='uint8'
?
我试图在设置顶部时对数据进行类型转换:
top[0].data[...] = someArray.astype(np.uint8, copy=False)
但这不起作用。
有什么建议吗?
据我所知,caffe 当前编译为仅支持 float32 或 float64。我想 lmdb
/leveldb
数据可以存储为 uint8
格式,但 caffe 在读取时会在内部将其转换为 float32
。
事实上,你的输入数据是 uint8
并不意味着整个处理保持这种方式,在第一个 convolution/InnerProduct 层,数据与浮点数相乘,不能再保证保持 uint8
.
所以,我想你应该忍受输入层的小 space 浪费并放弃转换为 uint8
.