<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Callbacks on My Blog</title><link>/tags/callbacks/</link><description>Recent content in Callbacks on My Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 16 Jul 2016 00:00:00 +0000</lastBuildDate><atom:link href="/tags/callbacks/index.xml" rel="self" type="application/rss+xml"/><item><title>keras回调函数Callbacks</title><link>/2016/07/16/keras%E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0callbacks/</link><pubDate>Sat, 16 Jul 2016 00:00:00 +0000</pubDate><guid>/2016/07/16/keras%E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0callbacks/</guid><description>&lt;!-- toc --&gt;
&lt;p&gt;[TOC]&lt;/p&gt;
&lt;h2 id="回调函数使用"&gt;回调函数使用&lt;/h2&gt;
&lt;p&gt;回调函数是一个函数的合集，会在训练的阶段中所使用。你可以使用回调函数来查看训练模型的内在状态和统计。你可以传递一个列表的回调函数（作为 &lt;code&gt;callbacks&lt;/code&gt; 关键字参数）到 &lt;code&gt;Sequential&lt;/code&gt;或 &lt;code&gt;Model&lt;/code&gt; 类型的 &lt;code&gt;.fit()&lt;/code&gt; 方法。在训练时，相应的回调函数的方法就会在各自的阶段被调用。&lt;/p&gt;
&lt;h3 id="callback"&gt;Callback&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;keras.callbacks.Callback()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;用来组建新的回调函数的抽象基类。&lt;/p&gt;
&lt;h3 id="baselogger"&gt;BaseLogger&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;keras.callbacks.BaseLogger()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;会积累训练轮平均评估的回调函数。&lt;/p&gt;
&lt;p&gt;这个回调函数被自动应用到每一个 Keras 模型上面。&lt;/p&gt;
&lt;h3 id="terminateonnan"&gt;TerminateOnNaN&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;keras.callbacks.TerminateOnNaN()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;当遇到 NaN 损失会停止训练的回调函数。&lt;/p&gt;
&lt;h3 id="progbarlogger"&gt;ProgbarLogger&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;keras.callbacks.ProgbarLogger(count_mode=&amp;#39;samples&amp;#39;)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;会把评估以标准输出打印的回调函数。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;参数&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;count_mode&lt;/strong&gt;: &amp;ldquo;steps&amp;rdquo; 或者 &amp;ldquo;samples&amp;rdquo;。 进度条是否应该计数看见的样本或步骤（批量）。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;触发&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ValueError&lt;/strong&gt;: 防止不正确的 &lt;code&gt;count_mode&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="history"&gt;History&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;keras.callbacks.History()
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;把所有事件都记录到 &lt;code&gt;History&lt;/code&gt; 对象的回调函数。&lt;/p&gt;
&lt;p&gt;这个回调函数被自动启用到每一个 Keras 模型。&lt;code&gt;History&lt;/code&gt; 对象会被模型的 &lt;code&gt;fit&lt;/code&gt; 方法返回。&lt;/p&gt;
&lt;h3 id="modelcheckpoint"&gt;ModelCheckpoint&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;keras.callbacks.ModelCheckpoint(filepath, monitor=&amp;#39;val_loss&amp;#39;, verbose=0, save_best_only=False, save_weights_only=False, mode=&amp;#39;auto&amp;#39;, period=1)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;在每个训练期之后保存模型。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;filepath&lt;/code&gt; 可以包括命名格式选项，可以由 &lt;code&gt;epoch&lt;/code&gt; 的值和 &lt;code&gt;logs&lt;/code&gt; 的键（由 &lt;code&gt;on_epoch_end&lt;/code&gt; 参数传递）来填充。&lt;/p&gt;
&lt;p&gt;例如：如果 &lt;code&gt;filepath&lt;/code&gt; 是 &lt;code&gt;weights.{epoch:02d}-{val_loss:.2f}.hdf5&lt;/code&gt;， 那么模型被保存的的文件名就会有训练轮数和验证损失。&lt;/p&gt;
&lt;h3 id="earlystopping"&gt;EarlyStopping&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;keras.callbacks.EarlyStopping(monitor=&amp;#39;val_loss&amp;#39;, min_delta=0, patience=0, verbose=0, mode=&amp;#39;auto&amp;#39;)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;当被监测的数量不再提升，则停止训练。&lt;/p&gt;</description></item></channel></rss>