【发布时间】:2023-03-12 08:25:01
【问题描述】:
我正在使用 Keras/Tensorflow 解决图像分类问题。问题是,由于我使用的是像 Pycharm 这样的 IDE(我也使用 Jupyter Notebook),我很想知道是否有任何方法可以只从目录加载数据集一次,然后当我重新运行整个.py 文件,我只是使用已加载数据中的图像?
labels = ['rugby', 'soccer']
img_size = 224
def get_data(data_dir):
data = []
for label in labels:
path = os.path.join(data_dir, label)
class_num = labels.index(label)
for img in os.listdir(path):
try:
img_arr = cv2.imread(os.path.join(path, img))[...,::-1] #convert BGR to RGB format
resized_arr = cv2.resize(img_arr, (img_size, img_size)) # Reshaping images to preferred size
data.append([resized_arr, class_num])
except Exception as e:
print(e)
return np.array(data)
Now we can easily fetch our train and validation data.
train = get_data('../input/traintestsports/Main/train')
val = get_data('../input/traintestsports/Main/test')
每次调用 get_data 时,都需要额外的时间来加载整个数据集
【问题讨论】:
-
您应该使用序列数据生成器来实现高效的输入管道。我投票结束这个问题,因为它缺乏更多细节。请添加您的问题的更多详细信息以撤回接近投票。
标签: python tensorflow machine-learning keras deep-learning