{"id":3309,"date":"2024-03-13T06:44:53","date_gmt":"2024-03-13T06:44:53","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/"},"modified":"2025-07-30T14:21:50","modified_gmt":"2025-07-30T14:21:50","slug":"how-to-utilize-callback-functions-in-keras","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/","title":{"rendered":"Keras Callbacks: Usage &#038; Examples"},"content":{"rendered":"<p>In Keras, callbacks can be used by passing a list of callback functions during model training. Callback functions are functions called at specific points during the training process, and can be used to perform tasks such as saving the model, dynamically adjusting the learning rate, and visualizing the training process.<\/p>\n<p>Here is a simple example showing how to use callbacks in Keras.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">from<\/span> keras.models <span class=\"hljs-keyword\">import<\/span> Sequential\r\n<span class=\"hljs-keyword\">from<\/span> keras.layers <span class=\"hljs-keyword\">import<\/span> Dense\r\n<span class=\"hljs-keyword\">from<\/span> keras.callbacks <span class=\"hljs-keyword\">import<\/span> ModelCheckpoint\r\n\r\n<span class=\"hljs-comment\"># \u521b\u5efa\u4e00\u4e2a\u7b80\u5355\u7684Sequential\u6a21\u578b<\/span>\r\nmodel = Sequential()\r\nmodel.add(Dense(<span class=\"hljs-number\">64<\/span>, activation=<span class=\"hljs-string\">'relu'<\/span>, input_dim=<span class=\"hljs-number\">100<\/span>))\r\nmodel.add(Dense(<span class=\"hljs-number\">64<\/span>, activation=<span class=\"hljs-string\">'relu'<\/span>))\r\nmodel.add(Dense(<span class=\"hljs-number\">1<\/span>, activation=<span class=\"hljs-string\">'sigmoid'<\/span>))\r\n\r\n<span class=\"hljs-comment\"># \u7f16\u8bd1\u6a21\u578b<\/span>\r\nmodel.<span class=\"hljs-built_in\">compile<\/span>(optimizer=<span class=\"hljs-string\">'adam'<\/span>, loss=<span class=\"hljs-string\">'binary_crossentropy'<\/span>, metrics=[<span class=\"hljs-string\">'accuracy'<\/span>])\r\n\r\n<span class=\"hljs-comment\"># \u5b9a\u4e49\u4e00\u4e2a\u56de\u8c03\u51fd\u6570\uff0c\u7528\u6765\u4fdd\u5b58\u6a21\u578b\u7684\u6743\u91cd<\/span>\r\ncheckpoint = ModelCheckpoint(filepath=<span class=\"hljs-string\">'weights.{epoch:02d}-{val_loss:.2f}.hdf5'<\/span>,\r\n                             monitor=<span class=\"hljs-string\">'val_loss'<\/span>, save_best_only=<span class=\"hljs-literal\">True<\/span>)\r\n\r\n<span class=\"hljs-comment\"># \u6a21\u578b\u8bad\u7ec3\uff0c\u5e76\u4f20\u5165\u56de\u8c03\u51fd\u6570\u7684\u5217\u8868<\/span>\r\nmodel.fit(x_train, y_train, epochs=<span class=\"hljs-number\">10<\/span>, batch_size=<span class=\"hljs-number\">32<\/span>, validation_data=(x_val, y_val), callbacks=[checkpoint])\r\n<\/code><\/pre>\n<p>In the example above, we defined a ModelCheckpoint callback function to save the model&#8217;s weights. During model training, we pass this callback function into the callbacks parameter so that the model weights will be saved at the end of each epoch if there is an improvement in the validation loss.<\/p>\n<p>In addition to the ModelCheckpoint callback function, Keras also offers many other built-in callbacks such as EarlyStopping, TensorBoard, etc., which can be selected based on specific needs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Keras, callbacks can be used by passing a list of callback functions during model training. Callback functions are functions called at specific points during the training process, and can be used to perform tasks such as saving the model, dynamically adjusting the learning rate, and visualizing the training process. Here is a simple example [&hellip;]<\/p>\n","protected":false},"author":13,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[960,1267,1269,1268,944],"class_list":["post-3309","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-deep-learning","tag-keras-callbacks","tag-keras-tutorial","tag-model-training","tag-neural-networks"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Keras Callbacks: Usage &amp; Examples - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how to implement Keras callbacks for saving models, adjusting learning rates, and visualizing training with code examples.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Keras Callbacks: Usage &amp; Examples\" \/>\n<meta property=\"og:description\" content=\"Learn how to implement Keras callbacks for saving models, adjusting learning rates, and visualizing training with code examples.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-13T06:44:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-30T14:21:50+00:00\" \/>\n<meta name=\"author\" content=\"Isabella Edwards\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Isabella Edwards\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/\"},\"author\":{\"name\":\"Isabella Edwards\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\"},\"headline\":\"Keras Callbacks: Usage &#038; Examples\",\"datePublished\":\"2024-03-13T06:44:53+00:00\",\"dateModified\":\"2025-07-30T14:21:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/\"},\"wordCount\":144,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"Deep Learning\",\"Keras Callbacks\",\"Keras Tutorial\",\"Model Training\",\"Neural Networks\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/\",\"name\":\"Keras Callbacks: Usage & Examples - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-13T06:44:53+00:00\",\"dateModified\":\"2025-07-30T14:21:50+00:00\",\"description\":\"Learn how to implement Keras callbacks for saving models, adjusting learning rates, and visualizing training with code examples.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Keras Callbacks: Usage &#038; Examples\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd\",\"name\":\"Isabella Edwards\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g\",\"caption\":\"Isabella Edwards\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Keras Callbacks: Usage & Examples - Blog - Silicon Cloud","description":"Learn how to implement Keras callbacks for saving models, adjusting learning rates, and visualizing training with code examples.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/","og_locale":"en_US","og_type":"article","og_title":"Keras Callbacks: Usage & Examples","og_description":"Learn how to implement Keras callbacks for saving models, adjusting learning rates, and visualizing training with code examples.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-13T06:44:53+00:00","article_modified_time":"2025-07-30T14:21:50+00:00","author":"Isabella Edwards","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Isabella Edwards","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/"},"author":{"name":"Isabella Edwards","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd"},"headline":"Keras Callbacks: Usage &#038; Examples","datePublished":"2024-03-13T06:44:53+00:00","dateModified":"2025-07-30T14:21:50+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/"},"wordCount":144,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["Deep Learning","Keras Callbacks","Keras Tutorial","Model Training","Neural Networks"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/","name":"Keras Callbacks: Usage & Examples - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-13T06:44:53+00:00","dateModified":"2025-07-30T14:21:50+00:00","description":"Learn how to implement Keras callbacks for saving models, adjusting learning rates, and visualizing training with code examples.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-utilize-callback-functions-in-keras\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Keras Callbacks: Usage &#038; Examples"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/5579144e23c225c8188167f3e3f888dd","name":"Isabella Edwards","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d4d4dec47f553ac7961d9fa4cc9bdcdcf5b7ce5106594330b6d25c5694fdbaec?s=96&d=mm&r=g","caption":"Isabella Edwards"},"url":"https:\/\/www.silicloud.com\/blog\/author\/isabellaedwards\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/3309","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=3309"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/3309\/revisions"}],"predecessor-version":[{"id":147942,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/3309\/revisions\/147942"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=3309"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=3309"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=3309"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}