tf.contrib.learn API训练更快?

时间:2017-06-02 08:00:23

标签: tensorflow

我目前正在尝试使用tensorflow API,并需要帮助再培训。

我正在尝试新的tf.contrib.learn API,并希望更改retrain.py以使用新的高级API。

但是,目前我遇到的问题是 1.移植原始脚本中的Tensorboard日志记录功能
2.定义input_fn以在minibatches中返回数据

我尝试在线查找示例,但找不到任何内容。 我可以知道你们之前有没有尝试过这样做,你们是如何解决上述问题的?

除此之外,我想知道这两种计算精度指标的方法是否存在差异。我问这个是因为我在flower_photos样本数据集上获得了96%的准确率结果,这比通过将模型移植到tf.contrib.learn上的原始91%有了显着改进。

方法1:在model_fn函数中使用eval_metric_ops

<Button
        Canvas.Top="600"
        HorizontalAlignment="Center"
        VerticalAlignment="Bottom"
        Click="Button_Click"
        Content="Open flyout">
        <Button.Flyout>
            <Flyout x:Name="flyout" Placement="Bottom">
                <Flyout.FlyoutPresenterStyle>
                    <Style TargetType="FlyoutPresenter">
                        <Setter Property="Template">
                            <Setter.Value>
                                <ControlTemplate TargetType="FlyoutPresenter">
                                    <Border
                                        Margin="0,-5,0,-5"
                                        Background="{TemplateBinding Background}"
                                        BorderBrush="{TemplateBinding BorderBrush}"
                                        BorderThickness="{TemplateBinding BorderThickness}">
                                        <ScrollViewer
                                            x:Name="ScrollViewer"
                                            AutomationProperties.AccessibilityView="Raw"
                                            HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}"
                                            HorizontalScrollMode="{TemplateBinding ScrollViewer.HorizontalScrollMode}"
                                            VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}"
                                            VerticalScrollMode="{TemplateBinding ScrollViewer.VerticalScrollMode}"
                                            ZoomMode="{TemplateBinding ScrollViewer.ZoomMode}">
                                            <ContentPresenter
                                                Margin="{TemplateBinding Padding}"
                                                HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                                                VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                                                Content="{TemplateBinding Content}"
                                                ContentTemplate="{TemplateBinding ContentTemplate}"
                                                ContentTransitions="{TemplateBinding ContentTransitions}" />
                                        </ScrollViewer>
                                    </Border>
                                </ControlTemplate>
                            </Setter.Value>
                        </Setter>
                    </Style>
                </Flyout.FlyoutPresenterStyle>
                <TextBlock Text="This is some text in a flyout." TextWrapping="Wrap" />
            </Flyout>
        </Button.Flyout>
    </Button>

方法2:在原始的retrain.py中手动计算

# Calculate accuracy as additional eval metric
eval_metric_ops = {
    "accuracy": tf.metrics.accuracy(targets, one_hot_classes)
}

0 个答案:

没有答案