Adaptive Deep Bayesian Neural Network Implementation
Project description
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-d9abecd14f1e.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-93aded0ee8a1.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-d579f4a5b443.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-d443c8761721.css" />
<script type="application/json" id="client-env">{"locale":"en","featureFlags":["bypass_copilot_indexing_quota","copilot_new_references_ui","copilot_beta_features_opt_in","copilot_chat_repo_custom_instructions_preview","copilot_chat_retry_on_error","copilot_chat_persist_submitted_input","copilot_conversational_ux_history_refs","copilot_editor_upsells","copilot_free_limited_user","copilot_implicit_context","copilot_no_floating_button","copilot_smell_icebreaker_ux","drag_and_drop_experimental_move_dialog","experimentation_azure_variant_endpoint","failbot_handle_non_errors","geojson_azure_maps","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","hovercard_accessibility","issues_advanced_search","issues_react_close_as_duplicate","issues_react_remove_placeholders","issues_react_blur_item_picker_on_close","issues_react_include_bots_in_pickers","marketing_pages_search_explore_provider","react_keyboard_shortcuts_dialog","remove_child_patch","repository_suggester_elastic_search","sample_network_conn_type","site_metered_billing_update","issues_react_close_as_duplicate","issues_react_cache_fix_workaround","lifecycle_label_name_updates","item_picker_new_select_panel"],"login":"sajeethphilip"}</script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-9368644a488a.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-9da652f58479.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_arianotify-polyfill_ariaNotify-polyfill_js-node_modules_github_mi-3abb8f-d7e6bc799724.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-038efa22f8cd.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-e300f3d2aeda.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-ea2a5d75d580.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-f690fd9ae3d5.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-f6da4b3fa34c.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-8e9f78-a74b4e0a8a6b.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-78748950cb0c.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7-a1760ffda83d.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-ceef33f593fa.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-c44a69-f0c8a795d1fd.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-ed51bf4a426a.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-bfccf829ef3e.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-bb80ec-72267f4e3ff9.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-be8cb88f481b.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_morphdom_dist_morphdom-e-7c534c-a4a1922eb55f.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-e3cbe28f1638.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-6cf3320416b8.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-e3180fe3bcb3.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-69cfcc-833249ee3034.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-0d1db422e5cc.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-cab6164e492b.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-83e480198629.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-d0d0a6-5f1192bdc996.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-07c050c6d2d3.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-4ff625c629d0.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-f6223d90c7ba.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-7556bd523830.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_catalyst_lib_inde-dbbea9-26cce2010167.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/code-menu-534f8f82fbb7.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-eb226383faf4.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-core-fa72f02338ab.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-2131e17288a8.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-611691cca2f6.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_tanstack_query-core_build_modern_queryClient_js-e6f07a7e80b7.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-37e3d5-92730c05e718.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-e7dcdd-f7cc96ebae76.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-55fea94174bf.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_js-b89b98661809.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lodash-es__Stack_js-node_modules_lodash-es__Uint8Array_js-node_modules_l-4faaa6-4a736fde5c2f.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lodash-es__baseIsEqual_js-8929eb9718d5.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_react-reverse-portal_dist_web_index_js-node_modules_primer_live-region-e-18c5ad-0b67a5a18b33.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_aria-live_aria-live_ts-ui_packages_promise-with-resolvers-polyfill_promise-with-r-014121-9909ff6aa778.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_paths_index_ts-4bd1273aced9.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ref-selector_RefSelector_tsx-47d1fc4a26b2.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_code-view-shared_utilities_web-worker_ts-ui_packages_code-view-shared_worker-jobs-6add77-3d9a8af39c46.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_code-view-shared_hooks_use-canonical-object_ts-ui_packages_code-view-shared_hooks-495298-7f613884b09e.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_repos-file-tree-view_repos-file-tree-view_ts-ui_packages_feature-request_FeatureR-648c3b-10a5d1781a97.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_blob-anchor_ts-ui_packages_code-nav_code-nav_ts-ui_packages_filter--8253c1-bd96236c8a65.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-code-view-3973629ccc98.js"></script>
<title>DBNN_py/README.md at main · sajeethphilip/DBNN_py</title>
<meta name="hovercard-subject-tag" content="repository:915413392" data-turbo-transient>
<meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I">
<meta name="user-login" content="sajeethphilip">
<meta name="viewport" content="width=device-width">
<meta name="description" content="Difference Boosting Neural Network (DBNN) Python Version - DBNN_py/README.md at main · sajeethphilip/DBNN_py">
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
<link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
<meta property="fb:app_id" content="1401488693436528">
<meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/sajeethphilip/DBNN_py/blob/main/README.md" />
<meta name="twitter:image" content="https://opengraph.githubassets.com/816096bca2bb8753066cec1f0aacfff6df6d9dc72d105ced1eb8d5f9a6b5ab24/sajeethphilip/DBNN_py" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="DBNN_py/README.md at main · sajeethphilip/DBNN_py" /><meta name="twitter:description" content="Difference Boosting Neural Network (DBNN) Python Version - sajeethphilip/DBNN_py" />
<link rel="shared-web-socket" href="wss://alive.github.com/_sockets/u/949673/ws?session=eyJ2IjoiVjMiLCJ1Ijo5NDk2NzMsInMiOjE1NzA3MjQwNTQsImMiOjIwNzM2MzIxMTMsInQiOjE3Mzc1NjcyMjN9--cab311b44b1041493195d1c0f5826256dffec6ca022a7eab6d1fb9fabd351f6c" data-refresh-url="/_alive" data-session-id="8a64e2c0fde1b0782269738d4b5bcc929cd77c4888d5e6597e95d9ffb3751594">
<link rel="shared-web-socket-src" href="/assets-cdn/worker/socket-worker-10fbbfa136f2.js">
<meta name="hostname" content="github.com">
<meta name="keyboard-shortcuts-preference" content="all">
<meta name="hovercards-preference" content="true">
<meta name="announcement-preference-hovercard" content="true">
<meta name="expected-hostname" content="github.com">
<meta name="turbo-cache-control" content="no-cache" data-turbo-transient>
<meta data-hydrostats="publish">
<meta name="turbo-body-classes" content="logged-in env-production page-responsive">
<div class="position-relative header-wrapper js-header-wrapper ">
<a href="#start-of-content" data-skip-target-assigned="false" class="p-3 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a>
<span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full">
<span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ui-commands_ui-commands_ts-353433bc7e29.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-02a61356799a.js"></script>
<react-partial partial-name="keyboard-shortcuts-dialog" data-ssr="false" data-attempted-ssr="false"
<script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script>
<header class="AppHeader" role="banner">
Navigation Menu
<div class="AppHeader-globalBar pb-2 js-global-bar">
<div class="AppHeader-globalBar-start">
<deferred-side-panel data-url="/_side-panels/global">
Global navigation
<div data-view-component="true" class="my-3 d-flex flex-justify-center height-full">
<span data-view-component="true">
Loading
<div data-view-component="true" class="px-2"> <p class="color-fg-subtle text-small text-light">© 2025 GitHub, Inc.</p>
<div data-view-component="true" class="d-flex flex-wrap text-small text-light">
<a target="_blank" href="https://github.com/about" data-view-component="true" class="Link mr-2">About</a>
<a target="_blank" href="https://github.blog" data-view-component="true" class="Link mr-2">Blog</a>
<a target="_blank" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link mr-2">Terms</a>
<a target="_blank" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link mr-2">Privacy</a>
<a target="_blank" href="https://github.com/security" data-view-component="true" class="Link mr-2">Security</a>
<a target="_blank" href="https://www.githubstatus.com/" data-view-component="true" class="Link mr-3">Status</a>
<a
class="AppHeader-logo ml-1"
href="https://github.com/"
data-hotkey="g d"
aria-label="Homepage "
data-turbo="false"
data-analytics-event="{"category":"Header","action":"go to dashboard","label":"icon:logo"}"
>
<svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github v-align-middle">
<path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path>
<div class="AppHeader-context" >
</span>
<strong class="AppHeader-context-compact-mainItem d-flex flex-items-center Truncate" >
DBNN_py
Navigate back to
</div>
<div class="Overlay-actionWrap">
<button data-close-dialog-id="context-region-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
<path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</div>
<div class="AppHeader-globalBar-end">
<div class="AppHeader-search" >
<button type="button" data-action="click:qbsearch-input#handleExpand" class="AppHeader-button AppHeader-search-whenNarrow" aria-label="Search or jump to…" aria-expanded="false" aria-haspopup="dialog">
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search">
<path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path>
<button
type="button"
data-target="qbsearch-input.inputButton"
data-action="click:qbsearch-input#handleExpand"
class="AppHeader-searchButton form-control input-contrast text-left color-fg-subtle no-wrap"
data-hotkey="s,/"
data-analytics-event="{"location":"navbar","action":"searchbar","context":"global","tag":"input","label":"searchbar_input_global_navbar"}"
aria-describedby="search-error-message-flash"
>
<div class="overflow-hidden">
<span id="qb-input-query" data-target="qbsearch-input.inputButtonText">
Type <kbd class="AppHeader-search-kbd">/</kbd> to search
</span>
</div>
</button>
</div>
<input type="hidden" name="type" class="js-site-search-type-field">
Search code, repositories, users, issues, pull requests...
<div data-view-component="true"> <div class="search-suggestions position-absolute width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container"
style="border-radius: 12px;"
data-target="qbsearch-input.queryBuilderContainer"
hidden
>
<!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get">
</div>
<template id="search-icon">
<div class="position-relative">
<ul
role="listbox"
class="ActionListWrap QueryBuilder-ListWrap"
aria-label="Suggestions"
data-action="
combobox-commit:query-builder#comboboxCommit
mousedown:query-builder#resultsMousedown
"
data-target="query-builder.resultsList"
data-persist-list=false
id="query-builder-test-results"
></ul>
</div>
<div class="FormControl-inlineValidation" id="validation-c515a2d9-2c1e-47f7-8d55-d476662c1547" hidden="hidden">
<span class="FormControl-inlineValidation--visual">
<svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill">
<path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path>
</div>
Provide feedback
</div>
<div class="Overlay-actionWrap">
<button data-close-dialog-id="feedback-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
<path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
We read every piece of feedback, and take your input very seriously.
<textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> Include my email address so I can be contacted<custom-scopes data-target="qbsearch-input.customScopesManager">
Saved searches
Use saved searches to filter your results more quickly
<div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm">
<!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="PpwJjSJSrTsFVWzequLckdD1LM9IrRVrhTbrHlVtlYRHN7rEowKxUgfAe45ySyXHbjdWif1p4gBqXLqY8b2iHw" />
<div data-target="custom-scopes.customScopesModalDialogFlash"></div>
<input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField">
<div class="form-group">
<label for="custom_scope_name">Name</label>
<auto-check src="/search/custom_scopes/check_name" required>
<input
type="text"
name="custom_scope_name"
id="custom_scope_name"
data-target="custom-scopes.customScopesNameField"
class="form-control"
autocomplete="off"
placeholder="github-ruby"
required
maxlength="50">
<input type="hidden" value="yCaXsI2FM9a3eMur0dz9uYHmhuEknWBxxJQKjP5rYbsdwXYpfIWkWxkSNgjJwZhV8TAithC4VLMiLbngwa_vpw" data-csrf="true" />
</auto-check>
</div>
<div class="form-group">
<label for="custom_scope_query">Query</label>
<input
type="text"
name="custom_scope_query"
id="custom_scope_query"
data-target="custom-scopes.customScopesQueryField"
class="form-control"
autocomplete="off"
placeholder="(repo:mona/a OR repo:mona/b) AND lang:python"
required
maxlength="500">
</div>
<p class="text-small color-fg-muted">
To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>.
</p>
<div data-target="custom-scopes.manageCustomScopesForm">
<div data-target="custom-scopes.list"></div>
</div>
</div>
<div class="AppHeader-CopilotChat">
<react-partial-anchor>
<button id="copilot-chat-header-button" data-target="react-partial-anchor.anchor" data-hotkey="Shift+C" aria-expanded="false" aria-controls="copilot-chat-panel" aria-labelledby="tooltip-c39fee18-bcf4-488b-8ed6-ceb3a16a0df8" type="button" disabled="disabled" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium AppHeader-button AppHeader-buttonLeft cursor-wait"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot Button-visual">
<path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path>
Chat with Copilot
<template data-target="react-partial-anchor.template">
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_react-relay_index_js-c5b7ce0827d5.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_tanstack_query-core_build_modern_queryObserver_js-node_modules_tanstack_-defd52-843b41414e0e.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_remark-gfm_lib_index_js-node_modules_remark-parse_lib_index_js-node_modu-44d0fc-fe91074a0219.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_highlight_js_lib_index_js-node_modules_tanstack_react-query_build_modern-d366b9-e5ba7e8a050b.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_decorators_js-node_modules_accname_dist_access-b37425-35bd8d94d981.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_combobox-nav_dist_index_js-node_modules_github_hotkey_dist_index_-2c4211-d4ef351bc77f.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_item-picker_constants_labels_ts-ui_packages_item-picker_constants_values_ts-ui_pa-163a9a-51afa1e9e05e.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_item-picker_components_RepositoryPicker_tsx-87e4a7f5e8d3.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_copy-to-clipboard_CopyToClipboardButton_tsx-ui_packages_inline-autocomplete_Inlin-d7b165-997ceabd14df.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_copilot-chat_utils_copilot-chat-hooks_ts-ui_packages_issue-viewer_utils_queries_ts-4493c30d2942.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_test-id-props_test-id-props_ts-ui_packages_copilot-markdown_MarkdownRenderer_tsx--f736ee-489077fb57ad.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/copilot-chat-4989a0ec1c93.js"></script>
Open Copilot…
<template data-target="react-partial-anchor.template">
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/global-copilot-menu-ff9d51a49ec8.js"></script>
<react-partial partial-name="global-copilot-menu" data-ssr="false" data-attempted-ssr="false"
<script type="application/json" data-target="react-partial.embeddedData">{"props":{}}</script>
</template>
</react-partial-anchor>
<div class="AppHeader-actions position-relative">
<react-partial-anchor>
<button id="global-create-menu-anchor" aria-label="Create something new" data-target="react-partial-anchor.anchor" type="button" disabled="disabled" data-view-component="true" class="AppHeader-button global-create-button cursor-wait Button--secondary Button--medium Button width-auto color-fg-muted"> <span class="Button-content">
<span class="Button-visual Button-leadingVisual">
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus">
<path d="M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z"></path>
Create new...
<template data-target="react-partial-anchor.template">
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_promise-with-resolvers-polyfill_promise-with-resolvers-polyfill_ts-ui_packages_re-8d43b0-2626156283f9.js"></script>
<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/global-create-menu-f4b5425dac57.js"></script>
<react-partial partial-name="global-create-menu" data-ssr="false" data-attempted-ssr="false"
<script type="application/json" data-target="react-partial.embeddedData">{"props":{"createRepo":true,"importRepo":true,"codespaces":true,"gist":true,"createOrg":true,"createProject":false,"createProjectUrl":"/sajeethphilip?tab=projects","createLegacyProject":false,"createIssue":false,"org":null,"owner":"sajeethphilip","repo":"DBNN_py"}}</script>
</template>
</react-partial-anchor>
<a href="/issues" data-analytics-event="{"category":"Global navigation","action":"ISSUES_HEADER","label":null}" id="icon-button-bc752c24-8200-45e2-9f95-4b206b87c069" aria-labelledby="tooltip-50ea88c3-05ae-42ff-95b9-f534fe7a0abc" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium AppHeader-button color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened Button-visual">
<path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path>
Issues
<a href="/pulls" data-analytics-event="{"category":"Global navigation","action":"PULL_REQUESTS_HEADER","label":null}" id="icon-button-ec49cc4e-3613-48d3-bb3b-f44524c03ab0" aria-labelledby="tooltip-0bff84af-a708-4360-a5fc-d213b7e9dc06" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium AppHeader-button color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request Button-visual">
<path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path>
Pull requests
</div>
<notification-indicator data-channel="eyJjIjoibm90aWZpY2F0aW9uLWNoYW5nZWQ6OTQ5NjczIiwidCI6MTczNzU2NzIyNH0=--f4686fcfda4bb4f6b677cd089410b32ef6327624fd9e07764185284f01605e50" data-indicator-mode="none" data-tooltip-global="You have unread notifications" data-tooltip-unavailable="Notifications are unavailable at the moment." data-tooltip-none="You have no unread notifications" data-header-redesign-enabled="true" data-fetch-indicator-src="/notifications/indicator" data-fetch-indicator-enabled="true" data-view-component="true" class="js-socket-channel">
<a id="AppHeader-notifications-button" href="/notifications" aria-labelledby="notification-indicator-tooltip" data-hotkey="g n" data-target="notification-indicator.link" data-analytics-event="{"category":"Global navigation","action":"NOTIFICATIONS_HEADER","label":null}" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium AppHeader-button color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-inbox Button-visual">
<path d="M2.8 2.06A1.75 1.75 0 0 1 4.41 1h7.18c.7 0 1.333.417 1.61 1.06l2.74 6.395c.04.093.06.194.06.295v4.5A1.75 1.75 0 0 1 14.25 15H1.75A1.75 1.75 0 0 1 0 13.25v-4.5c0-.101.02-.202.06-.295Zm1.61.44a.25.25 0 0 0-.23.152L1.887 8H4.75a.75.75 0 0 1 .6.3L6.625 10h2.75l1.275-1.7a.75.75 0 0 1 .6-.3h2.863L11.82 2.652a.25.25 0 0 0-.23-.152Zm10.09 7h-2.875l-1.275 1.7a.75.75 0 0 1-.6.3h-3.5a.75.75 0 0 1-.6-.3L4.375 9.5H1.5v3.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Z"></path>
<tool-tip id="notification-indicator-tooltip" data-target="notification-indicator.tooltip" for="AppHeader-notifications-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Notifications</tool-tip>
<div class="AppHeader-user">
<deferred-side-panel data-url="/_side-panels/user?repository_id=915413392">
<div class="position-absolute mt-2">
</div>
</div>
</div>
<div class="AppHeader-localBar" >
<nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav">
-
Code<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> -
Issues 0<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> -
Pull requests 0<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> -
Actions<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> -
Projects 0<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> -
Wiki<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> -
Security<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> -
Insights<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> -
Settings<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gear UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z"></path>
<div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list>
<div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full">
<svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
<path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.
You switched accounts on another tab or window. Reload to refresh your session.
<button id="icon-button-2560f757-51bb-4ae3-b809-10db4dc6b781" aria-labelledby="tooltip-53252375-1777-42a8-abab-7b0c6cb6b2e8" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual">
<path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
Dismiss alert
</div>
<div id="js-flash-container" class="flash-container" data-turbo-replace>
<react-app app-name="react-code-view" initial-path="/sajeethphilip/DBNN_py/blob/main/README.md" style="display: block; min-height: calc(100vh - 64px);" data-attempted-ssr="true" data-ssr="true" data-lazy="false" data-alternate="false"
<script type="application/json" data-target="react-app.embeddedData">{"payload":{"allShortcutsEnabled":true,"fileTree":{"":{"items":[{"name":"DBNN_Flowchart.pdf","path":"DBNN_Flowchart.pdf","contentType":"file"},{"name":"DBNN_Flowchart.tex","path":"DBNN_Flowchart.tex","contentType":"file"},{"name":"Generate_UCI_Conf.py","path":"Generate_UCI_Conf.py","contentType":"file"},{"name":"Get_UCI_Conf_data.py","path":"Get_UCI_Conf_data.py","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"VisualizeData.py","path":"VisualizeData.py","contentType":"file"},{"name":"VisualizeDataLib.py","path":"VisualizeDataLib.py","contentType":"file"},{"name":"adaptive_dbnn.conf","path":"adaptive_dbnn.conf","contentType":"file"},{"name":"adaptive_dbnn.pdf","path":"adaptive_dbnn.pdf","contentType":"file"},{"name":"adaptive_dbnn.py","path":"adaptive_dbnn.py","contentType":"file"},{"name":"adaptive_dbnn.tex","path":"adaptive_dbnn.tex","contentType":"file"},{"name":"dbnn.py","path":"dbnn.py","contentType":"file"},{"name":"requirements.txt","path":"requirements.txt","contentType":"file"},{"name":"space2csv.py","path":"space2csv.py","contentType":"file"}],"totalCount":14}},"fileTreeProcessingTime":3.274437,"foldersToFetch":[],"repo":{"id":915413392,"defaultBranch":"main","name":"DBNN_py","ownerLogin":"sajeethphilip","currentUserCanPush":true,"isFork":false,"isEmpty":false,"createdAt":"2025-01-12T01:00:12.000+05:30","ownerAvatar":"https://avatars.githubusercontent.com/u/949673?v=4","public":true,"private":false,"isOrgOwned":false},"codeLineWrapEnabled":false,"symbolsExpanded":true,"treeExpanded":true,"refInfo":{"name":"main","listCacheKey":"v0:1736624051.0","canEdit":true,"refType":"branch","currentOid":"963f724b2757ee26d5fcfe742ab83a82917feef1"},"path":"README.md","currentUser":{"id":949673,"login":"sajeethphilip","userEmail":"sajeethphilip@gmail.com"},"blob":{"rawLines":null,"stylingDirectives":null,"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/sajeethphilip/DBNN_py/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":false},"displayName":"README.md","displayUrl":"https://github.com/sajeethphilip/DBNN_py/blob/main/README.md?raw=true","headerInfo":{"blobSize":"7.36 KB","deleteTooltip":"Delete this file","editTooltip":"Edit this file","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"1ba4267","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fsajeethphilip%2FDBNN_py%2Fblob%2Fmain%2FREADME.md","isCSV":false,"isRichtext":true,"toc":[{"level":1,"text":"Deep Bayesian Neural Network (DBNN) Implementation","anchor":"deep-bayesian-neural-network-dbnn-implementation","htmlText":"Deep Bayesian Neural Network (DBNN) Implementation"},{"level":2,"text":"Key Features","anchor":"key-features","htmlText":"Key Features"},{"level":3,"text":"Model Types","anchor":"model-types","htmlText":"Model Types"},{"level":3,"text":"Adaptive Learning","anchor":"adaptive-learning","htmlText":"Adaptive Learning"},{"level":3,"text":"Configuration Options for adaptive_dbnn.conf","anchor":"configuration-options-for-adaptive_dbnnconf","htmlText":"Configuration Options for adaptive_dbnn.conf"},{"level":3,"text":"Configuration Options for sample data (for example, adult.csv from UCI)","anchor":"configuration-options-for-sample-data-for-example-adultcsv-from-uci","htmlText":"Configuration Options for sample data (for example, adult.csv from UCI)"},{"level":3,"text":"Feature Selection","anchor":"feature-selection","htmlText":"Feature Selection"},{"level":3,"text":"GPU Optimization","anchor":"gpu-optimization","htmlText":"GPU Optimization"},{"level":3,"text":"Model Persistence","anchor":"model-persistence","htmlText":"Model Persistence"},{"level":3,"text":"Visualization and Metrics","anchor":"visualization-and-metrics","htmlText":"Visualization and Metrics"},{"level":3,"text":"Interactive Training","anchor":"interactive-training","htmlText":"Interactive Training"},{"level":2,"text":"Usage Examples","anchor":"usage-examples","htmlText":"Usage Examples"},{"level":3,"text":"Basic Training","anchor":"basic-training","htmlText":"Basic Training"},{"level":3,"text":"Adaptive Learning","anchor":"adaptive-learning-1","htmlText":"Adaptive Learning"},{"level":3,"text":"Data Format Conversion","anchor":"data-format-conversion","htmlText":"Data Format Conversion"},{"level":2,"text":"Requirements","anchor":"requirements","htmlText":"Requirements"},{"level":2,"text":"Performance Considerations","anchor":"performance-considerations","htmlText":"Performance Considerations"},{"level":2,"text":"Error Handling","anchor":"error-handling","htmlText":"Error Handling"},{"level":2,"text":"Contributions and Issues","anchor":"contributions-and-issues","htmlText":"Contributions and Issues"}],"lineInfo":{"truncatedLoc":"188","truncatedSloc":"157"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Markdown","languageID":222,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/sajeethphilip/DBNN_py/blob/main/README.md","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/sajeethphilip/DBNN_py/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/sajeethphilip/DBNN_py/raw/refs/heads/main/README.md","renderImageOrRaw":false,"richText":"\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eDeep Bayesian Neural Network (DBNN) Implementation\u003c/h1\u003e\u003ca id=\"user-content-deep-bayesian-neural-network-dbnn-implementation\" class=\"anchor\" aria-label=\"Permalink: Deep Bayesian Neural Network (DBNN) Implementation\" href=\"#deep-bayesian-neural-network-dbnn-implementation\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe Difference Boosting Neural Network (DBNN), initially published in Intelligent Data Analysis, 4(2000) 463-473, IOS Press, is a simple yet effective Bayesian network that applies imposed conditional independence of joint probability of multiple features for classification. This implementation extends the original work with modern GPU optimization and adaptive learning capabilities.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eKey Features\u003c/h2\u003e\u003ca id=\"user-content-key-features\" class=\"anchor\" aria-label=\"Permalink: Key Features\" href=\"#key-features\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eModel Types\u003c/h3\u003e\u003ca id=\"user-content-model-types\" class=\"anchor\" aria-label=\"Permalink: Model Types\" href=\"#model-types\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eHistogram Model\u003c/strong\u003e: Uses non-parametric density estimation with configurable bin sizes\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGaussian Model\u003c/strong\u003e: Uses multivariate normal distribution for feature pair modelling\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eAdaptive Learning\u003c/h3\u003e\u003ca id=\"user-content-adaptive-learning\" class=\"anchor\" aria-label=\"Permalink: Adaptive Learning\" href=\"#adaptive-learning\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eBased on \"What is there in a training sample?\" (2009 World Congress on Nature \u0026amp; Biologically Inspired Computing), the implementation includes brilliant sample selection with configurable parameters:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003e\u003ccode\u003eactive_learning_tolerance\u003c/code\u003e: Controls sample selection based on probability margins\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRange: 1.0 to 99.0 (higher means more samples selected)\u003c/li\u003e\n\u003cli\u003eDefault: 3.0 (samples within 3% of maximum probability)\u003c/li\u003e\n\u003cli\u003eExample: 99.0 selects samples within 99% of the maximum probability\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003e\u003ccode\u003ecardinality_threshold_percentile\u003c/code\u003e: Controls feature complexity threshold\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRange: 1 to 100 (lower means more samples selected)\u003c/li\u003e\n\u003cli\u003eDefault: 95 (95th percentile)\u003c/li\u003e\n\u003cli\u003eExample: 75 means selecting samples below the 75th percentile of feature cardinality\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eConfiguration Options for adaptive_dbnn.conf\u003c/h3\u003e\u003ca id=\"user-content-configuration-options-for-adaptive_dbnnconf\" class=\"anchor\" aria-label=\"Permalink: Configuration Options for adaptive_dbnn.conf\" href=\"#configuration-options-for-adaptive_dbnnconf\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"highlight highlight-source-json notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"{\n \u0026quot;training_params\u0026quot;: {\n /* Basic training parameters */\n \u0026quot;trials\u0026quot;: 100, // Number of epochs to wait for improvement\n \u0026quot;cardinality_threshold\u0026quot;: 0.9, // Threshold for feature cardinality filtering\n \u0026quot;cardinality_tolerance\u0026quot;: 4, // Decimal places for feature rounding\n \u0026quot;learning_rate\u0026quot;: 0.1, // Initial learning rate\n \u0026quot;random_seed\u0026quot;: 42, // Random seed (-1 for random shuffling)\n \u0026quot;epochs\u0026quot;: 1000, // Maximum number of epochs\n \u0026quot;test_fraction\u0026quot;: 0.2, // Fraction of data to use for testing\n \u0026quot;enable_adaptive\u0026quot;: true, // Enable adaptive learning\n \n /* Model and computation settings */\n \u0026quot;modelType\u0026quot;: \u0026quot;Histogram\u0026quot;, // Model type: \u0026quot;Histogram\u0026quot; or \u0026quot;Gaussian\u0026quot;\n \u0026quot;compute_device\u0026quot;: \u0026quot;auto\u0026quot;, // \u0026quot;auto\u0026quot;, \u0026quot;cuda\u0026quot;, or \u0026quot;cpu\u0026quot;\n \u0026quot;use_interactive_kbd\u0026quot;: false, // Enable keyboard interaction\n \u0026quot;debug_enabled\u0026quot;: true, // Enable detailed debug logging\n \n /* Training data management */\n \u0026quot;Save_training_epochs\u0026quot;: true, // Save data for each epoch\n \u0026quot;training_save_path\u0026quot;: \u0026quot;training_data\u0026quot; // Path for saving training data\n },\n\n \u0026quot;execution_flags\u0026quot;: {\n \u0026quot;train\u0026quot;: true, // Enable training\n \u0026quot;train_only\u0026quot;: false, // Only perform training\n \u0026quot;predict\u0026quot;: true, // Enable prediction\n \u0026quot;gen_samples\u0026quot;: false, // Generate sample datasets\n \u0026quot;fresh_start\u0026quot;: false, // Start fresh training\n \u0026quot;use_previous_model\u0026quot;: true // Use previously trained model if available\n }\n}\n\"\u003e\u003cpre\u003e{\n \u003cspan class=\"pl-ent\"\u003e\"training_params\"\u003c/span\u003e: {\n \u003cspan class=\"pl-ii\"\u003e/* Basic training parameters */\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"trials\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003e100\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Number of epochs to wait for improvement\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"cardinality_threshold\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003e0.9\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Threshold for feature cardinality filtering\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"cardinality_tolerance\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003e4\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Decimal places for feature rounding\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"learning_rate\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003e0.1\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Initial learning rate\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"random_seed\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003e42\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Random seed (-1 for random shuffling)\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"epochs\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003e1000\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Maximum number of epochs\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"test_fraction\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003e0.2\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Fraction of data to use for testing\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"enable_adaptive\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003etrue\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Enable adaptive learning\u003c/span\u003e\n \n \u003cspan class=\"pl-ii\"\u003e/* Model and computation settings */\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"modelType\"\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eHistogram\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Model type: \"Histogram\" or \"Gaussian\"\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"compute_device\"\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eauto\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// \"auto\", \"cuda\", or \"cpu\"\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"use_interactive_kbd\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003efalse\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Enable keyboard interaction\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"debug_enabled\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003etrue\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Enable detailed debug logging\u003c/span\u003e\n \n \u003cspan class=\"pl-ii\"\u003e/* Training data management */\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"Save_training_epochs\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003etrue\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Save data for each epoch\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"training_save_path\"\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003etraining_data\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-ii\"\u003e// Path for saving training data\u003c/span\u003e\n },\n\n \u003cspan class=\"pl-ent\"\u003e\"execution_flags\"\u003c/span\u003e: {\n \u003cspan class=\"pl-ent\"\u003e\"train\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003etrue\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Enable training\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"train_only\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003efalse\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Only perform training\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"predict\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003etrue\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Enable prediction\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"gen_samples\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003efalse\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Generate sample datasets\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"fresh_start\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003efalse\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Start fresh training\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"use_previous_model\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003etrue\u003c/span\u003e \u003cspan class=\"pl-ii\"\u003e// Use previously trained model if available\u003c/span\u003e\n }\n}\n\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eConfiguration Options for sample data (for example, adult.csv from UCI)\u003c/h3\u003e\u003ca id=\"user-content-configuration-options-for-sample-data-for-example-adultcsv-from-uci\" class=\"anchor\" aria-label=\"Permalink: Configuration Options for sample data (for example, adult.csv from UCI)\" href=\"#configuration-options-for-sample-data-for-example-adultcsv-from-uci\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"highlight highlight-source-json notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"{\n \u0026quot;file_path\u0026quot;: \u0026quot;adult.csv\u0026quot;, // this could also be a url like \u0026quot;https://archive.ics.uci.edu/static/public/193/data.csv\u0026quot;\n \u0026quot;column_names\u0026quot;: [\n \u0026quot;age\u0026quot;,\n \u0026quot;workclass\u0026quot;,\n \u0026quot;fnlwgt\u0026quot;,\n \u0026quot;education\u0026quot;,\n \u0026quot;education-num\u0026quot;,\n \u0026quot;marital-status\u0026quot;,\n \u0026quot;occupation\u0026quot;,\n \u0026quot;relationship\u0026quot;, // Prefix with # to exclude feature\n \u0026quot;race\u0026quot;,\n \u0026quot;sex\u0026quot;,\n \u0026quot;capital-gain\u0026quot;,\n \u0026quot;capital-loss\u0026quot;,\n \u0026quot;hours-per-week\u0026quot;,\n \u0026quot;native-country\u0026quot;,\n \u0026quot;income\u0026quot;\n ],\n \u0026quot;separator\u0026quot;: \u0026quot;,\u0026quot;, // CSV separator\n \u0026quot;has_header\u0026quot;: true, // Whether file has header row\n \u0026quot;target_column\u0026quot;: \u0026quot;target\u0026quot;, // Target column name or index\n\n\n /* Likelihood computation settings */\n \u0026quot;likelihood_config\u0026quot;: {\n \u0026quot;feature_group_size\u0026quot;: 2, // Size of feature groups (usually 2)\n \u0026quot;max_combinations\u0026quot;: 1000, // Maximum feature combinations\n \u0026quot;bin_sizes\u0026quot;: [20] // Bin sizes for histogram. This can also be variable sizes for each feature [20,33,64..]\n },\n\n /* Active learning parameters */\n \u0026quot;active_learning\u0026quot;: {\n \u0026quot;tolerance\u0026quot;: 1.0, // Learning tolerance\n \u0026quot;cardinality_threshold_percentile\u0026quot;: 95, // Percentile for cardinality threshold\n \u0026quot;strong_margin_threshold\u0026quot;: 0.3, // Threshold for strong failures\n \u0026quot;marginal_margin_threshold\u0026quot;: 0.1, // Threshold for marginal failures\n \u0026quot;min_divergence\u0026quot;: 0.1 // Minimum divergence between samples\n },\n\n /* Training parameters specific to this dataset */\n \u0026quot;training_params\u0026quot;: {\n \u0026quot;Save_training_epochs\u0026quot;: true, // Save epoch-specific data\n \u0026quot;training_save_path\u0026quot;: \u0026quot;training_data/dataset_name\u0026quot; // Dataset-specific save path\n },\n\n /* Model selection */\n \u0026quot;modelType\u0026quot;: \u0026quot;Histogram\u0026quot; // \u0026quot;Histogram\u0026quot; or \u0026quot;Gaussian\u0026quot;\n}\n\"\u003e\u003cpre\u003e{\n \u003cspan class=\"pl-ent\"\u003e\"file_path\"\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eadult.csv\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// this could also be a url like \"https://archive.ics.uci.edu/static/public/193/data.csv\"\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"column_names\"\u003c/span\u003e: [\n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eage\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e,\n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eworkclass\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e,\n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003efnlwgt\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e,\n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eeducation\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e,\n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eeducation-num\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e,\n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003emarital-status\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e,\n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eoccupation\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e,\n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003erelationship\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Prefix with # to exclude feature\u003c/span\u003e\n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003erace\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e,\n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003esex\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e,\n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003ecapital-gain\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e,\n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003ecapital-loss\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e,\n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003ehours-per-week\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e,\n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003enative-country\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e,\n \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eincome\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e\n ],\n \u003cspan class=\"pl-ent\"\u003e\"separator\"\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e,\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// CSV separator\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"has_header\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003etrue\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Whether file has header row\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"target_column\"\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003etarget\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Target column name or index\u003c/span\u003e\n\n\n \u003cspan class=\"pl-ii\"\u003e/* Likelihood computation settings */\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"likelihood_config\"\u003c/span\u003e: {\n \u003cspan class=\"pl-ent\"\u003e\"feature_group_size\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003e2\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Size of feature groups (usually 2)\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"max_combinations\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003e1000\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Maximum feature combinations\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"bin_sizes\"\u003c/span\u003e: [\u003cspan class=\"pl-c1\"\u003e20\u003c/span\u003e] \u003cspan class=\"pl-ii\"\u003e// Bin sizes for histogram. This can also be variable sizes for each feature [20,33,64..]\u003c/span\u003e\n },\n\n \u003cspan class=\"pl-ii\"\u003e/* Active learning parameters */\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"active_learning\"\u003c/span\u003e: {\n \u003cspan class=\"pl-ent\"\u003e\"tolerance\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003e1.0\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Learning tolerance\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"cardinality_threshold_percentile\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003e95\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Percentile for cardinality threshold\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"strong_margin_threshold\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003e0.3\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Threshold for strong failures\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"marginal_margin_threshold\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003e0.1\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Threshold for marginal failures\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"min_divergence\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003e0.1\u003c/span\u003e \u003cspan class=\"pl-ii\"\u003e// Minimum divergence between samples\u003c/span\u003e\n },\n\n \u003cspan class=\"pl-ii\"\u003e/* Training parameters specific to this dataset */\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"training_params\"\u003c/span\u003e: {\n \u003cspan class=\"pl-ent\"\u003e\"Save_training_epochs\"\u003c/span\u003e: \u003cspan class=\"pl-c1\"\u003etrue\u003c/span\u003e, \u003cspan class=\"pl-ii\"\u003e// Save epoch-specific data\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"training_save_path\"\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003etraining_data/dataset_name\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-ii\"\u003e// Dataset-specific save path\u003c/span\u003e\n },\n\n \u003cspan class=\"pl-ii\"\u003e/* Model selection */\u003c/span\u003e\n \u003cspan class=\"pl-ent\"\u003e\"modelType\"\u003c/span\u003e: \u003cspan class=\"pl-s\"\u003e\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003eHistogram\u003cspan class=\"pl-pds\"\u003e\"\u003c/span\u003e\u003c/span\u003e \u003cspan class=\"pl-ii\"\u003e// \"Histogram\" or \"Gaussian\"\u003c/span\u003e\n}\n\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eFeature Selection\u003c/h3\u003e\u003ca id=\"user-content-feature-selection\" class=\"anchor\" aria-label=\"Permalink: Feature Selection\" href=\"#feature-selection\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003e#\u003c/code\u003e before feature names in the config file to exclude them\u003c/li\u003e\n\u003cli\u003eAutomatic filtering of high cardinality features\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecardinality_tolerance\u003c/code\u003e: -1 preserves exact precision, positive number rounds to that decimal place\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erandom_seed\u003c/code\u003e: -1 enables data shuffling, positive number ensures reproducible splits\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eGPU Optimization\u003c/h3\u003e\u003ca id=\"user-content-gpu-optimization\" class=\"anchor\" aria-label=\"Permalink: GPU Optimization\" href=\"#gpu-optimization\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAutomatic device selection with \u003ccode\u003ecompute_device: \"auto\"\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBatch processing for memory efficiency\u003c/li\u003e\n\u003cli\u003eParallel likelihood computation\u003c/li\u003e\n\u003cli\u003eOptimized tensor operations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eModel Persistence\u003c/h3\u003e\u003ca id=\"user-content-model-persistence\" class=\"anchor\" aria-label=\"Permalink: Model Persistence\" href=\"#model-persistence\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSaves and loads model weights\u003c/li\u003e\n\u003cli\u003ePreserves categorical encoders\u003c/li\u003e\n\u003cli\u003eMaintains model state between sessions\u003c/li\u003e\n\u003cli\u003eSupports continued training with \u003ccode\u003euse_previous_model\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eVisualization and Metrics\u003c/h3\u003e\u003ca id=\"user-content-visualization-and-metrics\" class=\"anchor\" aria-label=\"Permalink: Visualization and Metrics\" href=\"#visualization-and-metrics\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eConfusion matrices with colour coding\u003c/li\u003e\n\u003cli\u003eTraining progress plots\u003c/li\u003e\n\u003cli\u003eProbability distribution visualizations\u003c/li\u003e\n\u003cli\u003eDetailed classification reports\u003c/li\u003e\n\u003cli\u003eConfidence metrics for predictions\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eInteractive Training\u003c/h3\u003e\u003ca id=\"user-content-interactive-training\" class=\"anchor\" aria-label=\"Permalink: Interactive Training\" href=\"#interactive-training\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ePress 'q' or 'Q' to skip to the next training phase (requires X11 on Linux)\u003c/li\u003e\n\u003cli\u003eEarly stopping based on error rates\u003c/li\u003e\n\u003cli\u003eAdaptive sample selection with configurable thresholds\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eUsage Examples\u003c/h2\u003e\u003ca id=\"user-content-usage-examples\" class=\"anchor\" aria-label=\"Permalink: Usage Examples\" href=\"#usage-examples\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBasic Training\u003c/h3\u003e\u003ca id=\"user-content-basic-training\" class=\"anchor\" aria-label=\"Permalink: Basic Training\" href=\"#basic-training\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"highlight highlight-source-python notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"model = GPUDBNN(dataset_name='your_dataset')\nresults = model.fit_predict(batch_size=32)\"\u003e\u003cpre\u003e\u003cspan class=\"pl-s1\"\u003emodel\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e \u003cspan class=\"pl-en\"\u003eGPUDBNN\u003c/span\u003e(\u003cspan class=\"pl-s1\"\u003edataset_name\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e'your_dataset'\u003c/span\u003e)\n\u003cspan class=\"pl-s1\"\u003eresults\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e \u003cspan class=\"pl-s1\"\u003emodel\u003c/span\u003e.\u003cspan class=\"pl-c1\"\u003efit_predict\u003c/span\u003e(\u003cspan class=\"pl-s1\"\u003ebatch_size\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e32\u003c/span\u003e)\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eAdaptive Learning\u003c/h3\u003e\u003ca id=\"user-content-adaptive-learning-1\" class=\"anchor\" aria-label=\"Permalink: Adaptive Learning\" href=\"#adaptive-learning-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"highlight highlight-source-python notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"model = GPUDBNN(dataset_name='your_dataset', fresh=True)\nhistory = model.adaptive_fit_predict(max_rounds=10)\"\u003e\u003cpre\u003e\u003cspan class=\"pl-s1\"\u003emodel\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e \u003cspan class=\"pl-en\"\u003eGPUDBNN\u003c/span\u003e(\u003cspan class=\"pl-s1\"\u003edataset_name\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e\u003cspan class=\"pl-s\"\u003e'your_dataset'\u003c/span\u003e, \u003cspan class=\"pl-s1\"\u003efresh\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003eTrue\u003c/span\u003e)\n\u003cspan class=\"pl-s1\"\u003ehistory\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e \u003cspan class=\"pl-s1\"\u003emodel\u003c/span\u003e.\u003cspan class=\"pl-c1\"\u003eadaptive_fit_predict\u003c/span\u003e(\u003cspan class=\"pl-s1\"\u003emax_rounds\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e\u003cspan class=\"pl-c1\"\u003e10\u003c/span\u003e)\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eData Format Conversion\u003c/h3\u003e\u003ca id=\"user-content-data-format-conversion\" class=\"anchor\" aria-label=\"Permalink: Data Format Conversion\" href=\"#data-format-conversion\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eUse \u003ccode\u003espace2csv.py\u003c/code\u003e to convert space-separated files to CSV:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-python notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"python space2csv.py input_file.txt output_file.csv\"\u003e\u003cpre\u003e\u003cspan class=\"pl-s1\"\u003epython\u003c/span\u003e \u003cspan class=\"pl-s1\"\u003espace2csv\u003c/span\u003e.\u003cspan class=\"pl-c1\"\u003epy\u003c/span\u003e \u003cspan class=\"pl-s1\"\u003einput_file\u003c/span\u003e.\u003cspan class=\"pl-c1\"\u003etxt\u003c/span\u003e \u003cspan class=\"pl-s1\"\u003eoutput_file\u003c/span\u003e.\u003cspan class=\"pl-c1\"\u003ecsv\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eRequirements\u003c/h2\u003e\u003ca id=\"user-content-requirements\" class=\"anchor\" aria-label=\"Permalink: Requirements\" href=\"#requirements\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ePyTorch\u003c/li\u003e\n\u003cli\u003eNumPy\u003c/li\u003e\n\u003cli\u003ePandas\u003c/li\u003e\n\u003cli\u003eScikit-learn\u003c/li\u003e\n\u003cli\u003eMatplotlib\u003c/li\u003e\n\u003cli\u003eCUDA (optional for GPU acceleration)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ePerformance Considerations\u003c/h2\u003e\u003ca id=\"user-content-performance-considerations\" class=\"anchor\" aria-label=\"Permalink: Performance Considerations\" href=\"#performance-considerations\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUse GPU acceleration for large datasets\u003c/li\u003e\n\u003cli\u003eAdjust batch size based on available memory\u003c/li\u003e\n\u003cli\u003eConfigure bin sizes based on data distribution\u003c/li\u003e\n\u003cli\u003eTune active learning parameters for optimal sample selection\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eError Handling\u003c/h2\u003e\u003ca id=\"user-content-error-handling\" class=\"anchor\" aria-label=\"Permalink: Error Handling\" href=\"#error-handling\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAutomatic fallback to CPU if GPU unavailable\u003c/li\u003e\n\u003cli\u003eRobust handling of missing values\u003c/li\u003e\n\u003cli\u003eGraceful degradation for large datasets\u003c/li\u003e\n\u003cli\u003eComprehensive error reporting\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eContributions and Issues\u003c/h2\u003e\u003ca id=\"user-content-contributions-and-issues\" class=\"anchor\" aria-label=\"Permalink: Contributions and Issues\" href=\"#contributions-and-issues\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003ePlease report any issues or contribute improvements through the project repository.\u003c/p\u003e\n\u003chr\u003e\n\u003cp dir=\"auto\"\u003e\u003cem\u003eNote: This implementation extends the original DBNN with modern optimizations and additional features while maintaining its core principles of simplicity and effectiveness.\u003c/em\u003e\u003c/p\u003e\n\u003c/article\u003e","renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"Deep Bayesian Neural Network (DBNN) Implementation","kind":"section_1","ident_start":2,"ident_end":52,"extent_start":0,"extent_end":7532,"fully_qualified_name":"Deep Bayesian Neural Network (DBNN) Implementation","ident_utf16":{"start":{"line_number":0,"utf16_col":2},"end":{"line_number":0,"utf16_col":52}},"extent_utf16":{"start":{"line_number":0,"utf16_col":0},"end":{"line_number":188,"utf16_col":0}}},{"name":"Key Features","kind":"section_2","ident_start":445,"ident_end":457,"extent_start":442,"extent_end":6282,"fully_qualified_name":"Key Features","ident_utf16":{"start":{"line_number":4,"utf16_col":3},"end":{"line_number":4,"utf16_col":15}},"extent_utf16":{"start":{"line_number":4,"utf16_col":0},"end":{"line_number":143,"utf16_col":0}}},{"name":"Model Types","kind":"section_3","ident_start":463,"ident_end":474,"extent_start":459,"extent_end":653,"fully_qualified_name":"Model Types","ident_utf16":{"start":{"line_number":6,"utf16_col":4},"end":{"line_number":6,"utf16_col":15}},"extent_utf16":{"start":{"line_number":6,"utf16_col":0},"end":{"line_number":10,"utf16_col":0}}},{"name":"Adaptive Learning","kind":"section_3","ident_start":657,"ident_end":674,"extent_start":653,"extent_end":1410,"fully_qualified_name":"Adaptive Learning","ident_utf16":{"start":{"line_number":10,"utf16_col":4},"end":{"line_number":10,"utf16_col":21}},"extent_utf16":{"start":{"line_number":10,"utf16_col":0},"end":{"line_number":23,"utf16_col":0}}},{"name":"Configuration Options for adaptive_dbnn.conf","kind":"section_3","ident_start":1414,"ident_end":1458,"extent_start":1410,"extent_end":3175,"fully_qualified_name":"Configuration Options for adaptive_dbnn.conf","ident_utf16":{"start":{"line_number":23,"utf16_col":4},"end":{"line_number":23,"utf16_col":48}},"extent_utf16":{"start":{"line_number":23,"utf16_col":0},"end":{"line_number":60,"utf16_col":0}}},{"name":"Configuration Options for sample data (for example, adult.csv from UCI)","kind":"section_3","ident_start":3179,"ident_end":3250,"extent_start":3175,"extent_end":5172,"fully_qualified_name":"Configuration Options for sample data (for example, adult.csv from UCI)","ident_utf16":{"start":{"line_number":60,"utf16_col":4},"end":{"line_number":60,"utf16_col":75}},"extent_utf16":{"start":{"line_number":60,"utf16_col":0},"end":{"line_number":113,"utf16_col":0}}},{"name":"Feature Selection","kind":"section_3","ident_start":5176,"ident_end":5193,"extent_start":5172,"extent_end":5502,"fully_qualified_name":"Feature Selection","ident_utf16":{"start":{"line_number":113,"utf16_col":4},"end":{"line_number":113,"utf16_col":21}},"extent_utf16":{"start":{"line_number":113,"utf16_col":0},"end":{"line_number":119,"utf16_col":0}}},{"name":"GPU Optimization","kind":"section_3","ident_start":5506,"ident_end":5522,"extent_start":5502,"extent_end":5688,"fully_qualified_name":"GPU Optimization","ident_utf16":{"start":{"line_number":119,"utf16_col":4},"end":{"line_number":119,"utf16_col":20}},"extent_utf16":{"start":{"line_number":119,"utf16_col":0},"end":{"line_number":125,"utf16_col":0}}},{"name":"Model Persistence","kind":"section_3","ident_start":5692,"ident_end":5709,"extent_start":5688,"extent_end":5873,"fully_qualified_name":"Model Persistence","ident_utf16":{"start":{"line_number":125,"utf16_col":4},"end":{"line_number":125,"utf16_col":21}},"extent_utf16":{"start":{"line_number":125,"utf16_col":0},"end":{"line_number":131,"utf16_col":0}}},{"name":"Visualization and Metrics","kind":"section_3","ident_start":5877,"ident_end":5902,"extent_start":5873,"extent_end":6083,"fully_qualified_name":"Visualization and Metrics","ident_utf16":{"start":{"line_number":131,"utf16_col":4},"end":{"line_number":131,"utf16_col":29}},"extent_utf16":{"start":{"line_number":131,"utf16_col":0},"end":{"line_number":138,"utf16_col":0}}},{"name":"Interactive Training","kind":"section_3","ident_start":6087,"ident_end":6107,"extent_start":6083,"extent_end":6282,"fully_qualified_name":"Interactive Training","ident_utf16":{"start":{"line_number":138,"utf16_col":4},"end":{"line_number":138,"utf16_col":24}},"extent_utf16":{"start":{"line_number":138,"utf16_col":0},"end":{"line_number":143,"utf16_col":0}}},{"name":"Usage Examples","kind":"section_2","ident_start":6285,"ident_end":6299,"extent_start":6282,"extent_end":6722,"fully_qualified_name":"Usage Examples","ident_utf16":{"start":{"line_number":143,"utf16_col":3},"end":{"line_number":143,"utf16_col":17}},"extent_utf16":{"start":{"line_number":143,"utf16_col":0},"end":{"line_number":163,"utf16_col":0}}},{"name":"Basic Training","kind":"section_3","ident_start":6305,"ident_end":6319,"extent_start":6301,"extent_end":6423,"fully_qualified_name":"Basic Training","ident_utf16":{"start":{"line_number":145,"utf16_col":4},"end":{"line_number":145,"utf16_col":18}},"extent_utf16":{"start":{"line_number":145,"utf16_col":0},"end":{"line_number":151,"utf16_col":0}}},{"name":"Adaptive Learning","kind":"section_3","ident_start":6427,"ident_end":6444,"extent_start":6423,"extent_end":6569,"fully_qualified_name":"Adaptive Learning","ident_utf16":{"start":{"line_number":151,"utf16_col":4},"end":{"line_number":151,"utf16_col":21}},"extent_utf16":{"start":{"line_number":151,"utf16_col":0},"end":{"line_number":157,"utf16_col":0}}},{"name":"Data Format Conversion","kind":"section_3","ident_start":6573,"ident_end":6595,"extent_start":6569,"extent_end":6722,"fully_qualified_name":"Data Format Conversion","ident_utf16":{"start":{"line_number":157,"utf16_col":4},"end":{"line_number":157,"utf16_col":26}},"extent_utf16":{"start":{"line_number":157,"utf16_col":0},"end":{"line_number":163,"utf16_col":0}}},{"name":"Requirements","kind":"section_2","ident_start":6725,"ident_end":6737,"extent_start":6722,"extent_end":6833,"fully_qualified_name":"Requirements","ident_utf16":{"start":{"line_number":163,"utf16_col":3},"end":{"line_number":163,"utf16_col":15}},"extent_utf16":{"start":{"line_number":163,"utf16_col":0},"end":{"line_number":171,"utf16_col":0}}},{"name":"Performance Considerations","kind":"section_2","ident_start":6836,"ident_end":6862,"extent_start":6833,"extent_end":7064,"fully_qualified_name":"Performance Considerations","ident_utf16":{"start":{"line_number":171,"utf16_col":3},"end":{"line_number":171,"utf16_col":29}},"extent_utf16":{"start":{"line_number":171,"utf16_col":0},"end":{"line_number":177,"utf16_col":0}}},{"name":"Error Handling","kind":"section_2","ident_start":7067,"ident_end":7081,"extent_start":7064,"extent_end":7240,"fully_qualified_name":"Error Handling","ident_utf16":{"start":{"line_number":177,"utf16_col":3},"end":{"line_number":177,"utf16_col":17}},"extent_utf16":{"start":{"line_number":177,"utf16_col":0},"end":{"line_number":183,"utf16_col":0}}},{"name":"Contributions and Issues","kind":"section_2","ident_start":7243,"ident_end":7267,"extent_start":7240,"extent_end":7532,"fully_qualified_name":"Contributions and Issues","ident_utf16":{"start":{"line_number":183,"utf16_col":3},"end":{"line_number":183,"utf16_col":27}},"extent_utf16":{"start":{"line_number":183,"utf16_col":0},"end":{"line_number":188,"utf16_col":0}}}]}},"copilotInfo":null,"copilotAccessAllowed":true,"modelsAccessAllowed":false,"csrf_tokens":{"/sajeethphilip/DBNN_py/branches":{"post":"tse4ZL4_G_iPkW8cTzSOOgkfzGrnISHU7mkGxmTdYxWImolAhNQv7a25brtQLbh_zDE9YaeXzgYF7qZrRvx4zg"},"/repos/preferences":{"post":"-nVO_uvlV1dQv7WWJWo4v7nZpTElu0sw23StglanJew30S6qBDjNdD4PoiUHWMyyv3BdeSZBOkcGuf1TK2mF9g"}}},"title":"DBNN_py/README.md at main · sajeethphilip/DBNN_py","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-9f8a877aa99f.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-eb3d353f90ce.js","githubDevUrl":"https://github.dev/","enabled_features":{"code_nav_ui_events":false,"overview_shared_code_dropdown_button":false,"react_blob_overlay":false,"copilot_conversational_ux_embedding_update":false,"copilot_smell_icebreaker_ux":true,"accessible_code_button":true}}}</script>
README.md
README.md
The Difference Boosting Neural Network (DBNN), initially published in Intelligent Data Analysis, 4(2000) 463-473, IOS Press, is a simple yet effective Bayesian network that applies imposed conditional independence of joint probability of multiple features for classification. This implementation extends the original work with modern GPU optimization and adaptive learning capabilities.
- Histogram Model: Uses non-parametric density estimation with configurable bin sizes
- Gaussian Model: Uses multivariate normal distribution for feature pair modelling
Based on "What is there in a training sample?" (2009 World Congress on Nature & Biologically Inspired Computing), the implementation includes brilliant sample selection with configurable parameters:
-
active_learning_tolerance: Controls sample selection based on probability margins- Range: 1.0 to 99.0 (higher means more samples selected)
- Default: 3.0 (samples within 3% of maximum probability)
- Example: 99.0 selects samples within 99% of the maximum probability
-
cardinality_threshold_percentile: Controls feature complexity threshold- Range: 1 to 100 (lower means more samples selected)
- Default: 95 (95th percentile)
- Example: 75 means selecting samples below the 75th percentile of feature cardinality
<span class="pl-ii">/* Model and computation settings */</span>
<span class="pl-ent">"modelType"</span>: <span class="pl-s"><span class="pl-pds">"</span>Histogram<span class="pl-pds">"</span></span>, <span class="pl-ii">// Model type: "Histogram" or "Gaussian"</span>
<span class="pl-ent">"compute_device"</span>: <span class="pl-s"><span class="pl-pds">"</span>auto<span class="pl-pds">"</span></span>, <span class="pl-ii">// "auto", "cuda", or "cpu"</span>
<span class="pl-ent">"use_interactive_kbd"</span>: <span class="pl-c1">false</span>, <span class="pl-ii">// Enable keyboard interaction</span>
<span class="pl-ent">"debug_enabled"</span>: <span class="pl-c1">true</span>, <span class="pl-ii">// Enable detailed debug logging</span>
<span class="pl-ii">/* Training data management */</span>
<span class="pl-ent">"Save_training_epochs"</span>: <span class="pl-c1">true</span>, <span class="pl-ii">// Save data for each epoch</span>
<span class="pl-ent">"training_save_path"</span>: <span class="pl-s"><span class="pl-pds">"</span>training_data<span class="pl-pds">"</span></span> <span class="pl-ii">// Path for saving training data</span>
},
<span class="pl-ent">"execution_flags"</span>: {
<span class="pl-ent">"train"</span>: <span class="pl-c1">true</span>, <span class="pl-ii">// Enable training</span>
<span class="pl-ent">"train_only"</span>: <span class="pl-c1">false</span>, <span class="pl-ii">// Only perform training</span>
<span class="pl-ent">"predict"</span>: <span class="pl-c1">true</span>, <span class="pl-ii">// Enable prediction</span>
<span class="pl-ent">"gen_samples"</span>: <span class="pl-c1">false</span>, <span class="pl-ii">// Generate sample datasets</span>
<span class="pl-ent">"fresh_start"</span>: <span class="pl-c1">false</span>, <span class="pl-ii">// Start fresh training</span>
<span class="pl-ent">"use_previous_model"</span>: <span class="pl-c1">true</span> <span class="pl-ii">// Use previously trained model if available</span>
}
}
<span class="pl-ii">/* Likelihood computation settings */</span>
<span class="pl-ent">"likelihood_config"</span>: {
<span class="pl-ent">"feature_group_size"</span>: <span class="pl-c1">2</span>, <span class="pl-ii">// Size of feature groups (usually 2)</span>
<span class="pl-ent">"max_combinations"</span>: <span class="pl-c1">1000</span>, <span class="pl-ii">// Maximum feature combinations</span>
<span class="pl-ent">"bin_sizes"</span>: [<span class="pl-c1">20</span>] <span class="pl-ii">// Bin sizes for histogram. This can also be variable sizes for each feature [20,33,64..]</span>
},
<span class="pl-ii">/* Active learning parameters */</span>
<span class="pl-ent">"active_learning"</span>: {
<span class="pl-ent">"tolerance"</span>: <span class="pl-c1">1.0</span>, <span class="pl-ii">// Learning tolerance</span>
<span class="pl-ent">"cardinality_threshold_percentile"</span>: <span class="pl-c1">95</span>, <span class="pl-ii">// Percentile for cardinality threshold</span>
<span class="pl-ent">"strong_margin_threshold"</span>: <span class="pl-c1">0.3</span>, <span class="pl-ii">// Threshold for strong failures</span>
<span class="pl-ent">"marginal_margin_threshold"</span>: <span class="pl-c1">0.1</span>, <span class="pl-ii">// Threshold for marginal failures</span>
<span class="pl-ent">"min_divergence"</span>: <span class="pl-c1">0.1</span> <span class="pl-ii">// Minimum divergence between samples</span>
},
<span class="pl-ii">/* Training parameters specific to this dataset */</span>
<span class="pl-ent">"training_params"</span>: {
<span class="pl-ent">"Save_training_epochs"</span>: <span class="pl-c1">true</span>, <span class="pl-ii">// Save epoch-specific data</span>
<span class="pl-ent">"training_save_path"</span>: <span class="pl-s"><span class="pl-pds">"</span>training_data/dataset_name<span class="pl-pds">"</span></span> <span class="pl-ii">// Dataset-specific save path</span>
},
<span class="pl-ii">/* Model selection */</span>
<span class="pl-ent">"modelType"</span>: <span class="pl-s"><span class="pl-pds">"</span>Histogram<span class="pl-pds">"</span></span> <span class="pl-ii">// "Histogram" or "Gaussian"</span>
}
- Add
#before feature names in the config file to exclude them - Automatic filtering of high cardinality features
cardinality_tolerance: -1 preserves exact precision, positive number rounds to that decimal placerandom_seed: -1 enables data shuffling, positive number ensures reproducible splits
- Automatic device selection with
compute_device: "auto" - Batch processing for memory efficiency
- Parallel likelihood computation
- Optimized tensor operations
- Saves and loads model weights
- Preserves categorical encoders
- Maintains model state between sessions
- Supports continued training with
use_previous_model
- Confusion matrices with colour coding
- Training progress plots
- Probability distribution visualizations
- Detailed classification reports
- Confidence metrics for predictions
- Press 'q' or 'Q' to skip to the next training phase (requires X11 on Linux)
- Early stopping based on error rates
- Adaptive sample selection with configurable thresholds
model = GPUDBNN(dataset_name='your_dataset')
results = model.fit_predict(batch_size=32)model = GPUDBNN(dataset_name='your_dataset', fresh=True)
history = model.adaptive_fit_predict(max_rounds=10)Use space2csv.py to convert space-separated files to CSV:
python space2csv.py input_file.txt output_file.csv- PyTorch
- NumPy
- Pandas
- Scikit-learn
- Matplotlib
- CUDA (optional for GPU acceleration)
- Use GPU acceleration for large datasets
- Adjust batch size based on available memory
- Configure bin sizes based on data distribution
- Tune active learning parameters for optimal sample selection
- Automatic fallback to CPU if GPU unavailable
- Robust handling of missing values
- Graceful degradation for large datasets
- Comprehensive error reporting
Please report any issues or contribute improvements through the project repository.
Note: This implementation extends the original DBNN with modern optimizations and additional features while maintaining its core principles of simplicity and effectiveness.
Symbols
- sDeep Bayesian Neural Network (DBNN) Implementation
- sKey Features
- sModel Types
- sAdaptive Learning
- sConfiguration Options for adaptive_dbnn.conf
- sConfiguration Options for sample data (for example, adult.csv from UCI)
- sFeature Selection
- sGPU Optimization
</main>
<footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" >
Footer
<nav aria-label="Footer">
<h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3>
<ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading">
<li class="mx-2">
<a data-analytics-event="{"category":"Footer","action":"go to Terms","label":"text:terms"}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a>
</li>
<li class="mx-2">
<a data-analytics-event="{"category":"Footer","action":"go to privacy","label":"text:privacy"}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a>
</li>
<li class="mx-2">
<a data-analytics-event="{"category":"Footer","action":"go to security","label":"text:security"}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a>
</li>
<li class="mx-2">
<a data-analytics-event="{"category":"Footer","action":"go to status","label":"text:status"}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a>
</li>
<li class="mx-2">
<a data-analytics-event="{"category":"Footer","action":"go to docs","label":"text:docs"}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a>
</li>
<li class="mx-2">
<a data-analytics-event="{"category":"Footer","action":"go to contact","label":"text:contact"}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a>
</li>
<li class="mx-2" >
Manage cookies
</ul>
</nav>
<ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="" data-cookie-consent-required="false"></ghcc-consent>
<template id="site-details-dialog">
<div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;">
<template id="snippet-clipboard-copy-button">
<style>
.user-mention[href$="/sajeethphilip"] {
color: var(--color-user-mention-fg);
background-color: var(--bgColor-attention-muted, var(--color-attention-subtle));
border-radius: 2px;
margin-left: -2px;
margin-right: -2px;
}
.user-mention[href$="/sajeethphilip"]:before,
.user-mention[href$="/sajeethphilip"]:after {
content: '';
display: inline-block;
width: 2px;
}
</style>
</div>
<div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div>
<div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file adaptive_dbnn-2.1.0.tar.gz.
File metadata
- Download URL: adaptive_dbnn-2.1.0.tar.gz
- Upload date:
- Size: 194.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d650801be50aeb2c35866652bb80dd7e3ede73274b5be0c8a1474b7ab6aa5cd
|
|
| MD5 |
4fead8f235c2e4764ff9ae7cb07e8aaa
|
|
| BLAKE2b-256 |
15f096508f6c65e2a0b0010775f22c2cf292354b206c4835b9ab2832c435ed5a
|
File details
Details for the file adaptive_dbnn-2.1.0-py3-none-any.whl.
File metadata
- Download URL: adaptive_dbnn-2.1.0-py3-none-any.whl
- Upload date:
- Size: 64.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97ee7839aa226002d3ed783f6748daa1af7549f8fc36774906955d8601f1f40a
|
|
| MD5 |
d831a3faea85f46b9138521003a2a5a1
|
|
| BLAKE2b-256 |
d02010a2332a462d054732eaf3a63cab38509f0788ec272920d4e7fcb66ecb85
|