def load_image(image_path): image = tf.io.read_file(image_path) #读取路径 image = tf.image.decode_jpeg(image) #进行解码操作,将图像解码成unit8张量 image = tf.image.resize(image, [128, 128], method='nearest')#将输入数据的图片缩放到我们指定的图片大小 return image num = 0 for data in train_data: train_images.append(load_image(data[0])) #append()列表末尾添加新的对象 train_labels.append([data[1]]) num += 1 if num % 1000 == 0: print('图片加载:%s' % (num )) x_train = np.zeros(shape = [num, 128, 128, 3], dtype = np.float32)#返回一个给定形状和类型的用0填充的数组 for i in range(len(train_images)): x_train[i,:] = train_images[i] return x_train, np.array(train_labels)#np.array将train_labels转化为一个数组 except: log.logging.error('%s' % traceback.format_exc())
时间: 2024-02-14 16:22:01 浏览: 147
loading图片
这段代码是用来加载训练数据集中的图片,并将它们缩放到指定的大小,然后将它们转换为一个 NumPy 数组 x_train 和一个标签数组 train_labels,以便进行模型训练。其中,load_image 函数用来读取指定路径下的图片,并将它们解码成 uint8 张量,然后进行缩放操作。接着,通过一个 for 循环遍历训练数据集中的每一个数据,并将它们的图片和标签分别添加到两个列表 train_images 和 train_labels 中。最后,通过 NumPy 的 zeros 函数创建一个全是 0 的数组 x_train,然后将 train_images 中的图片数据复制到 x_train 数组中,最后将 train_labels 转换成一个 NumPy 数组返回。
阅读全文