您的位置 首页 编程知识

高效的错误处理程序

分类任务是人工智能中最常见的任务,因为它需要很少的库。我尝试使用在线编译器的资源进行编写,但不了解工作的复杂性…

高效的错误处理程序

分类任务是人工智能中最常见的任务,因为它需要很少的库。我尝试使用在线编译器的资源进行编写,但不了解工作的复杂性。

def rle_decode(mask_rle, shape=(1280, 1918, 1)):     '''     mask_rle: run-length as string formated (start length)     shape: (height,width) of array to return      returns numpy array, 1 - mask, 0 - background     '''     img = np.zeros(shape[0]*shape[1], dtype=np.uint8)      s = mask_rle.split()     starts, lengths = [np.asarray(x, dtype=int) for x in (s[0:][::2], s[1:][::2])]     starts -= 1     ends = starts + lengths         for lo, hi in zip(starts, ends):         img[lo:hi] = 1      img = img.reshape(shape)     return img 
登录后复制

例如,使用解码掩码0/1的功能,您可以依赖它们的长度。但要生成神经网络的批量数据包,您仍然需要监控当前结果。

def keras_generator(gen_df, batch_size):     while true:         x_batch = []         y_batch = []          for i in range(batch_size):             img_name, mask_rle = gen_df.sample(1).values[0]              img = cv2.imread('data/train/{}'.format(img_name))             mask = rle_decode(mask_rle)              img = cv2.resize(img, (256, 256))              mask = cv2.resize(mask, (256, 256))              x_batch += [img]              y_batch += [mask]          x_batch = np.array(x_batch) / 255.          y_batch = np.array(y_batch)          yield x_batch, np.expand_dims(y_batch, -1) 
登录后复制
  1. 我喜欢将结果的中间输出与代码进行眼神交流
  2. 如果结果似乎不太令人满意,我会编辑之前的函数
im_id = 5 fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(25, 25)) axes[0].imshow(x[im_id])  axes[1].imshow(pred[im_id, ..., 0] > 0.5)   plt.show() 
登录后复制

结果的输出=保证与编写的代码接触。在这种情况下,不需要异常处理。

以上就是高效的错误处理程序的详细内容,更多请关注php中文网其它相关文章!

本文来自网络,不代表四平甲倪网络网站制作专家立场,转载请注明出处:http://www.elephantgpt.cn/4023.html

作者: nijia

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

18844404989

在线咨询: QQ交谈

邮箱: 641522856@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部