参考文章:https://cloud.tencent.com/developer/article/1761815
以natureDB为例
natureDB是一个自然图像数据集,一共有十个类别一个类别有100张照片。
利用脚本将图像的类别和和路径存入txt文件(这个很容易根据情况写就行了。。).

class nature_dataset():def __init__(self, transform = None, train = True):""":param transform: 选择transform:transform_train/test_train:param train: 是否为训练集:True/False"""f = Noneif train == True:f = open("./train.txt", "r")elif train == False:f = open("./test.txt", "r")imgs = []labels = []for line in f:line = line.strip("\n")#line = line.rstrip()word = line.split(" ")imgs.append((word[1], int(word[0])))      self.imgs = imgsself.transform = transformdef __getitem__(self, index):fn, label = self.imgs[index]img = Image.open("./images/" + fn)#此时就根据index得到了一张图片和其对应的标签if np.random.rand() < 0.5:index_1 = np.random.choice(np.arrange(len(self.imgs))[self.labels == label], 1)else:index_1 = np.random.choice(np.arrange(len(self.imgs))[self.labels != label], 1)fn_1, label_1 = self.labels[index_1]img_1 = Image.open("./images/" + fn_1)if label == label_1:label = 0else:label = 1return img, img_1, labeldef __len__(self):return len(self.imgs)

第一次看到这种语法…(仔细想想好像是这样y[True, False, …True])

import numpy as np
y = np.array([1, 1, 2, 2, 3, 3, 4, 4])
y1 = 1
idx2 = np.random.choice(np.arange(len(y))[y == y1],1)
print(idx2)
idx3 = np.random.choice(np.arange(len(y))[ y!= y1],1)
print(np.arange(len(y)))
print(np.arange(len(y))[y == y1])
print(np.arange(len(y))[y != y1])
[1]
[0 1 2 3 4 5 6 7]
[0 1]
[2 3 4 5 6 7]

孪生网络Dataset相关推荐

  1. 基于孪生网络的跟踪算法汇总

    目录 1 SINT--[论文链接](https://arxiv.org/pdf/1605.05863.pdf)--[项目链接](https://taotaoorange.github.io/proje ...

  2. 【CV】SiamFC:用于目标跟踪的全卷积孪生网络

    论文名称:Fully-Convolutional Siamese Networks for Object Tracking 论文下载:https://arxiv.org/abs/1605.07648 ...

  3. 孪生网络(Siamese Network)实现手写数字聚类

    Siamese Network通常用于小样本的学习,是meta learning的方法. Siamese Network,其使用CNN网络作为特征提取器,不同类别的样本,共用一个CNN网络,在CNN网 ...

  4. pytorch搭建孪生网络比较人脸相似性

    参考文献: 神经网络学习小记录52--Pytorch搭建孪生神经网络(Siamese network)比较图片相似性_Bubbliiiing的博客-CSDN博客_神经网络图片相似性 Python - ...

  5. 孪生网络图像相似度_生成对抗网络的进步多大,请看此文

    全文共4175字,预计学习时长8分钟 最近,多项研究采用了生成对抗网络(Generative Adversarial Networks, 简称GANs)这一技术来生成分辨率为1024x1024的高清图 ...

  6. 【深度学习】孪生网络(Siamese Network)的模式和训练过程

    [深度学习]孪生网络(Siamese Network)的模式和训练过程 文章目录 1 概述 2 Siamese network 孪生神经网络 3 孪生神经网络和伪孪生神经网络分别适用于什么场景呢? 4 ...

  7. 单样本学习与孪生网络

    @miracle 在 单样本学习(One shot learning)和孪生网络(Siamese Network) 中说: 孪生网络与伪孪生网络 Siamese network就是"连体的神 ...

  8. MatConvnet中集成的损失函数(孪生网络的思考)

    参看网址:https://www.baidu.com/?tn=94855285_hao_pg 这篇博客主要记载了利用MatCovnet实现孪生网络的一些问题,最核心的就是两个分支如何并到一起?反向传播 ...

  9. Siamese Network (应用篇2) :孪生网络用于图像块匹配 CVPR2015

    参考论文:Zagoruyko S, Komodakis N. Learning to compare image patches via convolutional neural networks[J ...

最新文章

  1. android studio 插件开发 FindByTag插件 局部情况下取代ButterKnife插件
  2. python语法手册chm-python3.5.2官方帮助文档 参考手册(CHM版)
  3. docker一键部署jenkins服务(一)
  4. Codeforces Round #421 B
  5. C++右值引用与转移语义
  6. mvc 一般注释_使用带有注释和JQuery的Spring MVC 3的Ajax
  7. linux 启动db2 服务器,Linux系统设置DB2等服务开机启动的过程
  8. JEECG 树列表操作总刷新列表,需要重新展开问题 【官方补丁,适用所有版本】
  9. 雷军微博正式“确认”:Redmi Note 9 5G高配版处理器就是它
  10. Java中将ResultSet结果集转换为List
  11. shell time 计算
  12. 睡眠麻痹 CSP HSP
  13. ue4 迁移模型_UE4模型导入基础操作(MAX为例)
  14. 教你使用Python实现新个税计算器!
  15. 冰羚-IceOryx FAQ翻译
  16. 【java】Java 包(package)
  17. 交换机-自动协商机制-auto-negotiation
  18. jquery遍历节点的方法
  19. 用border-image实现QQ气泡聊天窗效果
  20. 新站开了,最新最快BT下载

热门文章

  1. 【BZOJ2131】免费的馅饼,坐标转换与DP
  2. 【BZOJ1236】KPSUM,记数类问题(乱搞)
  3. 14.图像透视——介绍,坐标系统(Coordinate System),建模投影(Modelling Projection)_1
  4. 2017.5.18-24 基站选址 失败总结
  5. 【英语学习】【English L06】U06 Banking L2 A savings account sounds better for me
  6. 【英语学习】【WOTD】brummagem 释义/词源/示例
  7. olcd12864的u8g2库_U8G2 软件包单色1.3寸OLED屏驱动在 RT-Thread 移植问题
  8. 从helloworld回顾程序的编译过程之三——静态链接
  9. Forward Plus Rendering
  10. OpenGL ES Emulator横向比较