Python 如何快速将jpg数据集转换为CNN的.pkl?
我很难找到这种转变的资源。我看到一些示例代码中的输入数据是.pkl格式的,而mnist数据集是.idx3 ubyte格式的。用于计算视觉的数据集格式也各不相同。我对这些格式都不熟悉,如果能对这个问题有所了解,我将不胜感激。多谢各位Python 如何快速将jpg数据集转换为CNN的.pkl?,python,image,neural-network,pickle,conv-neural-network,Python,Image,Neural Network,Pickle,Conv Neural Network,我很难找到这种转变的资源。我看到一些示例代码中的输入数据是.pkl格式的,而mnist数据集是.idx3 ubyte格式的。用于计算视觉的数据集格式也各不相同。我对这些格式都不熟悉,如果能对这个问题有所了解,我将不胜感激。多谢各位 更新:现在我使用下面的代码成功地以.tfrecords格式加载了我的图像,但是这种格式对于cnn来说似乎不可读,所以我仍在尝试修改.pkl格式的代码。然而,我的跑步都失败了 cwd='/Users/Downloads/tflearn_trai
更新:现在我使用下面的代码成功地以.tfrecords格式加载了我的图像,但是这种格式对于cnn来说似乎不可读,所以我仍在尝试修改.pkl格式的代码。然而,我的跑步都失败了
cwd='/Users/Downloads/tflearn_train/'
classes={'0','1'} #classify into 2 types
writer= tf.python_io.TFRecordWriter("train.tfrecords") #file to be produced
for index,name in enumerate(classes):
class_path=cwd+name+'/'
for img_name in os.listdir(class_path):
if (not img_name.startswith('.') and img_name != 'Thumbs.db'):
img_path=class_path+img_name #the path of every pic
img=Image.open(img_path,"r")
img= img.resize((224,224))
img_raw=img.tobytes()#transform pic into binary
example = tf.train.Example(features=tf.train.Features(feature={
"label": tf.train.Feature(int64_list=tf.train.Int64List(value=[index])),
'img_raw': tf.train.Feature(bytes_list=tf.train.BytesList(value=[img_raw]))
}))
writer.write(example.SerializeToString())
writer.close()
上面的工作很好。但我试着把
write_file = open('train.pkl', 'wb')
cPickle.dump(example, write_file, -1)
cPickle.dump(example.features.feature['label'].int64_list.value, write_file, -1)
write_file.close()
循环的内部和外部。到目前为止,在使用cPickle.load时,我未能生成一个与其他.pkl文件类似的.pkl文件
感谢您的每一个输入。Pickle将有关python对象结构的信息与数据一起存储。对于简单张量,这可能不是必需的 相反,通常的方法是将二进制格式的矩阵数据转储到文件中,然后直接重新加载到内存中。我相信用于MNIST图形数据集的“.idx3 ubyte”就是这样一个例子 如果您使用python和numpy,那么最好使用numpy的.npy格式,它使用np.load和np.dump函数稍微简化了流程:
如果需要加载二进制数据转储,请查看,谢谢您的输入。我已经成功地将这些图像和标签加载到.tfrecords表单中,但我找不到任何以这种格式加载文件以训练cnn的代码。假设tf代表tensorflow,我对此没有经验,对不起。