据我从张量流文档图中了解,映射用于基于函数parse_function_wrapper修改图像。
class Example(QtGui.QMainWindow):
def __init__(self):
super(Example, self).__init__()
ql = ColorBlocks()
colAction = QtGui.QWidgetAction(self)
colAction.setDefaultWidget(ql)
ql.colorSelected.connect(self.clicked_color)
menubar = self.menuBar()
fileMenu = menubar.addMenu('&File')
fileMenu.addAction(colAction)
self.ui_color_filter = ColorBlock()
ql1 = ColorBlocks()
colAction1 = QtGui.QWidgetAction(self)
colAction1.setDefaultWidget(ql1)
ql1.colorSelected.connect(self.clicked_color)
menu_colors = QtGui.QMenu('Colors', self)
menu_colors.addAction(colAction1)
self.ui_color_filter.setMenu(menu_colors)
lay_main = QtGui.QVBoxLayout()
lay_main.setAlignment(QtCore.Qt.AlignTop)
lay_main.addWidget(self.ui_color_filter)
widget_main = QtGui.QWidget()
widget_main.setLayout(lay_main)
self.setCentralWidget(widget_main)
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Menubar')
self.show()
现在,数据集将仅具有增强图像,而没有原始图像。因此,我的疑问是,我们需要使用原始数据以及增强数据来训练我们的模型。谁能告诉我如何使用原始数据进行训练?
答案 0 :(得分:1)
我看到两个简单的解决方案:
1)保留原始数据集和扩充后的数据集,然后将其压缩,flat_map和随机播放:
augmented = dataset.map(parse_function_wrapper,
num_parallel_calls=4)
mixed_dataset = (tf.data.Dataset.zip([dataset, augmented])
.flat_map(lambda x: x)
.shuffle(BUFFER_SIZE)) # use an appropriate buffer size
2)通过以概率parse_function_wrapper
应用增强并以概率p < 1
返回未修改的输入来使1-p
随机。再加上重复数据集,可获得与先前解决方案相似的效果,但从逻辑上讲更容易理解。而且,通过这种方式,您可以更好地控制训练数据集中增强样本与原始样本的比率,因为您可以明确设置应在“混合”数据集中增加百分比的数据。