我有一个数据集表示为NumPy形状矩阵,(num_features, num_examples)我希望将其转换为TensorFlow类型tf.Dataset.
我正在努力去理解这两种方法之间的区别:Dataset.from_tensors和Dataset.from_tensor_slices.什么是正确的,为什么?
TensorFlow文档(链接)表示两种方法都接受张量的嵌套结构,尽管使用from_tensor_slices张量时在第0维应该具有相同的大小.
我有一个python类SceneGenerator,它有多个成员函数用于预处理和生成器函数generate_data().基本结构是这样的:
class SceneGenerator(object):
def __init__(self):
# some inits
def generate_data(self):
"""
Generator. Yield data X and labels y after some preprocessing
"""
while True:
# opening files, selecting data
X,y = self.preprocess(some_params, filenames, ...)
yield X, y
Run Code Online (Sandbox Code Playgroud)
我在keras model.fit_generator()函数中使用了类成员函数sceneGenerator.generate_data()来从磁盘读取数据,对其进行预处理并将其生成.在keras中,如果workers参数of model.fit_generator()设置为> 1 ,则在多个CPU线程上完成.
我现在想SceneGenerator在tensorflow中使用相同的类.我目前的做法是:
sceneGenerator = SceneGenerator(some_params)
for X, y in sceneGenerator.generate_data():
feed_dict = {ops['data']: X,
ops['labels']: y,
ops['is_training_pl']: True
}
summary, step, _, loss, prediction = sess.run([optimization_op, loss_op, pred_op],
feed_dict=feed_dict)
Run Code Online (Sandbox Code Playgroud)
但是,这很慢并且不使用多个线程.我发现 …
我有一个大小的hdf5训练数据集(21760, 1, 33, 33).21760是整个培训样本数量.我想使用大小的小批量训练数据128来训练网络.
我想问一下:
如何128从每个具有张量流的整个数据集中提供小批量训练数据?
我在一所大学,所有的文件系统都在远程系统中,无论我在哪里使用我的帐户登录,我都可以访问我的主目录。即使我通过 SSH 命令登录 GPU 服务器。这是我使用GPU服务器读取数据的情况。
目前,我使用 PyTorch 在 ImageNet 上从头开始训练 ResNet,我的代码仅使用同一台计算机中的所有 GPU,我发现“torchvision.datasets.ImageFolder”将花费近两个小时。
您能否提供一些如何加快“torchvision.datasets.ImageFolder”速度的经验?非常感谢。
image-processing computer-vision imagenet pytorch torchvision
在线提供的所有内容都太复杂了。我的数据库很大,我分部分导出。我现在有三个 .h5 文件,我想将它们组合成一个 .h5 文件以供进一步工作。我该怎么做?
python ×3
tensorflow ×3
h5py ×1
hdf ×1
hdf5 ×1
imagenet ×1
keras ×1
pytables ×1
pytorch ×1
torchvision ×1