From 167871ee4a46c0b65fe5a2cddca173d7b61076a2 Mon Sep 17 00:00:00 2001 From: kkew3 <kkew3@users.noreply.github.com> Date: Mon, 12 Aug 2024 21:15:46 +0000 Subject: [PATCH] jekyll build from Action 3e38bee725ec84e30c6926683024fb24be777807 --- .nojekyll | 0 ...-tornado-executable-project-using-tcl.html | 184 ++++ ...algorithm-termination-condition-proof.html | 173 ++++ .../02/validate-xml-via-dtd-using-java.html | 317 ++++++ 2016/12/27/apache-ant-extension-tutorial.html | 252 +++++ ...istribution-and-original-distribution.html | 119 +++ ...ab-r2011b-neural-network-toolbox-note.html | 130 +++ .../pytorch-crop-images-differentially.html | 191 ++++ ...lign-strings-in-en-and-zh-like-bsd-ls.html | 185 ++++ .../11/python-align-strings-in-en-and-zh.html | 151 +++ ...ist-imported-python-modules-using-ast.html | 441 +++++++++ 2022/02/17/python-tox-usage-note.html | 280 ++++++ ...-import-name-sysconfig-from-distutils.html | 158 +++ ...music-from-mac-to-ipad-without-itunes.html | 119 +++ ...lop-python-cpp-extension-using-cython.html | 216 +++++ ...-dynamic-array-between-cpp-and-python.html | 202 ++++ 2022/07/24/read-hdf5-from-cpp.html | 223 +++++ 2022/07/24/set-up-github-pages-macos.html | 164 ++++ ...notes-build-cython-using-setup-dot-py.html | 199 ++++ 2022/08/31/vae-training-trick.html | 122 +++ .../05/learn-applescript-for-beginners.html | 550 +++++++++++ 2023/03/27/pizzahut-free-soda.html | 112 +++ ...-decide-the-type-of-a-pokemon-quickly.html | 189 ++++ ...wsl2-from-another-machine-within-wlan.html | 140 +++ ...wsl2-from-another-machine-within-wlan.html | 265 +++++ 2023/08/05/compute-svm-intercept.html | 376 +++++++ 2023/08/05/dual-of-dual-of-qp.html | 172 ++++ .../make-use-of-openmp-via-cython-on-mac.html | 208 ++++ ...nce-of-multihead-attention-in-pytorch.html | 146 +++ ...tation-of-function-of-random-variable.html | 456 +++++++++ .../06/dimensionality-reduction-by-svd.html | 152 +++ 2023/11/03/map-estimation-cov-gmm.html | 169 ++++ 2023/11/28/toss-coin.html | 274 ++++++ 2024/01/05/type-assertion-numba-trick.html | 122 +++ ...ully-differentiable-nnomp-alternative.html | 174 ++++ .../make-faded-color-wallpaper-for-mac.html | 235 +++++ ...t-python-packages-jekyll-github-pages.html | 154 +++ .../quad-approximate-sigmoid-derivative.html | 128 +++ .../26/simple-numerical-matrix-inversion.html | 149 +++ ...earn-bayesian-lr-from-imbalanced-data.html | 419 ++++++++ ...erage-ollama-in-iterm2-ai-integration.html | 154 +++ .../07/06/compute-accuracy-from-f1-score.html | 237 +++++ 2024/08/09/gamma-in-bn-vae.html | 139 +++ ...ence-between-any-density-and-gaussian.html | 194 ++++ 404.html | 109 +++ about/index.html | 101 ++ assets/main.css | 1 + assets/minima-social-icons.svg | 33 + assets/posts_imgs/2023-10-04/output_11_0.png | Bin 0 -> 18539 bytes assets/posts_imgs/2023-10-04/output_13_0.png | Bin 0 -> 20718 bytes assets/posts_imgs/2023-11-03/plate.jpg | Bin 0 -> 23262 bytes .../2023-11-28/classic_empirical_bayes.jpg | Bin 0 -> 10127 bytes .../posts_imgs/2023-11-28/coin_with_prior.jpg | Bin 0 -> 13513 bytes assets/posts_imgs/2024-02-01/darkgreen.jpg | Bin 0 -> 210882 bytes .../posts_imgs/2024-02-11/dsigma-maxquad.png | Bin 0 -> 28267 bytes .../posts_imgs/2024-02-11/dsigma-softplus.png | Bin 0 -> 29087 bytes assets/posts_imgs/2024-05-17/dataset.png | Bin 0 -> 25667 bytes .../2024-05-17/precise-biased-db.png | Bin 0 -> 18213 bytes .../2024-05-17/precise-biased-unc.png | Bin 0 -> 21938 bytes .../2024-05-17/precise-uninformative-db.png | Bin 0 -> 18056 bytes .../2024-05-17/precise-uninformative-unc.png | Bin 0 -> 23247 bytes .../2024-05-17/uninformative-db.png | Bin 0 -> 17840 bytes .../2024-05-17/uninformative-rescaled-db.png | Bin 0 -> 17727 bytes .../2024-05-17/uninformative-rescaled-unc.png | Bin 0 -> 21443 bytes .../2024-05-17/uninformative-unc.png | Bin 0 -> 21383 bytes .../posts_imgs/2024-06-13/iterm2-ai-demo.gif | Bin 0 -> 880549 bytes assets/posts_imgs/pizzahut-free-soda.jpg | Bin 0 -> 39842 bytes .../spare-time-research/chem-eq-balance.pdf | Bin 0 -> 89397 bytes .../covid19-test-analysis.pdf | Bin 0 -> 68234 bytes assets/spare-time-research/cross-walker.pdf | Bin 0 -> 92614 bytes docs/index.html | 107 ++ feed.xml | 914 ++++++++++++++++++ index.html | 483 +++++++++ .../alfred-fzf-helper-0.2.0.tar.gz | Bin 0 -> 2605 bytes pip/index.html | 96 ++ robots.txt | 1 + sitemap.xml | 199 ++++ tags/algorithm/index.html | 104 ++ tags/dev--applescript/index.html | 104 ++ tags/dev--cpp/index.html | 120 +++ tags/dev--cython/index.html | 120 +++ tags/dev--java/index.html | 113 +++ tags/dev--matlab/index.html | 104 ++ tags/dev--network/index.html | 113 +++ tags/dev--python/index.html | 176 ++++ tags/dev--pytorch/index.html | 113 +++ tags/dev--tcl/index.html | 104 ++ tags/index.html | 251 +++++ tags/math--approx/index.html | 104 ++ tags/math--la/index.html | 127 +++ tags/math--prob/index.html | 134 +++ tags/misc/index.html | 127 +++ tags/ml--bayes/index.html | 113 +++ tags/ml--dict/index.html | 104 ++ tags/ml--svm/index.html | 104 ++ tags/ml/index.html | 120 +++ tags/os--ios/index.html | 104 ++ tags/os--macos/index.html | 120 +++ tags/os--ubuntu/index.html | 104 ++ 99 files changed, 13867 insertions(+) create mode 100644 .nojekyll create mode 100644 2016/03/25/manage-vxworks-tornado-executable-project-using-tcl.html create mode 100644 2016/05/01/banker-algorithm-termination-condition-proof.html create mode 100644 2016/09/02/validate-xml-via-dtd-using-java.html create mode 100644 2016/12/27/apache-ant-extension-tutorial.html create mode 100644 2017/04/23/relation-between-truncated-distribution-and-original-distribution.html create mode 100644 2017/07/20/matlab-r2011b-neural-network-toolbox-note.html create mode 100644 2020/05/22/pytorch-crop-images-differentially.html create mode 100644 2022/02/05/align-strings-in-en-and-zh-like-bsd-ls.html create mode 100644 2022/02/11/python-align-strings-in-en-and-zh.html create mode 100644 2022/02/13/list-imported-python-modules-using-ast.html create mode 100644 2022/02/17/python-tox-usage-note.html create mode 100644 2022/05/18/python-cannot-import-name-sysconfig-from-distutils.html create mode 100644 2022/05/24/sync-music-from-mac-to-ipad-without-itunes.html create mode 100644 2022/05/26/develop-python-cpp-extension-using-cython.html create mode 100644 2022/06/02/pass-dynamic-array-between-cpp-and-python.html create mode 100644 2022/07/24/read-hdf5-from-cpp.html create mode 100644 2022/07/24/set-up-github-pages-macos.html create mode 100644 2022/08/09/notes-build-cython-using-setup-dot-py.html create mode 100644 2022/08/31/vae-training-trick.html create mode 100644 2023/03/05/learn-applescript-for-beginners.html create mode 100644 2023/03/27/pizzahut-free-soda.html create mode 100644 2023/04/26/how-to-decide-the-type-of-a-pokemon-quickly.html create mode 100644 2023/07/05/connect-to-jupyter-notebook-on-wsl2-from-another-machine-within-wlan.html create mode 100644 2023/07/05/connect-to-wsl2-from-another-machine-within-wlan.html create mode 100644 2023/08/05/compute-svm-intercept.html create mode 100644 2023/08/05/dual-of-dual-of-qp.html create mode 100644 2023/09/10/make-use-of-openmp-via-cython-on-mac.html create mode 100644 2023/09/24/verify-permutation-equivalence-of-multihead-attention-in-pytorch.html create mode 100644 2023/10/04/estimate-expectation-of-function-of-random-variable.html create mode 100644 2023/10/06/dimensionality-reduction-by-svd.html create mode 100644 2023/11/03/map-estimation-cov-gmm.html create mode 100644 2023/11/28/toss-coin.html create mode 100644 2024/01/05/type-assertion-numba-trick.html create mode 100644 2024/01/26/attempt-fully-differentiable-nnomp-alternative.html create mode 100644 2024/02/01/make-faded-color-wallpaper-for-mac.html create mode 100644 2024/02/04/host-python-packages-jekyll-github-pages.html create mode 100644 2024/02/11/quad-approximate-sigmoid-derivative.html create mode 100644 2024/02/26/simple-numerical-matrix-inversion.html create mode 100644 2024/05/17/learn-bayesian-lr-from-imbalanced-data.html create mode 100644 2024/06/13/leverage-ollama-in-iterm2-ai-integration.html create mode 100644 2024/07/06/compute-accuracy-from-f1-score.html create mode 100644 2024/08/09/gamma-in-bn-vae.html create mode 100644 2024/08/09/lower-bound-of-kl-divergence-between-any-density-and-gaussian.html create mode 100644 404.html create mode 100644 about/index.html create mode 100644 assets/main.css create mode 100644 assets/minima-social-icons.svg create mode 100644 assets/posts_imgs/2023-10-04/output_11_0.png create mode 100644 assets/posts_imgs/2023-10-04/output_13_0.png create mode 100644 assets/posts_imgs/2023-11-03/plate.jpg create mode 100644 assets/posts_imgs/2023-11-28/classic_empirical_bayes.jpg create mode 100644 assets/posts_imgs/2023-11-28/coin_with_prior.jpg create mode 100644 assets/posts_imgs/2024-02-01/darkgreen.jpg create mode 100644 assets/posts_imgs/2024-02-11/dsigma-maxquad.png create mode 100644 assets/posts_imgs/2024-02-11/dsigma-softplus.png create mode 100644 assets/posts_imgs/2024-05-17/dataset.png create mode 100644 assets/posts_imgs/2024-05-17/precise-biased-db.png create mode 100644 assets/posts_imgs/2024-05-17/precise-biased-unc.png create mode 100644 assets/posts_imgs/2024-05-17/precise-uninformative-db.png create mode 100644 assets/posts_imgs/2024-05-17/precise-uninformative-unc.png create mode 100644 assets/posts_imgs/2024-05-17/uninformative-db.png create mode 100644 assets/posts_imgs/2024-05-17/uninformative-rescaled-db.png create mode 100644 assets/posts_imgs/2024-05-17/uninformative-rescaled-unc.png create mode 100644 assets/posts_imgs/2024-05-17/uninformative-unc.png create mode 100644 assets/posts_imgs/2024-06-13/iterm2-ai-demo.gif create mode 100644 assets/posts_imgs/pizzahut-free-soda.jpg create mode 100644 assets/spare-time-research/chem-eq-balance.pdf create mode 100644 assets/spare-time-research/covid19-test-analysis.pdf create mode 100644 assets/spare-time-research/cross-walker.pdf create mode 100644 docs/index.html create mode 100644 feed.xml create mode 100644 index.html create mode 100644 pip/alfred-fzf-helper/alfred-fzf-helper-0.2.0.tar.gz create mode 100644 pip/index.html create mode 100644 robots.txt create mode 100644 sitemap.xml create mode 100644 tags/algorithm/index.html create mode 100644 tags/dev--applescript/index.html create mode 100644 tags/dev--cpp/index.html create mode 100644 tags/dev--cython/index.html create mode 100644 tags/dev--java/index.html create mode 100644 tags/dev--matlab/index.html create mode 100644 tags/dev--network/index.html create mode 100644 tags/dev--python/index.html create mode 100644 tags/dev--pytorch/index.html create mode 100644 tags/dev--tcl/index.html create mode 100644 tags/index.html create mode 100644 tags/math--approx/index.html create mode 100644 tags/math--la/index.html create mode 100644 tags/math--prob/index.html create mode 100644 tags/misc/index.html create mode 100644 tags/ml--bayes/index.html create mode 100644 tags/ml--dict/index.html create mode 100644 tags/ml--svm/index.html create mode 100644 tags/ml/index.html create mode 100644 tags/os--ios/index.html create mode 100644 tags/os--macos/index.html create mode 100644 tags/os--ubuntu/index.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/2016/03/25/manage-vxworks-tornado-executable-project-using-tcl.html b/2016/03/25/manage-vxworks-tornado-executable-project-using-tcl.html new file mode 100644 index 000000000..d8f4f05f0 --- /dev/null +++ b/2016/03/25/manage-vxworks-tornado-executable-project-using-tcl.html @@ -0,0 +1,184 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>用TCL(工具命令语言)管理Tornado (for VxWorks) 可启动工程 | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="用TCL(工具命令语言)管理Tornado (for VxWorks) 可启动工程"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="尽管多数情况下要写VxWorks嵌入式应用程序代码常用Tornado编程环境,但有时可能会需要在命令行下完成简单的Tornado工程管理。本教程教授了如何将简单的工程管理迁移到Tornado外部并在命令行下实现(虽然这样做无法体验Tornado下的一些方便的功能)。"> +<meta property="og:description" content="尽管多数情况下要写VxWorks嵌入式应用程序代码常用Tornado编程环境,但有时可能会需要在命令行下完成简单的Tornado工程管理。本教程教授了如何将简单的工程管理迁移到Tornado外部并在命令行下实现(虽然这样做无法体验Tornado下的一些方便的功能)。"> +<link rel="canonical" href="https://kkew3.github.io/2016/03/25/manage-vxworks-tornado-executable-project-using-tcl.html"> +<meta property="og:url" content="https://kkew3.github.io/2016/03/25/manage-vxworks-tornado-executable-project-using-tcl.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2016-03-25T15:33:31+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="用TCL(工具命令语言)管理Tornado (for VxWorks) 可启动工程"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2016-03-25T15:33:31+00:00","datePublished":"2016-03-25T15:33:31+00:00","description":"尽管多数情况下要写VxWorks嵌入式应用程序代码常用Tornado编程环境,但有时可能会需要在命令行下完成简单的Tornado工程管理。本教程教授了如何将简单的工程管理迁移到Tornado外部并在命令行下实现(虽然这样做无法体验Tornado下的一些方便的功能)。","headline":"用TCL(工具命令语言)管理Tornado (for VxWorks) 可启动工程","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2016/03/25/manage-vxworks-tornado-executable-project-using-tcl.html"},"url":"https://kkew3.github.io/2016/03/25/manage-vxworks-tornado-executable-project-using-tcl.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">用TCL(工具命令语言)管理Tornado (for VxWorks) 可启动工程</h1> + <span><a href="https://kkew3.github.io/tags/dev--tcl"><code class="highlighter-rouge"><nobr>dev/tcl</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2016-03-25T15:33:31+00:00" itemprop="datePublished">Mar 25, 2016 at 15:33:31 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>尽管多数情况下要写VxWorks嵌入式应用程序代码常用Tornado编程环境,但有时可能会需要在命令行下完成简单的Tornado工程管理。本教程教授了如何将简单的工程管理迁移到Tornado外部并在命令行下实现(虽然这样做无法体验Tornado下的一些方便的功能)。</p> + +<ol> + <li> + <p>准备Tornado软件。首先得有Tornado的全套软件。我的是Tornado2.2。Tornado是否经过破解或是否安装都问题不大,只要有它的安装目录就可以。</p> + </li> + <li> + <p>配置环境。Tornado环境中已经配好了各种环境变量,所以我们要向在普通cmd下实现Tornado的基本功能,也需要手动配置相应的环境。a) 新建环境变量<code class="language-plaintext highlighter-rouge">WIND_BASE</code>,其值为Tornado的安装目录(例如我的Tornado安装在D盘Tornado2.2目录下,那么<code class="language-plaintext highlighter-rouge">WIND_BASE</code>值为<code class="language-plaintext highlighter-rouge">D:\Tornado2.2</code>;b) 新建环境变量<code class="language-plaintext highlighter-rouge">WIND_HOST_TYPE</code>,如果是Windows用户,那么需要将其值设为<code class="language-plaintext highlighter-rouge">x86-win32</code>,如果不是Windows用户,那么凭本人的知识就不太清楚了;c) 将<code class="language-plaintext highlighter-rouge">%WIND_BASE%\host\%WIND_HOST_TYPE%\bin</code>加入<code class="language-plaintext highlighter-rouge">PATH</code>环境变量;d) 新建环境变量<code class="language-plaintext highlighter-rouge">DIABLIB</code>,其值为<code class="language-plaintext highlighter-rouge">%WIND_BASE%/host/diab</code>(注意斜杠的方向)。注意这些变量必须真得加到系统环境变量中而不是仅在命令行上输<code class="language-plaintext highlighter-rouge">SET WIND_BASE=D:\Tornado2.2</code>等等。</p> + </li> + <li> + <p>配置<code class="language-plaintext highlighter-rouge">diab</code>和<code class="language-plaintext highlighter-rouge">gnu</code>工具链。在cmd中执行以下两条批处理命令:</p> + </li> +</ol> + +<pre><code class="language-cmd">wtxtcl.exe %WIND_BASE%/host/resource/tcl/app-config/Project/gnuInfoGen.tcl diab +wtxtcl.exe %WIND_BASE%/host/resource/tcl/app-config/Project/gnuInfoGen.tcl gnu +</code></pre> + +<ol> + <li>基本的工程管理方法(建议将下面的每条内容都写到TCL脚本文件中以方便调用)</li> +</ol> + +<p>a) 建立新工程(本例中BSP(板级支持包)以三星的嵌入式开发板<code class="language-plaintext highlighter-rouge">S3c2410BP</code>为例)</p> + +<div class="language-tcl highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># 加载过程库文件cmpScriptLib.tcl,其中定义了工程管理所需的各种方法</span> +source <span class="p">[</span>wtxPath host resource tcl app-config Project<span class="p">]</span>cmpScriptLib.tcl + +# 尝试创建名为<span class="s2">"Project0"</span>的可启动工程,注意Project0一定不能是已经存在的工程 +# 新工程位于%WIND_BASE%<span class="se">\t</span>arget<span class="se">\p</span>roj目录下,该目录由可接受任意个参数的命令wtxPath指定 +# S3c2410BP是BSP名,BSP应放在%WIND_BASE%<span class="se">\t</span>arget<span class="se">\c</span>onfig目录下 +cmpProjCreate S3c2410BP <span class="p">[</span>wtxPath target proj Project0<span class="p">]</span>Project0.wpj +cmpProjClose +</code></pre></div></div> + +<p>b) 删除工程(以删除工程”Project0”为例)</p> + +<div class="language-tcl highlighter-rouge"><div class="highlight"><pre class="highlight"><code>source <span class="p">[</span>wtxPath host resource tcl app-config Project<span class="p">]</span>cmpScriptLib.tcl + +cmpProjOpen <span class="p">[</span>wtxPath target proj Project0<span class="p">]</span>Project0.wpj +cmpProjDelete +</code></pre></div></div> + +<p>c) 向工程(以<code class="language-plaintext highlighter-rouge">Project0</code>为例)中添加文件(以<code class="language-plaintext highlighter-rouge">D:\my_directory\my_source_file.c</code>为例)</p> + +<div class="language-tcl highlighter-rouge"><div class="highlight"><pre class="highlight"><code>source <span class="p">[</span>wtxPath host resource tcl app-config Project<span class="p">]</span>cmpScriptLib.tcl +cmpProjOpen <span class="p">[</span>wtxPath target proj Project0<span class="p">]</span>Project0.wpj +cmpFileAdd d:/my_directory/my_source_file.c +cmpProjClose +</code></pre></div></div> + +<p>d) 从工程(以<code class="language-plaintext highlighter-rouge">Project0</code>为例)中移除文件(以<code class="language-plaintext highlighter-rouge">D:\my_directory\my_source_file.c</code>为例)</p> + +<div class="language-tcl highlighter-rouge"><div class="highlight"><pre class="highlight"><code>source <span class="p">[</span>wtxPath host resource tcl app-config Project<span class="p">]</span>cmpScriptLib.tcl +cmpProjOpen <span class="p">[</span>wtxPath target proj Project0<span class="p">]</span>Project0.wpj +cmpFileRemove d:/my_directory/my_source_file.c +cmpProjClose +</code></pre></div></div> + +<p>e) 获取工程中包含的文件列表(一行一个文件名,以<code class="language-plaintext highlighter-rouge">Project0</code>为例)</p> + +<div class="language-tcl highlighter-rouge"><div class="highlight"><pre class="highlight"><code>source <span class="p">[</span>wtxPath host resource tcl app-config Project<span class="p">]</span>cmpScriptLib.tcl +set projId <span class="p">[</span>cmpProjOpen <span class="p">[</span>wtxPath target proj Project0<span class="p">]</span>Project0.wpj<span class="p">]</span> +set file_list <span class="p">[</span>prjFileListGet $projId<span class="p">]</span> +cmpProjClose +foreach item $file_list <span class="p">{</span> + puts $item +<span class="p">}</span> +</code></pre></div></div> + +<p>f) 重新编译工程(以<code class="language-plaintext highlighter-rouge">Project0</code>为例)</p> + +<div class="language-tcl highlighter-rouge"><div class="highlight"><pre class="highlight"><code>source <span class="p">[</span>wtxPath host resource tcl app-config Project<span class="p">]</span>cmpScriptLib.tcl +cmpProjOpen <span class="p">[</span>wtxPath target proj Project0<span class="p">]</span>Project0.wpj +cmpBuild clean +cmpBuild +cmpProjClose +</code></pre></div></div> + +<p>本教程至此结束,若对TCL语言不很熟悉,请参阅工具命令语言(TCL)的相关教程。</p> + + </div> +<a class="u-url" href="/2016/03/25/manage-vxworks-tornado-executable-project-using-tcl.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2016/05/01/banker-algorithm-termination-condition-proof.html b/2016/05/01/banker-algorithm-termination-condition-proof.html new file mode 100644 index 000000000..7726fb698 --- /dev/null +++ b/2016/05/01/banker-algorithm-termination-condition-proof.html @@ -0,0 +1,173 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>银行家算法结束条件的合理性证明 | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="银行家算法结束条件的合理性证明"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="首先简要提一下银行家算法的流程(类Java的伪代码)。算法的具体说明请参见操作系统课本。"> +<meta property="og:description" content="首先简要提一下银行家算法的流程(类Java的伪代码)。算法的具体说明请参见操作系统课本。"> +<link rel="canonical" href="https://kkew3.github.io/2016/05/01/banker-algorithm-termination-condition-proof.html"> +<meta property="og:url" content="https://kkew3.github.io/2016/05/01/banker-algorithm-termination-condition-proof.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2016-05-01T02:11:59+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="银行家算法结束条件的合理性证明"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2016-05-01T02:11:59+00:00","datePublished":"2016-05-01T02:11:59+00:00","description":"首先简要提一下银行家算法的流程(类Java的伪代码)。算法的具体说明请参见操作系统课本。","headline":"银行家算法结束条件的合理性证明","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2016/05/01/banker-algorithm-termination-condition-proof.html"},"url":"https://kkew3.github.io/2016/05/01/banker-algorithm-termination-condition-proof.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +<script>MathJax={"tex":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]]},"svg":{"fontCache":"global"}}</script><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">银行家算法结束条件的合理性证明</h1> + <span><a href="https://kkew3.github.io/tags/algorithm"><code class="highlighter-rouge"><nobr>algorithm</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2016-05-01T02:11:59+00:00" itemprop="datePublished">May 1, 2016 at 02:11:59 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>首先简要提一下银行家算法的流程(类Java的伪代码)。算法的具体说明请参见操作系统课本。</p> + +<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cm">/* + * 令work为长为m的数组,表示m种资源的剩余量; + * 令finish为长为n的布尔数组,表示n个进程是否已经结束; + * 令need为n行m列的二维数组,need[i]表示第i个进程在当前时刻所需的最大资源量; + * 令allocation为n行m列的二维数组,allocation[i],表示第i个进程在当前时刻已被分配的资源量。 + * 令available为长为m的数组,表示初始可用的资源量 + * + * array1 ope array2 表示两数组长度(记为len)相等,且对于任意0 <= i < len,array1[i] ope array2[i]。 + * 例如 array1 < array2表示对于任意0 <= i < len,array1[i] < array2[i]。 + */</span> +<span class="n">work</span> <span class="o">=</span> <span class="n">available</span><span class="o">;</span> +<span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span class="o"><</span> <span class="n">finish</span><span class="o">.</span><span class="na">length</span><span class="o">;</span> <span class="n">i</span><span class="o">++)</span> + <span class="n">finish</span><span class="o">[</span><span class="n">i</span><span class="o">]</span> <span class="o">=</span> <span class="kc">false</span><span class="o">;</span> +<span class="k">while</span> <span class="n">there</span> <span class="n">exists</span> <span class="n">such</span> <span class="n">an</span> <span class="n">i</span> <span class="n">that</span> +<span class="n">finish</span><span class="o">[</span><span class="n">i</span><span class="o">]</span> <span class="o">==</span> <span class="kc">false</span> <span class="o">&&</span> <span class="n">need</span><span class="o">[</span><span class="n">i</span><span class="o">]</span> <span class="o"><=</span> <span class="n">work</span> + <span class="n">work</span> <span class="o">-=</span> <span class="n">allocation</span><span class="o">[</span><span class="n">i</span><span class="o">];</span> + <span class="n">finish</span><span class="o">[</span><span class="n">i</span><span class="o">]</span> <span class="o">=</span> <span class="kc">true</span><span class="o">;</span> +<span class="k">for</span> <span class="o">(</span><span class="kt">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="n">i</span> <span class="o"><</span> <span class="n">finish</span><span class="o">.</span><span class="na">length</span><span class="o">;</span> <span class="n">i</span><span class="o">++)</span> + <span class="k">if</span> <span class="o">(</span><span class="n">finish</span><span class="o">[</span><span class="n">i</span><span class="o">]</span> <span class="o">=</span> <span class="kc">false</span><span class="o">)</span> + <span class="k">return</span> <span class="kc">false</span><span class="o">;</span> <span class="c1">//可能发生死锁</span> +<span class="k">return</span> <span class="kc">true</span><span class="o">;</span> <span class="c1">//不可能发生死锁</span> +</code></pre></div></div> + +<p>不知有没有人会质疑该算法的结束条件:该算法没有回溯过程,如何保证这次没有找到一个进程运行的安全序列,这n个进程的任意顺序排列就都不可能构成安全序列呢?</p> + +<p>证明如下:</p> + +<p>假设有$n$个进程,以序号表示为</p> + +\[[1, 2, \dots, n]\] + +<p>进程运行序列进行到</p> + +\[S = [i_1, i_2, \dots, i_k]\ (k < n)\] + +<p>时无法继续算法(即不能找出一个i满足finish[i]==false && need[i] <= work),被判定为可能发生死锁。</p> + +<p>令集合$C = {i_1, i_2, \dots, i_k}$;并令集合$D$为集合${1, 2, \dots, n}$与$C$的差集,即所有<code class="language-plaintext highlighter-rouge">finish</code>为<code class="language-plaintext highlighter-rouge">false</code>的进程所组成的集合。</p> + +<p>如果此时无法继续算法,那么根据算法流程,</p> + +\[\min_{j\in D}\big\{\text{need}_j\big\} > \text{available} + \sum_{j \in C}\text{allocation}_j\] + +<p>若存在另一个序列$S’$,使得$S’$为安全序列,则$S’$中的元素排列只能为以下情况之一:</p> + +<ol> + <li> + <p>前$k$个元素构成的集合与$C$相同(但排列顺序可能不同),且后$n-k$个元素构成的集合与$D$相同(但排列顺序可能不同);</p> + </li> + <li> + <p>前$k$个元素中至少有一个元素属于集合$D$,且后$n-k$个元素中至少有一个元素属于集合$C$。</p> + </li> +</ol> + +<p>对于第一种情况,根据(命题1)不应存在;</p> + +<p>对于第二种情况,假设某一个属于集合$D$的元素出现在$S’$的第$t$($1\le t\le k$)个位置上。令集合$C’$为集合$C$中的前$t$个元素构成的集合,那么此时应有</p> + +\[\exists j \in D,\ \text{need}_j \le \text{available} + \sum_{j \in C'}\text{allocation}_j\quad\text{(命题2)}\] + +<p>由于$C’$是$C$的子集,所以命题2中的和式一定不大于命题1中的和式。因此如果命题1是正确的,那么命题2一定是错误的。</p> + +<p>所以,只要存在一个序列不是安全序列,那么这$n$个进程的任意排列都不是安全序列。</p> + +<p>换言之,只要有一个序列是安全序列,那么在算法进行过程中出现的任何分叉点所构成的其它序列就都是安全序列。</p> + + </div> +<a class="u-url" href="/2016/05/01/banker-algorithm-termination-condition-proof.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2016/09/02/validate-xml-via-dtd-using-java.html b/2016/09/02/validate-xml-via-dtd-using-java.html new file mode 100644 index 000000000..d9b2bca6e --- /dev/null +++ b/2016/09/02/validate-xml-via-dtd-using-java.html @@ -0,0 +1,317 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>使用Java API通过DTD方式验证XML | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="使用Java API通过DTD方式验证XML"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="摘要"> +<meta property="og:description" content="摘要"> +<link rel="canonical" href="https://kkew3.github.io/2016/09/02/validate-xml-via-dtd-using-java.html"> +<meta property="og:url" content="https://kkew3.github.io/2016/09/02/validate-xml-via-dtd-using-java.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2016-09-02T16:26:30+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="使用Java API通过DTD方式验证XML"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2016-09-02T16:26:30+00:00","datePublished":"2016-09-02T16:26:30+00:00","description":"摘要","headline":"使用Java API通过DTD方式验证XML","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2016/09/02/validate-xml-via-dtd-using-java.html"},"url":"https://kkew3.github.io/2016/09/02/validate-xml-via-dtd-using-java.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">使用Java API通过DTD方式验证XML</h1> + <span><a href="https://kkew3.github.io/tags/dev--java"><code class="highlighter-rouge"><nobr>dev/java</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2016-09-02T16:26:30+00:00" itemprop="datePublished">Sep 2, 2016 at 16:26:30 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <h2 id="摘要">摘要</h2> + +<p>本文记述了如何使用<code class="language-plaintext highlighter-rouge">Java 8</code>API 解析但不验证、按照XML文件头的<code class="language-plaintext highlighter-rouge">DOCTYPE</code>声明验证、使用本地文件验证XML的方法。本文不涉及如何读取、修改XML节点,以及创建XML文档的内容。</p> + +<h2 id="解析但不验证">解析但不验证</h2> + +<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">java.io.FileInputStream</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">java.io.IOException</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">java.io.InputStream</span><span class="o">;</span> + +<span class="kn">import</span> <span class="nn">javax.xml.parsers.DocumentBuilder</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">javax.xml.parsers.DocumentBuilderFactory</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">javax.xml.parsers.ParserConfigurationException</span><span class="o">;</span> + +<span class="kn">import</span> <span class="nn">org.w3c.dom.Document</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">org.xml.sax.SAXException</span><span class="o">;</span> + +<span class="kd">public</span> <span class="kd">class</span> <span class="nc">XMLParser</span> <span class="o">{</span> + <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span> + <span class="k">try</span> <span class="o">{</span> + <span class="nc">String</span> <span class="n">xmlToParse</span> <span class="o">=</span> <span class="s">"myDocument.xml"</span><span class="o">;</span> + <span class="nc">DocumentBuilderFactory</span> <span class="n">dbf</span> <span class="o">=</span> + <span class="nc">DocumentBuilderFactory</span><span class="o">.</span><span class="na">newInstance</span><span class="o">();</span> + <span class="c1">// 默认DocumentBuilderFactory不创建</span> + <span class="c1">// 启用验证功能的DocumentBuilder</span> + <span class="nc">DocumentBuilder</span> <span class="n">db</span> <span class="o">=</span> <span class="n">dbf</span><span class="o">.</span><span class="na">newDocumentBuilder</span><span class="o">();</span> + <span class="nc">Document</span> <span class="n">myDoc</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="na">parse</span><span class="o">(</span><span class="n">xmlToParse</span><span class="o">);</span> + <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">ParseConfigurationException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span> + <span class="n">e</span><span class="o">.</span><span class="na">printStackTrace</span><span class="o">();</span> + <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">IOException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span> + <span class="n">e</span><span class="o">.</span><span class="na">printStackTrace</span><span class="o">();</span> + <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">SAXException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span> + <span class="n">e</span><span class="o">.</span><span class="na">printStackTrace</span><span class="o">();</span> + <span class="o">}</span> + <span class="o">}</span> +</code></pre></div></div> + +<h2 id="使用xml文件头部声明的doctype验证">使用XML文件头部声明的DOCTYPE验证</h2> + +<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">java.io.FileInputStream</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">java.io.IOException</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">java.io.InputStream</span><span class="o">;</span> + +<span class="kn">import</span> <span class="nn">javax.xml.parsers.DocumentBuilder</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">javax.xml.parsers.DocumentBuilderFactory</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">javax.xml.parsers.ParserConfigurationException</span><span class="o">;</span> + +<span class="kn">import</span> <span class="nn">org.w3c.dom.Document</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">org.xml.sax.SAXException</span><span class="o">;</span> + +<span class="kd">public</span> <span class="kd">class</span> <span class="nc">XMLParser</span> <span class="o">{</span> + <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span> + <span class="k">try</span> <span class="o">{</span> + <span class="nc">String</span> <span class="n">xmlToParse</span> <span class="o">=</span> <span class="s">"myDocument.xml"</span><span class="o">;</span> + <span class="nc">DocumentBuilderFactory</span> <span class="n">dbf</span> <span class="o">=</span> + <span class="nc">DocumentBuilderFactory</span><span class="o">.</span><span class="na">newInstance</span><span class="o">();</span> + <span class="n">dbf</span><span class="o">.</span><span class="na">setValidating</span><span class="o">(</span><span class="kc">true</span><span class="o">);</span> <span class="c1">// 注意这里不同</span> + <span class="nc">DocumentBuilder</span> <span class="n">db</span> <span class="o">=</span> <span class="n">dbf</span><span class="o">.</span><span class="na">newDocumentBuilder</span><span class="o">();</span> + <span class="nc">Document</span> <span class="n">myDoc</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="na">parse</span><span class="o">(</span><span class="n">xmlToParse</span><span class="o">);</span> + <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">ParseConfigurationException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span> + <span class="n">e</span><span class="o">.</span><span class="na">printStackTrace</span><span class="o">();</span> + <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">IOException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span> + <span class="n">e</span><span class="o">.</span><span class="na">printStackTrace</span><span class="o">();</span> + <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">SAXException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span> + <span class="n">e</span><span class="o">.</span><span class="na">printStackTrace</span><span class="o">();</span> + <span class="o">}</span> + <span class="o">}</span> +</code></pre></div></div> + +<p>这时可能抛出<code class="language-plaintext highlighter-rouge">IOException</code>,原因通常是没有找到XML所声明的DTD文件</p> + +<ul> + <li>如果XML声明的DTD在本地,可能会报<code class="language-plaintext highlighter-rouge">FileNotFoundException</code>。此时需要检查本地DTD的路径是否填写正确</li> + <li>否则可能报<code class="language-plaintext highlighter-rouge">SocketException</code>。此时需要检查网络是否畅通</li> +</ul> + +<p><strong>然而此时即使XML不符合所声明DTD的定义,<code class="language-plaintext highlighter-rouge">SAXException</code>也可能不会被抛出</strong>,而仅仅是报错信息通过<code class="language-plaintext highlighter-rouge">System.err</code>打印出来,同时会打印运行警告:“警告: 已启用验证, 但未设置 org.xml.sax.ErrorHandler, 这可能不是预期结果。解析器将使用默认 ErrorHandler 来输出前 0 个错误。请调用 ‘setErrorHandler’ 方法以解决此问题。”</p> + +<p>这是因为没有设置<code class="language-plaintext highlighter-rouge">ErrorHandler</code>。如果希望<code class="language-plaintext highlighter-rouge">SAXException</code>在发生验证错误时被抛出,需要通过<code class="language-plaintext highlighter-rouge">DocumentBuilder.setErrorHandler(ErrorHandler eh)</code>方法进行设置。</p> + +<p>重写上述代码如下:</p> + +<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">java.io.FileInputStream</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">java.io.IOException</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">java.io.InputStream</span><span class="o">;</span> + +<span class="kn">import</span> <span class="nn">javax.xml.parsers.DocumentBuilder</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">javax.xml.parsers.DocumentBuilderFactory</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">javax.xml.parsers.ParserConfigurationException</span><span class="o">;</span> + +<span class="kn">import</span> <span class="nn">org.w3c.dom.Document</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">org.xml.sax.ErrorHandler</span><span class="o">;</span> <span class="c1">// 注意这里不同</span> +<span class="kn">import</span> <span class="nn">org.xml.sax.SAXException</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">org.xml.sax.SAXParseException</span><span class="o">;</span> <span class="c1">// 注意这里不同</span> + +<span class="kd">public</span> <span class="kd">class</span> <span class="nc">XMLParser</span> <span class="o">{</span> + <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span> + <span class="k">try</span> <span class="o">{</span> + <span class="nc">String</span> <span class="n">xmlToParse</span> <span class="o">=</span> <span class="s">"myDocument.xml"</span><span class="o">;</span> + <span class="nc">DocumentBuilderFactory</span> <span class="n">dbf</span> <span class="o">=</span> + <span class="nc">DocumentBuilderFactory</span><span class="o">.</span><span class="na">newInstance</span><span class="o">();</span> + <span class="n">dbf</span><span class="o">.</span><span class="na">setValidating</span><span class="o">(</span><span class="kc">true</span><span class="o">);</span> + <span class="nc">DocumentBuilder</span> <span class="n">db</span> <span class="o">=</span> <span class="n">dbf</span><span class="o">.</span><span class="na">newDocumentBuilder</span><span class="o">();</span> + <span class="n">db</span><span class="o">.</span><span class="na">setErrorHandler</span><span class="o">(</span><span class="k">new</span> <span class="nc">ErrorHandler</span><span class="o">()</span> <span class="o">{</span> + <span class="cm">/* + * 定义了一个只要出一点解析错误就抛出异常的ErrorHandler。 + * 读者可以以此为依据编写更精细化管理的ErrorHandler。 + */</span> + + <span class="nd">@Override</span> + <span class="kd">public</span> <span class="kt">void</span> <span class="nf">error</span><span class="o">(</span><span class="nc">SAXParseException</span> <span class="n">exception</span><span class="o">)</span> + <span class="kd">throws</span> <span class="nc">SAXException</span> <span class="o">{</span> + <span class="k">throw</span> <span class="n">exception</span><span class="o">;</span> + <span class="o">}</span> + <span class="nd">@Override</span> + <span class="kd">public</span> <span class="kt">void</span> <span class="nf">fatalError</span><span class="o">(</span><span class="nc">SAXParseException</span> <span class="n">exception</span><span class="o">)</span> + <span class="kd">throws</span> <span class="nc">SAXException</span> <span class="o">{</span> + <span class="k">throw</span> <span class="n">exception</span><span class="o">;</span> + <span class="o">}</span> + <span class="nd">@Override</span> + <span class="kd">public</span> <span class="kt">void</span> <span class="nf">warning</span><span class="o">(</span><span class="nc">SAXParseException</span> <span class="n">exception</span><span class="o">)</span> + <span class="kd">throws</span> <span class="nc">SAXException</span> <span class="o">{</span> + <span class="k">throw</span> <span class="n">exception</span><span class="o">;</span> + <span class="o">}</span> + <span class="o">});</span> <span class="c1">// 注意这里不同</span> + <span class="nc">Document</span> <span class="n">myDoc</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="na">parse</span><span class="o">(</span><span class="n">xmlToParse</span><span class="o">);</span> + <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">ParseConfigurationException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span> + <span class="n">e</span><span class="o">.</span><span class="na">printStackTrace</span><span class="o">();</span> + <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">IOException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span> + <span class="n">e</span><span class="o">.</span><span class="na">printStackTrace</span><span class="o">();</span> + <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">SAXException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span> + <span class="n">e</span><span class="o">.</span><span class="na">printStackTrace</span><span class="o">();</span> + <span class="o">}</span> + <span class="o">}</span> +</code></pre></div></div> + +<h2 id="使用本地dtd文件验证">使用本地DTD文件验证</h2> + +<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">java.io.FileInputStream</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">java.io.IOException</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">java.io.InputStream</span><span class="o">;</span> + +<span class="kn">import</span> <span class="nn">javax.xml.parsers.DocumentBuilder</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">javax.xml.parsers.DocumentBuilderFactory</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">javax.xml.parsers.ParserConfigurationException</span><span class="o">;</span> + +<span class="kn">import</span> <span class="nn">org.w3c.dom.Document</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">org.xml.sax.ErrorHandler</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">org.xml.sax.EntityHandler</span><span class="o">;</span> <span class="c1">// 注意这里不同</span> +<span class="kn">import</span> <span class="nn">org.xml.sax.InputSource</span><span class="o">;</span> <span class="c1">// 注意这里不同</span> +<span class="kn">import</span> <span class="nn">org.xml.sax.SAXException</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">org.xml.sax.SAXParseException</span><span class="o">;</span> + +<span class="kd">public</span> <span class="kd">class</span> <span class="nc">XMLParser</span> <span class="o">{</span> + <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="nc">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span> + <span class="k">try</span> <span class="o">{</span> + <span class="nc">String</span> <span class="n">xmlToParse</span> <span class="o">=</span> <span class="s">"myDocument.xml"</span><span class="o">;</span> + <span class="nc">DocumentBuilderFactory</span> <span class="n">dbf</span> <span class="o">=</span> + <span class="nc">DocumentBuilderFactory</span><span class="o">.</span><span class="na">newInstance</span><span class="o">();</span> + <span class="n">dbf</span><span class="o">.</span><span class="na">setValidating</span><span class="o">(</span><span class="kc">true</span><span class="o">);</span> + <span class="nc">DocumentBuilder</span> <span class="n">db</span> <span class="o">=</span> <span class="n">dbf</span><span class="o">.</span><span class="na">newDocumentBuilder</span><span class="o">();</span> + <span class="n">db</span><span class="o">.</span><span class="na">setErrorHandler</span><span class="o">(</span><span class="k">new</span> <span class="nc">ErrorHandler</span><span class="o">()</span> <span class="o">{</span> + <span class="nd">@Override</span> + <span class="kd">public</span> <span class="kt">void</span> <span class="nf">error</span><span class="o">(</span><span class="nc">SAXParseException</span> <span class="n">exception</span><span class="o">)</span> + <span class="kd">throws</span> <span class="nc">SAXException</span> <span class="o">{</span> + <span class="k">throw</span> <span class="n">exception</span><span class="o">;</span> + <span class="o">}</span> + <span class="nd">@Override</span> + <span class="kd">public</span> <span class="kt">void</span> <span class="nf">fatalError</span><span class="o">(</span><span class="nc">SAXParseException</span> <span class="n">exception</span><span class="o">)</span> + <span class="kd">throws</span> <span class="nc">SAXException</span> <span class="o">{</span> + <span class="k">throw</span> <span class="n">exception</span><span class="o">;</span> + <span class="o">}</span> + <span class="nd">@Override</span> + <span class="kd">public</span> <span class="kt">void</span> <span class="nf">warning</span><span class="o">(</span><span class="nc">SAXParseException</span> <span class="n">exception</span><span class="o">)</span> + <span class="kd">throws</span> <span class="nc">SAXException</span> <span class="o">{</span> + <span class="k">throw</span> <span class="n">exception</span><span class="o">;</span> + <span class="o">}</span> + <span class="o">});</span> + <span class="n">db</span><span class="o">.</span><span class="na">setEntityResolver</span><span class="o">(</span><span class="k">new</span> <span class="nc">EntityResolver</span><span class="o">()</span> <span class="o">{</span> + <span class="cm">/* + * 编写了根据PUBLIC域使用相应的本地dtd的EntityResolver; + * 读者也可以据此编写根据SYSTEM域使用相应dtd的EntityResolver; + * 或不管xml中声明成什么DOCTYPE,都使用同一份dtd进行验证, + * 此时resolveEntity方法体中仅包含 + * return new InputSource("a-fixed-dtd-path"); + */</span> + + <span class="nd">@Override</span> + <span class="kd">public</span> <span class="nc">InputSource</span> <span class="nf">resolveEntity</span><span class="o">(</span><span class="nc">String</span> <span class="n">publicId</span><span class="o">,</span> + <span class="nc">String</span> <span class="n">systemId</span><span class="o">)</span> <span class="o">{</span> + <span class="k">switch</span> <span class="o">(</span><span class="n">publicId</span><span class="o">)</span> <span class="o">{</span> <span class="c1">// 此处仅为示意</span> + <span class="k">case</span> <span class="s">"URL-sample-1"</span><span class="o">:</span> + <span class="k">return</span> <span class="k">new</span> <span class="nf">InputSource</span><span class="o">(</span> + <span class="s">"local-dtd-path-for-url-sample-1"</span><span class="o">);</span> + <span class="k">case</span> <span class="s">"URL-sample-2"</span><span class="o">:</span> + <span class="k">return</span> <span class="k">new</span> <span class="nf">InputSource</span><span class="o">(</span> + <span class="s">"local-dtd-path-for-url-sample-2"</span><span class="o">);</span> + <span class="k">default</span><span class="o">:</span> + <span class="c1">// 仍然按照DOCTYPE去解析,此时可能抛出IOException</span> + <span class="k">return</span> <span class="kc">null</span><span class="o">;</span> + <span class="o">}</span> + <span class="o">});</span> <span class="c1">// 注意这里不同</span> + <span class="nc">Document</span> <span class="n">myDoc</span> <span class="o">=</span> <span class="n">db</span><span class="o">.</span><span class="na">parse</span><span class="o">(</span><span class="n">xmlToParse</span><span class="o">);</span> + <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">ParseConfigurationException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span> + <span class="n">e</span><span class="o">.</span><span class="na">printStackTrace</span><span class="o">();</span> + <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">IOException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span> + <span class="n">e</span><span class="o">.</span><span class="na">printStackTrace</span><span class="o">();</span> + <span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">SAXException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span> + <span class="n">e</span><span class="o">.</span><span class="na">printStackTrace</span><span class="o">();</span> + <span class="o">}</span> + <span class="o">}</span> +</code></pre></div></div> + + </div> +<a class="u-url" href="/2016/09/02/validate-xml-via-dtd-using-java.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2016/12/27/apache-ant-extension-tutorial.html b/2016/12/27/apache-ant-extension-tutorial.html new file mode 100644 index 000000000..88cdf89bb --- /dev/null +++ b/2016/12/27/apache-ant-extension-tutorial.html @@ -0,0 +1,252 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Apache Ant 扩展教程 | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Apache Ant 扩展教程"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="Apache Ant 致力于成为一款灵活方便的构建工具,尽管对 Java 支持更多,也可以通过一些第三方库来支持其它语言的构建,甚至一些常规维护任务。鉴于Apache Ant 使用 XML 作为配置语言,以描述性见长,而无法处理过于复杂的过程逻辑,因此便有了著名的 Ant-Contrib 扩展包(主页见这里)的用武之地。Ant-Contrib 的使用固然增加了 Apache Ant 的可编程性,但以笔者的观点看,违背了 Apache Ant 的设计初衷,同时 XML 本身即使具有了编程能力,传统编程语言的逻辑表现力绝非 XML 可比。事实上,通过其官方 API 扩展 Apache Ant 使其完成用户定制功能,从长远来看,具有更好的简洁性、健壮性、可维护性和稳定性,只不过相对亲切的 XML,阅读 API 的艰巨任务掩盖了扩展 Apache Ant 的优势罢了。"> +<meta property="og:description" content="Apache Ant 致力于成为一款灵活方便的构建工具,尽管对 Java 支持更多,也可以通过一些第三方库来支持其它语言的构建,甚至一些常规维护任务。鉴于Apache Ant 使用 XML 作为配置语言,以描述性见长,而无法处理过于复杂的过程逻辑,因此便有了著名的 Ant-Contrib 扩展包(主页见这里)的用武之地。Ant-Contrib 的使用固然增加了 Apache Ant 的可编程性,但以笔者的观点看,违背了 Apache Ant 的设计初衷,同时 XML 本身即使具有了编程能力,传统编程语言的逻辑表现力绝非 XML 可比。事实上,通过其官方 API 扩展 Apache Ant 使其完成用户定制功能,从长远来看,具有更好的简洁性、健壮性、可维护性和稳定性,只不过相对亲切的 XML,阅读 API 的艰巨任务掩盖了扩展 Apache Ant 的优势罢了。"> +<link rel="canonical" href="https://kkew3.github.io/2016/12/27/apache-ant-extension-tutorial.html"> +<meta property="og:url" content="https://kkew3.github.io/2016/12/27/apache-ant-extension-tutorial.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2016-12-27T07:23:04+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Apache Ant 扩展教程"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2016-12-27T07:23:04+00:00","datePublished":"2016-12-27T07:23:04+00:00","description":"Apache Ant 致力于成为一款灵活方便的构建工具,尽管对 Java 支持更多,也可以通过一些第三方库来支持其它语言的构建,甚至一些常规维护任务。鉴于Apache Ant 使用 XML 作为配置语言,以描述性见长,而无法处理过于复杂的过程逻辑,因此便有了著名的 Ant-Contrib 扩展包(主页见这里)的用武之地。Ant-Contrib 的使用固然增加了 Apache Ant 的可编程性,但以笔者的观点看,违背了 Apache Ant 的设计初衷,同时 XML 本身即使具有了编程能力,传统编程语言的逻辑表现力绝非 XML 可比。事实上,通过其官方 API 扩展 Apache Ant 使其完成用户定制功能,从长远来看,具有更好的简洁性、健壮性、可维护性和稳定性,只不过相对亲切的 XML,阅读 API 的艰巨任务掩盖了扩展 Apache Ant 的优势罢了。","headline":"Apache Ant 扩展教程","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2016/12/27/apache-ant-extension-tutorial.html"},"url":"https://kkew3.github.io/2016/12/27/apache-ant-extension-tutorial.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Apache Ant 扩展教程</h1> + <span><a href="https://kkew3.github.io/tags/dev--java"><code class="highlighter-rouge"><nobr>dev/java</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2016-12-27T07:23:04+00:00" itemprop="datePublished">Dec 27, 2016 at 07:23:04 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>Apache Ant 致力于成为一款灵活方便的构建工具,尽管对 Java 支持更多,也可以通过一些第三方库来支持其它语言的构建,甚至一些常规维护任务。鉴于Apache Ant 使用 XML 作为配置语言,以描述性见长,而无法处理过于复杂的过程逻辑,因此便有了著名的 Ant-Contrib 扩展包(主页见<a href="http://ant-contrib.sourceforge.net/">这里</a>)的用武之地。Ant-Contrib 的使用固然增加了 Apache Ant 的可编程性,但以笔者的观点看,违背了 Apache Ant 的设计初衷,同时 XML 本身即使具有了编程能力,传统编程语言的逻辑表现力绝非 XML 可比。事实上,通过其官方 API 扩展 Apache Ant 使其完成用户定制功能,从长远来看,具有更好的简洁性、健壮性、可维护性和稳定性,只不过相对亲切的 XML,阅读 API 的艰巨任务掩盖了扩展 Apache Ant 的优势罢了。</p> + +<hr> + +<p>Apache Ant 构建文件由两部分元素组成,分别是 <code class="language-plaintext highlighter-rouge">Task</code>(任务) 和 <code class="language-plaintext highlighter-rouge">DataType</code>(数据类型)。通常而言,类型表示一个资源集合,如<code class="language-plaintext highlighter-rouge">Fileset</code>(文件集合);任务用于执行某些操作。虽然任务和类型有很多不同点,但两者从 Java 类结构上看又有很多相似之处。例如:</p> + +<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">package</span> <span class="nn">packagePath</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">org.apache.tools.ant.Task</span><span class="o">;</span> <span class="c1">// 任务都继承自这里</span> +<span class="kn">import</span> <span class="nn">org.apache.tools.ant.BuildException</span><span class="o">;</span> + +<span class="cm">/* + * 使用 Java Bean 规范定义 XML 属性,属性名从 getter/setter 名中推测得到。 + * 若要添加子元素,需要使用 addXXX(YYYY e) 方法。XXX 为子元素的 XML 元素名 + * (在 XML 中不分大小写,但在 Java 中的命名要符合 Java Bean 规范); + * YYYY 为其实际的 Java 类名。 + */</span> +<span class="kd">public</span> <span class="kd">class</span> <span class="nc">MyTask</span> <span class="kd">extends</span> <span class="nc">Task</span> <span class="o">{</span> + + <span class="kd">private</span> <span class="nc">String</span> <span class="n">myStringAttribute</span><span class="o">;</span> + <span class="kd">private</span> <span class="kt">int</span> <span class="n">myIntAttribute</span><span class="o">;</span> + <span class="kd">private</span> <span class="nc">File</span> <span class="n">myFileAttribute</span><span class="o">;</span> + + <span class="kd">private</span> <span class="nc">ArrayList</span><span class="o"><</span><span class="nc">SelfDefinedSubElement</span><span class="o">></span> <span class="n">l</span><span class="o">;</span> + + <span class="kd">public</span> <span class="nf">MyTask</span><span class="o">()</span> <span class="o">{</span> + <span class="n">l</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">ArrayList</span><span class="o"><</span><span class="nc">SelfDefinedSubElement</span><span class="o">>();</span> + <span class="o">}</span> + + <span class="kd">public</span> <span class="nc">String</span> <span class="nf">getMyStringAttribute</span><span class="o">()</span> <span class="o">{</span> + <span class="k">return</span> <span class="n">myStringAttribute</span><span class="o">;</span> + <span class="o">}</span> + + <span class="c1">// 其它两个 getters ...</span> + + <span class="kd">public</span> <span class="kt">void</span> <span class="nf">setMyStringAttribute</span><span class="o">(</span><span class="nc">String</span> <span class="n">myStringAttribute</span><span class="o">)</span> <span class="o">{</span> + <span class="k">this</span><span class="o">.</span><span class="na">myStringAttribute</span> <span class="o">=</span> <span class="n">myStringAttribute</span><span class="o">;</span> + <span class="o">}</span> + + <span class="c1">// 其它两个 setters ...</span> + + <span class="kd">public</span> <span class="kt">void</span> <span class="nf">addSelfDefinedElement</span><span class="o">(</span><span class="nc">SelfDefinedSubElement</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span> + <span class="n">l</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="n">e</span><span class="o">);</span> + <span class="o">}</span> + + <span class="cm">/* + * 在这里开始执行任务。DataType 没有这个方法;但 DataType 有获取引用 + * 的方法,即在一个地方使用属性 id 标志数据类型然后在另一个地方用 refid + * 获得其引用。详询 Apache Ant API + */</span> + <span class="nd">@Override</span> + <span class="kd">public</span> <span class="kt">void</span> <span class="nf">execute</span><span class="o">()</span> <span class="o">{</span> + <span class="k">if</span> <span class="o">(</span><span class="n">myStringAttribute</span> <span class="o">==</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span> + <span class="k">throw</span> <span class="k">new</span> <span class="nf">BuildException</span><span class="o">(</span><span class="s">"myStringAttribute not set"</span><span class="o">);</span> + <span class="o">}</span> + + <span class="c1">// 其它输入检查 ...</span> + + <span class="c1">// 要完成的操作 ...</span> + <span class="o">}</span> +<span class="o">}</span> +</code></pre></div></div> + +<p>这是一个任务,一个 <code class="language-plaintext highlighter-rouge">Java</code> 文件。</p> + +<div class="language-properties highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># 在这里定义 MyTask 在 XML 里的元素名 +</span><span class="py">nameUsedByMyTaskInBuildfile</span><span class="p">=</span><span class="s">packagePath.MyTask</span> +<span class="py">selfDefinedElement</span><span class="p">=</span><span class="s">它的全限定类路径</span> +</code></pre></div></div> + +<p>这是任务声明,一个 <code class="language-plaintext highlighter-rouge">propertes</code> 文件。</p> + +<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><target</span> <span class="na">name=</span><span class="s">"XXX"</span><span class="nt">></span> + <span class="c"><!-- some other tasks --></span> + <span class="nt"><nameUsedByMyTaskInBuildfile</span> <span class="na">myStringAttribute=</span><span class="s">"stringValue"</span> + <span class="na">myFileAttribute=</span><span class="s">"C:\Users"</span> + <span class="na">myIntAttribute=</span><span class="s">"5"</span><span class="nt">></span> + <span class="nt"><selfDefinedElement</span> <span class="na">someAttributes=</span><span class="s">""</span> <span class="nt">/></span> + <span class="nt"></nameUsedByMyTaskInBuildfile></span> + <span class="c"><!-- some other tasks --></span> +<span class="nt"></target></span> +</code></pre></div></div> + +<p>这是该任务所对应的一个可能的 XML 示例。</p> + +<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">package</span> <span class="nn">anotherPackagePath</span><span class="o">;</span> +<span class="kn">import</span> <span class="nn">org.apache.tools.ant.types.DataType</span><span class="o">;</span> <span class="c1">// 数据类型继承自这里</span> +<span class="kn">import</span> <span class="nn">org.apache.tools.ant.BuildException</span><span class="o">;</span> + +<span class="cm">/* + * 说明与任务说明相同 + */</span> +<span class="kd">public</span> <span class="kd">class</span> <span class="nc">MyType</span> <span class="kd">extends</span> <span class="nc">DataType</span> <span class="o">{</span> + + <span class="kd">private</span> <span class="nc">String</span> <span class="n">myStringAttribute</span><span class="o">;</span> + <span class="kd">private</span> <span class="kt">int</span> <span class="n">myIntAttribute</span><span class="o">;</span> + <span class="kd">private</span> <span class="nc">File</span> <span class="n">myFileAttribute</span><span class="o">;</span> + + <span class="kd">private</span> <span class="nc">ArrayList</span><span class="o"><</span><span class="nc">AnotherSelfDefinedSubElement</span><span class="o">></span> <span class="n">l</span><span class="o">;</span> + + <span class="kd">public</span> <span class="nf">MyTask</span><span class="o">()</span> <span class="o">{</span> + <span class="n">l</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">ArrayList</span><span class="o"><</span><span class="nc">AnotherSelfDefinedSubElement</span><span class="o">>();</span> + <span class="o">}</span> + + <span class="kd">public</span> <span class="nc">String</span> <span class="nf">getMyStringAttribute</span><span class="o">()</span> <span class="o">{</span> + <span class="k">return</span> <span class="n">myStringAttribute</span><span class="o">;</span> + <span class="o">}</span> + + <span class="c1">// 其它两个 getters ...</span> + + <span class="kd">public</span> <span class="kt">void</span> <span class="nf">setMyStringAttribute</span><span class="o">(</span><span class="nc">String</span> <span class="n">myStringAttribute</span><span class="o">)</span> <span class="o">{</span> + <span class="k">this</span><span class="o">.</span><span class="na">myStringAttribute</span> <span class="o">=</span> <span class="n">myStringAttribute</span><span class="o">;</span> + <span class="o">}</span> + + <span class="c1">// 其它两个 setters ...</span> + + <span class="kd">public</span> <span class="kt">void</span> <span class="nf">addAnotherSelfDefinedElement</span><span class="o">(</span><span class="nc">AnotherSelfDefinedSubElement</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span> + <span class="n">l</span><span class="o">.</span><span class="na">add</span><span class="o">(</span><span class="n">e</span><span class="o">);</span> + <span class="o">}</span> +<span class="o">}</span> +</code></pre></div></div> + +<p>这是一个数据类型,一个 <code class="language-plaintext highlighter-rouge">Java</code> 文件。</p> + +<div class="language-properties highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="py">nameUsedByMyTypeInBuildfile</span><span class="p">=</span><span class="s">anotherPackagePath.MyType</span> +<span class="py">anotherSelfDefinedElement</span><span class="p">=</span><span class="s">它的全限定类路径</span> +</code></pre></div></div> + +<p>这是数据类型声明,一个 <code class="language-plaintext highlighter-rouge">propertes</code> 文件。</p> + +<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><nameUsedByMyTypeInBuildfile</span> <span class="na">myStringAttribute=</span><span class="s">"stringValue"</span> + <span class="na">myFileAttribute=</span><span class="s">"C:\Users"</span> + <span class="na">myIntAttribute=</span><span class="s">"5"</span> + <span class="na">id=</span><span class="s">"my.id"</span><span class="nt">></span> + <span class="nt"><anotherSelfDefinedElement</span> <span class="na">someAttributes=</span><span class="s">""</span> <span class="nt">/></span> +<span class="nt"></nameUsedByMyTypeInBuildfile></span> +</code></pre></div></div> + +<p>这是该数据类型所对应的一个可能的 XML 示例。</p> + +<hr> + +<dl> + <dt>相关阅读:</dt> + <dd><a href="http://wangbaoaiboy.blog.163.com/blog/static/521119102012123111216547/">Apache Ant API 的基本使用方法</a></dd> + <dd> +<a href="http://download.csdn.net/detail/Javazzk001/343069">Apache Ant API</a>(这是一个下载地址,Apache Ant 不提供官方的在线 API)</dd> +</dl> + + </div> +<a class="u-url" href="/2016/12/27/apache-ant-extension-tutorial.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2017/04/23/relation-between-truncated-distribution-and-original-distribution.html b/2017/04/23/relation-between-truncated-distribution-and-original-distribution.html new file mode 100644 index 000000000..525976aa0 --- /dev/null +++ b/2017/04/23/relation-between-truncated-distribution-and-original-distribution.html @@ -0,0 +1,119 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>被截短的随机分布与原分布的关系 | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="被截短的随机分布与原分布的关系"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="已知随机分布的概率密度函数为$f_X(x)$,定义域为$D$。现将其定义域截取为$E$,其中$E \subseteq D$,即不断按照该分布取随机变量直到变量值落在$E$中。截取后的随机变量的分布的概率密度函数与$f_X(x)$是什么关系呢?"> +<meta property="og:description" content="已知随机分布的概率密度函数为$f_X(x)$,定义域为$D$。现将其定义域截取为$E$,其中$E \subseteq D$,即不断按照该分布取随机变量直到变量值落在$E$中。截取后的随机变量的分布的概率密度函数与$f_X(x)$是什么关系呢?"> +<link rel="canonical" href="https://kkew3.github.io/2017/04/23/relation-between-truncated-distribution-and-original-distribution.html"> +<meta property="og:url" content="https://kkew3.github.io/2017/04/23/relation-between-truncated-distribution-and-original-distribution.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2017-04-23T16:29:35+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="被截短的随机分布与原分布的关系"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2017-04-23T16:29:35+00:00","datePublished":"2017-04-23T16:29:35+00:00","description":"已知随机分布的概率密度函数为$f_X(x)$,定义域为$D$。现将其定义域截取为$E$,其中$E \\subseteq D$,即不断按照该分布取随机变量直到变量值落在$E$中。截取后的随机变量的分布的概率密度函数与$f_X(x)$是什么关系呢?","headline":"被截短的随机分布与原分布的关系","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2017/04/23/relation-between-truncated-distribution-and-original-distribution.html"},"url":"https://kkew3.github.io/2017/04/23/relation-between-truncated-distribution-and-original-distribution.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +<script>MathJax={"tex":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]]},"svg":{"fontCache":"global"}}</script><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">被截短的随机分布与原分布的关系</h1> + <span><a href="https://kkew3.github.io/tags/math--prob"><code class="highlighter-rouge"><nobr>math/probability</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2017-04-23T16:29:35+00:00" itemprop="datePublished">Apr 23, 2017 at 16:29:35 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>已知随机分布的概率密度函数为$f_X(x)$,定义域为$D$。现将其定义域截取为$E$,其中$E \subseteq D$,即不断按照该分布取随机变量直到变量值落在$E$中。截取后的随机变量的分布的概率密度函数与$f_X(x)$是什么关系呢?</p> + +<p>要回答这个问题,首先设截取后的概率密度函数为$f_U(x)$,设$a=\min{E}$(如果$E$无下界,令$a$表示$-\infty$)。$\forall x \in E$:</p> + +\[\begin{aligned} +\int_a^x{f_U(t)\mathrm{d}t} &= \int_a^x{f_X(t)\mathrm{d}t} + \left(1 - \int_E{f_X(t)\mathrm{d}t}\right)\int_a^x{f_X(t)\mathrm{d}t} + \cdots\\ +\int_a^x{f_U(t)\mathrm{d}t} &= \sum_{n=1}^\infty{\left(1-\int_E{f_X(t)\mathrm{d}t}\right)}^n \int_a^x{f_X(t)\mathrm{d}t}\\ +\int_a^x{f_U(t)\mathrm{d}t} &= \left(\int_E{f_X(t)\mathrm{d}t}\right)^{-1} \int_a^x{f_X(t)\mathrm{d}t}\\ +{\mathrm{d} \over \mathrm{d}x}\int_a^x{f_U(t)\mathrm{d}t} &= \left(\int_E{f_X(t)\mathrm{d}t}\right)^{-1} {d \over \mathrm{d}x}\int_a^x{f_X(t)\mathrm{d}t}\\ +f_U(x) &= \left(\int_E{f_X(t)\mathrm{d}t}\right)^{-1} f_X(x) +\end{aligned}\] + +<p>所以随机分布在形状上不会有什么改变,但会变高。</p> + + </div> +<a class="u-url" href="/2017/04/23/relation-between-truncated-distribution-and-original-distribution.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2017/07/20/matlab-r2011b-neural-network-toolbox-note.html b/2017/07/20/matlab-r2011b-neural-network-toolbox-note.html new file mode 100644 index 000000000..ed8232788 --- /dev/null +++ b/2017/07/20/matlab-r2011b-neural-network-toolbox-note.html @@ -0,0 +1,130 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>MATLAB R2011b 神经网络工具箱注意事项 | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="MATLAB R2011b 神经网络工具箱注意事项"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="这是记录了我使用神经网络工具箱时遇到的坑,供自己和他人参考。先写一点,以后遇到再更新。"> +<meta property="og:description" content="这是记录了我使用神经网络工具箱时遇到的坑,供自己和他人参考。先写一点,以后遇到再更新。"> +<link rel="canonical" href="https://kkew3.github.io/2017/07/20/matlab-r2011b-neural-network-toolbox-note.html"> +<meta property="og:url" content="https://kkew3.github.io/2017/07/20/matlab-r2011b-neural-network-toolbox-note.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2017-07-20T09:50:56+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="MATLAB R2011b 神经网络工具箱注意事项"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2017-07-20T09:50:56+00:00","datePublished":"2017-07-20T09:50:56+00:00","description":"这是记录了我使用神经网络工具箱时遇到的坑,供自己和他人参考。先写一点,以后遇到再更新。","headline":"MATLAB R2011b 神经网络工具箱注意事项","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2017/07/20/matlab-r2011b-neural-network-toolbox-note.html"},"url":"https://kkew3.github.io/2017/07/20/matlab-r2011b-neural-network-toolbox-note.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">MATLAB R2011b 神经网络工具箱注意事项</h1> + <span><a href="https://kkew3.github.io/tags/dev--matlab"><code class="highlighter-rouge"><nobr>dev/matlab</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2017-07-20T09:50:56+00:00" itemprop="datePublished">Jul 20, 2017 at 09:50:56 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>这是记录了我使用神经网络工具箱时遇到的坑,供自己和他人参考。先写一点,以后遇到再更新。</p> + +<h2 id="1">1</h2> + +<div class="language-matlab highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">net</span> <span class="o">=</span> <span class="n">feedforwardnet</span><span class="p">;</span> +<span class="n">net</span> <span class="o">=</span> <span class="n">train</span><span class="p">(</span><span class="n">net</span><span class="p">,</span> <span class="n">attributes</span><span class="p">,</span> <span class="n">targets</span><span class="p">);</span> +</code></pre></div></div> + +<p>第一行创建了一个两层前馈网络,隐藏层神经元个数为默认的10,这没什么问题。创建完网络后,如果使用 view(net) 来查看网络拓扑的话,会发现输入向量和输出向量是没有的,这是因为还没有调用 configure 函数。configure 函数默认在第一次调用 train 函数时被自动调用。<strong>这里有一个坑</strong>。假设:</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>X = [ + 1 1 2; + 2 1 3; + 3 1 1; + 2 1 3]'; +Y = [ + 0 1 1 0]; +</code></pre></div></div> + +<p>即输入向量是3维向量,数据集X中包含4个样本,训练采用分批训练方式。经过 train 函数调用后,net.IW{1,1}的维度竟然会变成10x2!不应该是10x3吗(注:隐藏层神经元个数10,输入向量3维)?因为数据集X中所有样本的第二个属性都是一样的(值都是1),结果这个属性就被Matlab忽略掉了,不知是有意为之还是bug。解决方法</p> + +<div class="language-matlab highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">X</span><span class="p">(:,</span><span class="nb">find</span><span class="p">(</span><span class="nb">var</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span> <span class="o"><</span> <span class="nb">eps</span><span class="p">))</span> <span class="o">=</span> <span class="n">X</span><span class="p">(:,</span><span class="nb">find</span><span class="p">(</span><span class="nb">var</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">)))</span> <span class="o">+</span> <span class="nb">min</span><span class="p">(</span><span class="nb">min</span><span class="p">(</span><span class="n">X</span><span class="p">))</span><span class="o">*</span><span class="mf">1e-5</span><span class="o">*</span><span class="nb">randn</span><span class="p">(</span><span class="nb">size</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">1</span><span class="p">),</span><span class="nb">length</span><span class="p">(</span><span class="nb">find</span><span class="p">(</span><span class="nb">var</span><span class="p">(</span><span class="n">X</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">))));</span> +</code></pre></div></div> + +<p>即,把被忽略的列加上一个小的白噪声让它们的值不一样。</p> + + </div> +<a class="u-url" href="/2017/07/20/matlab-r2011b-neural-network-toolbox-note.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2020/05/22/pytorch-crop-images-differentially.html b/2020/05/22/pytorch-crop-images-differentially.html new file mode 100644 index 000000000..90fefa598 --- /dev/null +++ b/2020/05/22/pytorch-crop-images-differentially.html @@ -0,0 +1,191 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>PyTorch crop images differentially | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="PyTorch crop images differentially"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="Intro"> +<meta property="og:description" content="Intro"> +<link rel="canonical" href="https://kkew3.github.io/2020/05/22/pytorch-crop-images-differentially.html"> +<meta property="og:url" content="https://kkew3.github.io/2020/05/22/pytorch-crop-images-differentially.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2020-05-22T18:24:21+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="PyTorch crop images differentially"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2020-05-22T18:24:21+00:00","datePublished":"2020-05-22T18:24:21+00:00","description":"Intro","headline":"PyTorch crop images differentially","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2020/05/22/pytorch-crop-images-differentially.html"},"url":"https://kkew3.github.io/2020/05/22/pytorch-crop-images-differentially.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +<script>MathJax={"tex":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]]},"svg":{"fontCache":"global"}}</script><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">PyTorch crop images differentially</h1> + <span><a href="https://kkew3.github.io/tags/dev--pytorch"><code class="highlighter-rouge"><nobr>dev/pytorch</nobr></code></a> | <a href="https://kkew3.github.io/tags/math--la"><code class="highlighter-rouge"><nobr>math/linear algebra</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2020-05-22T18:24:21+00:00" itemprop="datePublished">May 22, 2020 at 18:24:21 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <h2 id="intro">Intro</h2> + +<p><a href="https://pytorch.org">PyTorch</a> provides a variety of means to crop images. For example, <a href="https://pytorch.org/docs/stable/torchvision/transforms.html">torchvision.transforms</a> provides several functions to crop <code class="language-plaintext highlighter-rouge">PIL</code> images; <a href="https://discuss.pytorch.org/t/how-to-crop-image-tensor-in-model/8409/3">PyTorch Forum</a> provides an answer of how to crop image in a differentiable way (differentiable with respect to the image). However, sometimes we need a fully differentiable approach for the <em>cropping</em> action itself. How shall we implement that?</p> + +<h2 id="theory-affine-transformation">Theory: Affine transformation</h2> + +<p>Before reaching the answer, we need first to learn about the image coordinate system in PyTorch. It is a left-handed Cartesian system origined at the middle of an image. The coordinate has been normalized to range $[-1,1]$, where $(-1,-1)$ indicates the top-left corner, and $(1,1)$ indicates the bottom-right corner, as pointed out by <a href="https://pytorch.org/docs/stable/nn.functional.html#grid-sample">the doc</a>.</p> + +<p>Let $(x,y)$ be the top-left corner of the cropped image with respect to the coordinate of the original image; likewise, we denote $(x’,y’)$ as the bottom-right corner of the cropped image. It’s clear that $(x,y)$ corresponds to $(-1,-1)$ with respect to the cropped image coordinate system, and $(x’,y’)$ corresponds to $(1,1)$. We’d like a function $f$ that maps from the cropped image system to the original image system for every point in the cropped image. Since only scaling and translation are involved, the function $f$ can be parameterized by an affine transformation matrix $\Theta$ such that</p> + +\[\Theta = +\begin{pmatrix} +\theta_{11} & 0 & \theta_{13}\\ +0 & \theta_{22} & \theta_{23}\\ +0 & 0 & 1\\ +\end{pmatrix}\] + +<p>where $\theta_{12}=\theta_{21}=0$ since skewing is not involved. Denote $\mathbf{u}_H$ as the homogeneous coordinate of $\mathbf{u}=\begin{pmatrix}u & v\\ \end{pmatrix}^\intercal$ such that $\mathbf{u}_H=\begin{pmatrix}\mathbf{u}^\intercal&1\end{pmatrix}^\intercal$, $\Theta$ maps $\mathbf{u}_H$ with respect to the cropped image system to $\mathbf{x}_H$ with respect to the original image system, i.e. $\mathbf{x}_H = \Theta \mathbf{u}_H$. Thus,</p> + +\[\begin{pmatrix} +x & x'\\ +y & y'\\ +1 & 1 +\end{pmatrix} = +\begin{pmatrix} +\theta_{11} & 0 & \theta_{13}\\ +0 & \theta_{22} & \theta_{23}\\ +0 & 0 & 1\\ +\end{pmatrix} +\begin{pmatrix} +-1 & 1\\ +-1 & 1\\ +1 & 1\\ +\end{pmatrix}\] + +<p>Solving the equations,</p> + +\[\Theta = +\begin{pmatrix} +\frac{x'-x}{2} & 0 & \frac{x'+x}{2}\\ +0 & \frac{y'-y}{2} & \frac{y'+y}{2}\\ +0 & 0 & 1\\ +\end{pmatrix}\] + +<p>where $x’\ge x, y’ \ge y$.</p> + +<h2 id="coding-time">Coding time</h2> + +<p>We’ll need two functions:</p> + +<ol> + <li> +<a href="https://pytorch.org/docs/stable/nn.functional.html#affine-grid"><code class="language-plaintext highlighter-rouge">torch.nn.functional.affine_grid</code></a> to convert the $\Theta$ parameterization to $f$</li> + <li> +<a href="https://pytorch.org/docs/stable/nn.functional.html#grid-sample"><code class="language-plaintext highlighter-rouge">torch.nn.functional.grid_sample</code></a> to find the corresponding original image coordinate from each cropped image coordinate</li> +</ol> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">torch</span> +<span class="kn">import</span> <span class="nn">torch.nn.functional</span> <span class="k">as</span> <span class="n">F</span> + +<span class="n">B</span><span class="p">,</span> <span class="n">C</span><span class="p">,</span> <span class="n">H</span><span class="p">,</span> <span class="n">W</span> <span class="o">=</span> <span class="mi">16</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">224</span><span class="p">,</span> <span class="mi">224</span> <span class="c1"># batch size, input channels +</span> <span class="c1"># original image height and width +# Let `I` be our original image +</span><span class="n">I</span> <span class="o">=</span> <span class="n">torch</span><span class="p">.</span><span class="n">rand</span><span class="p">(</span><span class="n">B</span><span class="p">,</span> <span class="n">C</span><span class="p">,</span> <span class="n">H</span><span class="p">,</span> <span class="n">W</span><span class="p">)</span> +<span class="c1"># Set the (x,y) and (x',y') to define the rectangular region to crop +</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="o">-</span><span class="mf">0.5</span><span class="p">,</span> <span class="o">-</span><span class="mf">0.3</span> <span class="c1"># some examplary random coordinates; +</span><span class="n">x_</span><span class="p">,</span> <span class="n">y_</span> <span class="o">=</span> <span class="mf">0.7</span><span class="p">,</span> <span class="mf">0.8</span> <span class="c1"># in practice, (x,y,x_,y_) might be predicted +</span> <span class="c1"># as a tensor in the computation graph +# Set the affine parameters +</span><span class="n">theta</span> <span class="o">=</span> <span class="n">torch</span><span class="p">.</span><span class="n">tensor</span><span class="p">([</span> + <span class="p">[(</span><span class="n">x_</span><span class="o">-</span><span class="n">x</span><span class="p">)</span><span class="o">/</span><span class="mi">2</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="p">(</span><span class="n">x_</span><span class="o">+</span><span class="n">x</span><span class="p">)</span><span class="o">/</span><span class="mi">2</span><span class="p">],</span> + <span class="p">[</span> <span class="mi">0</span><span class="p">,(</span><span class="n">y_</span><span class="o">-</span><span class="n">y</span><span class="p">)</span><span class="o">/</span><span class="mi">2</span><span class="p">,</span> <span class="p">(</span><span class="n">y_</span><span class="o">+</span><span class="n">y</span><span class="p">)</span><span class="o">/</span><span class="mi">2</span><span class="p">],</span> +<span class="p">]).</span><span class="n">unsqueeze_</span><span class="p">(</span><span class="mi">0</span><span class="p">).</span><span class="n">expand</span><span class="p">(</span><span class="n">B</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> +<span class="c1"># compute the flow field; +# where size is the output size (scaling involved) +# `align_corners` option must be the same throughout the code +</span><span class="n">f</span> <span class="o">=</span> <span class="n">F</span><span class="p">.</span><span class="n">affine_grid</span><span class="p">(</span><span class="n">theta</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="n">B</span><span class="p">,</span> <span class="n">C</span><span class="p">,</span> <span class="n">H</span><span class="o">//</span><span class="mi">2</span><span class="p">,</span> <span class="n">W</span><span class="o">//</span><span class="mi">2</span><span class="p">),</span> <span class="n">align_corners</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span> +<span class="n">I_cropped</span> <span class="o">=</span> <span class="n">F</span><span class="p">.</span><span class="n">grid_sample</span><span class="p">(</span><span class="n">I</span><span class="p">,</span> <span class="n">f</span><span class="p">,</span> <span class="n">align_corners</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span> +</code></pre></div></div> + +<h2 id="read-also">Read also</h2> + +<ul> + <li><a href="https://discuss.pytorch.org/t/cropping-a-minibatch-of-images-each-image-a-bit-differently/12247">https://discuss.pytorch.org/t/cropping-a-minibatch-of-images-each-image-a-bit-differently/12247</a></li> +</ul> + + </div> +<a class="u-url" href="/2020/05/22/pytorch-crop-images-differentially.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2022/02/05/align-strings-in-en-and-zh-like-bsd-ls.html b/2022/02/05/align-strings-in-en-and-zh-like-bsd-ls.html new file mode 100644 index 000000000..4e42fdff1 --- /dev/null +++ b/2022/02/05/align-strings-in-en-and-zh-like-bsd-ls.html @@ -0,0 +1,185 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>像BSD ls 一样中英文混排字符串(Python3) | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="像BSD ls 一样中英文混排字符串(Python3)"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="这里有一个C语言实现的字符串打印功能。我没细看它支不支持中英文混排。我在此给一个Python3版的支持中英文混排的字符串打印代码。另见我的Gists:cjkjust,fmtstrings_like_ls。下面的代码和Gists没有本质差别,只是我在下面新加了一点注释、精简了一点无关代码。"> +<meta property="og:description" content="这里有一个C语言实现的字符串打印功能。我没细看它支不支持中英文混排。我在此给一个Python3版的支持中英文混排的字符串打印代码。另见我的Gists:cjkjust,fmtstrings_like_ls。下面的代码和Gists没有本质差别,只是我在下面新加了一点注释、精简了一点无关代码。"> +<link rel="canonical" href="https://kkew3.github.io/2022/02/05/align-strings-in-en-and-zh-like-bsd-ls.html"> +<meta property="og:url" content="https://kkew3.github.io/2022/02/05/align-strings-in-en-and-zh-like-bsd-ls.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2022-02-05T10:49:30+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="像BSD ls 一样中英文混排字符串(Python3)"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2022-02-05T10:49:30+00:00","datePublished":"2022-02-05T10:49:30+00:00","description":"这里有一个C语言实现的字符串打印功能。我没细看它支不支持中英文混排。我在此给一个Python3版的支持中英文混排的字符串打印代码。另见我的Gists:cjkjust,fmtstrings_like_ls。下面的代码和Gists没有本质差别,只是我在下面新加了一点注释、精简了一点无关代码。","headline":"像BSD ls 一样中英文混排字符串(Python3)","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2022/02/05/align-strings-in-en-and-zh-like-bsd-ls.html"},"url":"https://kkew3.github.io/2022/02/05/align-strings-in-en-and-zh-like-bsd-ls.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">像BSD ls 一样中英文混排字符串(Python3)</h1> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2022-02-05T10:49:30+00:00" itemprop="datePublished">Feb 5, 2022 at 10:49:30 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p><a href="https://www.cnblogs.com/LiuYanYGZ/p/14901218.html">这里</a>有一个C语言实现的字符串打印功能。我没细看它支不支持中英文混排。我在此给一个Python3版的支持中英文混排的字符串打印代码。另见我的Gists:<a href="https://gist.github.com/kkew3/8bb9aa225a6c82ae5e1a0fa609c9a65a">cjkjust</a>,<a href="https://gist.github.com/kkew3/3dde88ec52df12d7cc855ffeb2091a7c">fmtstrings_like_ls</a>。下面的代码和Gists没有本质差别,只是我在下面新加了一点注释、精简了一点无关代码。</p> + +<h2 id="代码">代码</h2> + +<p>中英文混排时的对齐函数<code class="language-plaintext highlighter-rouge">cjkljust</code>:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">try</span><span class="p">:</span> + <span class="c1"># https://f.gallai.re/cjkwrap +</span> <span class="kn">from</span> <span class="nn">cjkwrap</span> <span class="kn">import</span> <span class="n">cjklen</span> +<span class="k">except</span> <span class="nb">ImportError</span><span class="p">:</span> + <span class="kn">import</span> <span class="nn">unicodedata</span> + + <span class="k">def</span> <span class="nf">is_wide</span><span class="p">(</span><span class="n">char</span><span class="p">):</span> + <span class="k">return</span> <span class="n">unicodedata</span><span class="p">.</span><span class="n">east_asian_width</span><span class="p">(</span><span class="n">char</span><span class="p">)</span> <span class="ow">in</span> <span class="s">'FW'</span> + + <span class="k">def</span> <span class="nf">cjklen</span><span class="p">(</span><span class="n">string</span><span class="p">):</span> + <span class="k">return</span> <span class="nb">sum</span><span class="p">(</span><span class="mi">2</span> <span class="k">if</span> <span class="n">is_wide</span><span class="p">(</span><span class="n">char</span><span class="p">)</span> <span class="k">else</span> <span class="mi">1</span> <span class="k">for</span> <span class="n">char</span> <span class="ow">in</span> <span class="n">string</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">cjkljust</span><span class="p">(</span><span class="n">string</span><span class="p">,</span> <span class="n">width</span><span class="p">,</span> <span class="n">fillbyte</span><span class="o">=</span><span class="s">' '</span><span class="p">):</span> + <span class="s">""" + >>> cjkljust('hello', 10, '*') + 'hello*****' + >>> cjkljust('你好world', 10, '*') + '你好world*' + >>> cjkljust('你好world', 1, '*') + '你好world' + """</span> + <span class="k">return</span> <span class="n">string</span><span class="p">.</span><span class="n">ljust</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">string</span><span class="p">)</span> <span class="o">+</span> <span class="n">width</span> <span class="o">-</span> <span class="n">cjklen</span><span class="p">(</span><span class="n">string</span><span class="p">),</span> <span class="n">fillbyte</span><span class="p">)</span> +</code></pre></div></div> + +<p>打印函数<code class="language-plaintext highlighter-rouge">pprint</code>:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">math</span> +<span class="kn">import</span> <span class="nn">itertools</span> +<span class="kn">import</span> <span class="nn">shutil</span> + + +<span class="k">def</span> <span class="nf">calc_layout</span><span class="p">(</span><span class="n">n_strings</span><span class="p">,</span> <span class="n">total_width</span><span class="p">,</span> <span class="n">column_width</span><span class="p">,</span> <span class="n">width_between_cols</span><span class="p">):</span> + <span class="c1"># expected_ncols * column_width + +</span> <span class="c1"># (expected_ncols - 1) * width_between_cols <= total_width +</span> <span class="c1"># +</span> <span class="c1"># 解得 expected_ncols <= (total_width + width_between_cols) / +</span> <span class="c1"># (column_width + width_between_cols) +</span> <span class="c1"># 因此 expected_ncols 最大为不等号右边的向下取整 +</span> <span class="n">expected_ncols</span> <span class="o">=</span> <span class="n">math</span><span class="p">.</span><span class="n">floor</span><span class="p">((</span><span class="n">total_width</span> <span class="o">+</span> <span class="n">width_between_cols</span><span class="p">)</span> <span class="o">/</span> + <span class="p">(</span><span class="n">column_width</span> <span class="o">+</span> <span class="n">width_between_cols</span><span class="p">))</span> + <span class="n">expected_ncols</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">expected_ncols</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> + <span class="n">actual_nrows</span> <span class="o">=</span> <span class="n">math</span><span class="p">.</span><span class="n">ceil</span><span class="p">(</span><span class="n">n_strings</span> <span class="o">/</span> <span class="n">expected_ncols</span><span class="p">)</span> + <span class="n">actual_ncols</span> <span class="o">=</span> <span class="p">(</span><span class="n">n_strings</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> <span class="o">//</span> <span class="n">actual_nrows</span> <span class="o">+</span> <span class="mi">1</span> + <span class="k">return</span> <span class="n">actual_nrows</span><span class="p">,</span> <span class="n">actual_ncols</span> + + +<span class="k">def</span> <span class="nf">pprint</span><span class="p">(</span><span class="n">strings</span><span class="p">,</span> <span class="n">total_width</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">width_between_cols</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">file</span><span class="o">=</span><span class="bp">None</span><span class="p">)</span> <span class="o">-></span> <span class="bp">None</span><span class="p">:</span> + <span class="s">""" + Pretty print list of strings like ``ls``. + :param strings: list of strings + :param total_width: the disposable total width, default to terminal width + :param width_between_cols: width between columns, default to 1 + :param file: file handle to which to print, default to stdout + """</span> + <span class="n">total_width</span> <span class="o">=</span> <span class="n">total_width</span> <span class="ow">or</span> <span class="n">shutil</span><span class="p">.</span><span class="n">get_terminal_size</span><span class="p">().</span><span class="n">columns</span> + <span class="k">assert</span> <span class="n">total_width</span> <span class="o">>=</span> <span class="mi">1</span><span class="p">,</span> <span class="n">total_width</span> + <span class="k">assert</span> <span class="n">width_between_cols</span> <span class="o">>=</span> <span class="mi">1</span><span class="p">,</span> <span class="n">width_between_cols</span> + + <span class="k">if</span> <span class="ow">not</span> <span class="n">strings</span><span class="p">:</span> + <span class="k">return</span> + + <span class="c1"># column_width: BSD ls 的列宽为所有待打印字符串的最长长度 +</span> <span class="n">column_width</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="n">cjklen</span><span class="p">,</span> <span class="n">strings</span><span class="p">))</span> + <span class="n">nrows</span><span class="p">,</span> <span class="n">ncols</span> <span class="o">=</span> <span class="n">calc_layout</span><span class="p">(</span> + <span class="nb">len</span><span class="p">(</span><span class="n">strings</span><span class="p">),</span> <span class="n">total_width</span><span class="p">,</span> <span class="n">column_width</span><span class="p">,</span> <span class="n">width_between_cols</span><span class="p">)</span> + <span class="n">columns</span> <span class="o">=</span> <span class="p">[[]</span> <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">ncols</span><span class="p">)]</span> + <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">s</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">strings</span><span class="p">):</span> + <span class="n">columns</span><span class="p">[</span><span class="n">i</span> <span class="o">//</span> <span class="n">nrows</span><span class="p">].</span><span class="n">append</span><span class="p">(</span><span class="n">s</span><span class="p">)</span> + + <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="n">itertools</span><span class="p">.</span><span class="n">zip_longest</span><span class="p">(</span><span class="o">*</span><span class="n">columns</span><span class="p">):</span> + <span class="n">padded_row</span> <span class="o">=</span> <span class="p">(</span><span class="n">cjkljust</span><span class="p">(</span><span class="n">s</span> <span class="ow">or</span> <span class="s">''</span><span class="p">,</span> <span class="n">column_width</span><span class="p">)</span> <span class="k">for</span> <span class="n">s</span> <span class="ow">in</span> <span class="n">row</span><span class="p">)</span> + <span class="k">print</span><span class="p">((</span><span class="s">' '</span> <span class="o">*</span> <span class="n">width_between_cols</span><span class="p">).</span><span class="n">join</span><span class="p">(</span><span class="n">padded_row</span><span class="p">),</span> <span class="nb">file</span><span class="o">=</span><span class="nb">file</span><span class="p">)</span> +</code></pre></div></div> + + </div> +<a class="u-url" href="/2022/02/05/align-strings-in-en-and-zh-like-bsd-ls.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2022/02/11/python-align-strings-in-en-and-zh.html b/2022/02/11/python-align-strings-in-en-and-zh.html new file mode 100644 index 000000000..bffee881b --- /dev/null +++ b/2022/02/11/python-align-strings-in-en-and-zh.html @@ -0,0 +1,151 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>如何在Python中对齐中英文混排字符串 | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="如何在Python中对齐中英文混排字符串"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="Python中有str.ljust、str.rjust、str.center用于左对齐、右对齐和居中对齐字符串。例如'hello'.ljust(10, '*')返回'hello*****','hello'.rjust(10, '*')返回'*****hello',等。每个中日韩文(CJK字符)在Python中被视为一个字符,然而它们的显示宽度为2,这个矛盾使ljust、rjust、center不能正确地对齐CJK字符:例如'你好'.ljust(5, '*')返回'你好***'而不是'你好*'。另见此文。"> +<meta property="og:description" content="Python中有str.ljust、str.rjust、str.center用于左对齐、右对齐和居中对齐字符串。例如'hello'.ljust(10, '*')返回'hello*****','hello'.rjust(10, '*')返回'*****hello',等。每个中日韩文(CJK字符)在Python中被视为一个字符,然而它们的显示宽度为2,这个矛盾使ljust、rjust、center不能正确地对齐CJK字符:例如'你好'.ljust(5, '*')返回'你好***'而不是'你好*'。另见此文。"> +<link rel="canonical" href="https://kkew3.github.io/2022/02/11/python-align-strings-in-en-and-zh.html"> +<meta property="og:url" content="https://kkew3.github.io/2022/02/11/python-align-strings-in-en-and-zh.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2022-02-11T06:27:19+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="如何在Python中对齐中英文混排字符串"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2022-02-11T06:27:19+00:00","datePublished":"2022-02-11T06:27:19+00:00","description":"Python中有str.ljust、str.rjust、str.center用于左对齐、右对齐和居中对齐字符串。例如'hello'.ljust(10, '*')返回'hello*****','hello'.rjust(10, '*')返回'*****hello',等。每个中日韩文(CJK字符)在Python中被视为一个字符,然而它们的显示宽度为2,这个矛盾使ljust、\u001crjust、center不能正确地对齐CJK字符:例如'你好'.ljust(5, '*')返回'你好***'而不是'你好*'。另见此文。","headline":"如何在Python中对齐中英文混排字符串","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2022/02/11/python-align-strings-in-en-and-zh.html"},"url":"https://kkew3.github.io/2022/02/11/python-align-strings-in-en-and-zh.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +<script>MathJax={"tex":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]]},"svg":{"fontCache":"global"}}</script><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">如何在Python中对齐中英文混排字符串</h1> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2022-02-11T06:27:19+00:00" itemprop="datePublished">Feb 11, 2022 at 06:27:19 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>Python中有<code class="language-plaintext highlighter-rouge">str.ljust</code>、<code class="language-plaintext highlighter-rouge">str.rjust</code>、<code class="language-plaintext highlighter-rouge">str.center</code>用于左对齐、右对齐和居中对齐字符串。例如<code class="language-plaintext highlighter-rouge">'hello'.ljust(10, '*')</code>返回<code class="language-plaintext highlighter-rouge">'hello*****'</code>,<code class="language-plaintext highlighter-rouge">'hello'.rjust(10, '*')</code>返回<code class="language-plaintext highlighter-rouge">'*****hello'</code>,等。每个中日韩文(CJK字符)在Python中被视为一个字符,然而它们的显示宽度为2,这个矛盾使<code class="language-plaintext highlighter-rouge">ljust</code>、<code class="language-plaintext highlighter-rouge">rjust</code>、<code class="language-plaintext highlighter-rouge">center</code>不能正确地对齐CJK字符:例如<code class="language-plaintext highlighter-rouge">'你好'.ljust(5, '*')</code>返回<code class="language-plaintext highlighter-rouge">'你好***'</code>而不是<code class="language-plaintext highlighter-rouge">'你好*'</code>。另见<a href="https://blog.csdn.net/qq_45537774/article/details/99727637">此文</a>。</p> + +<p>为了阐述如何解决这个问题,假设我们要以$w$显示宽度对齐字符串<code class="language-plaintext highlighter-rouge">s</code>,并以<code class="language-plaintext highlighter-rouge">ljust</code>(<a href="https://docs.python.org/3/library/stdtypes.html#str.ljust">doc</a>)为例(另外两个同理),另假设<code class="language-plaintext highlighter-rouge">fillchar='*'</code>。易知我们需要在<code class="language-plaintext highlighter-rouge">s</code>的右侧补$w-l$个<code class="language-plaintext highlighter-rouge">'*'</code>,其中$l$是<code class="language-plaintext highlighter-rouge">s</code>的显示宽度。而为了使<code class="language-plaintext highlighter-rouge">ljust</code>为我们补$w-l$个<code class="language-plaintext highlighter-rouge">'*'</code>,<code class="language-plaintext highlighter-rouge">ljust</code>的第1个参数应为$n+w-l$,其中$n$为<code class="language-plaintext highlighter-rouge">s</code>的字符数。做简单的变换:$n+w-l = w-(l-n)$。假设<code class="language-plaintext highlighter-rouge">s</code>中有$a$个显示宽度为1的字符、$b$个显示宽度为2的字符,则$l=a+2b$,$n=a+b$,因此$l-n=b$,即$n+w-l=w-b$。如果<code class="language-plaintext highlighter-rouge">s</code>中显示宽度为2的字符限于CJK字符,那么$b$即为CJK字符的个数。Python中求CJK字符在一个字符串<code class="language-plaintext highlighter-rouge">string</code>中的个数的函数为:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">unicodedata</span> + +<span class="k">def</span> <span class="nf">count_cjk_chars</span><span class="p">(</span><span class="n">string</span><span class="p">):</span> + <span class="k">return</span> <span class="nb">sum</span><span class="p">(</span><span class="n">unicodedata</span><span class="p">.</span><span class="n">east_asian_width</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="ow">in</span> <span class="s">'FW'</span> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="n">string</span><span class="p">)</span> +</code></pre></div></div> + +<p>不难得到适用于可能含有CJK字符的对齐函数:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">def</span> <span class="nf">cjkljust</span><span class="p">(</span><span class="n">string</span><span class="p">,</span> <span class="n">width</span><span class="p">,</span> <span class="n">fillbyte</span><span class="o">=</span><span class="s">' '</span><span class="p">):</span> + <span class="s">""" + 左对齐 + + >>> cjkljust('hello', 10, '*') + 'hello*****' + >>> cjkljust('你好world', 10, '*') + '你好world*' + >>> cjkljust('你好world', 1, '*') + '你好world' + """</span> + <span class="k">return</span> <span class="n">string</span><span class="p">.</span><span class="n">ljust</span><span class="p">(</span><span class="n">width</span> <span class="o">-</span> <span class="n">count_cjk_chars</span><span class="p">(</span><span class="n">string</span><span class="p">),</span> <span class="n">fillbyte</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">cjkrjust</span><span class="p">(</span><span class="n">string</span><span class="p">,</span> <span class="n">width</span><span class="p">,</span> <span class="n">fillbyte</span><span class="o">=</span><span class="s">' '</span><span class="p">):</span> + <span class="s">""" + 右对齐 + """</span> + <span class="k">return</span> <span class="n">string</span><span class="p">.</span><span class="n">rjust</span><span class="p">(</span><span class="n">width</span> <span class="o">-</span> <span class="n">count_cjk_chars</span><span class="p">(</span><span class="n">string</span><span class="p">),</span> <span class="n">fillbyte</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">cjkcenter</span><span class="p">(</span><span class="n">string</span><span class="p">,</span> <span class="n">width</span><span class="p">,</span> <span class="n">fillbyte</span><span class="o">=</span><span class="s">' '</span><span class="p">):</span> + <span class="s">""" + 居中对齐 + """</span> + <span class="k">return</span> <span class="n">string</span><span class="p">.</span><span class="n">center</span><span class="p">(</span><span class="n">width</span> <span class="o">-</span> <span class="n">count_cjk_chars</span><span class="p">(</span><span class="n">string</span><span class="p">),</span> <span class="n">fillbyte</span><span class="p">)</span> +</code></pre></div></div> + +<p>完整代码参见我的<a href="https://gist.github.com/kkew3/8bb9aa225a6c82ae5e1a0fa609c9a65a">Gist</a>。</p> + +<hr> + +<p>也可从<a href="https://pypi.org/project/cjkjust/">PyPI</a>下载使用。</p> + + </div> +<a class="u-url" href="/2022/02/11/python-align-strings-in-en-and-zh.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2022/02/13/list-imported-python-modules-using-ast.html b/2022/02/13/list-imported-python-modules-using-ast.html new file mode 100644 index 000000000..08c0a4ce4 --- /dev/null +++ b/2022/02/13/list-imported-python-modules-using-ast.html @@ -0,0 +1,441 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>使用抽象语法树ast统计哪些Python包与模块被导入了 | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="使用抽象语法树ast统计哪些Python包与模块被导入了"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="长话短说,我的Gist。"> +<meta property="og:description" content="长话短说,我的Gist。"> +<link rel="canonical" href="https://kkew3.github.io/2022/02/13/list-imported-python-modules-using-ast.html"> +<meta property="og:url" content="https://kkew3.github.io/2022/02/13/list-imported-python-modules-using-ast.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2022-02-13T14:25:18+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="使用抽象语法树ast统计哪些Python包与模块被导入了"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2022-02-13T14:25:18+00:00","datePublished":"2022-02-13T14:25:18+00:00","description":"长话短说,我的Gist。","headline":"使用抽象语法树ast统计哪些Python包与模块被导入了","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2022/02/13/list-imported-python-modules-using-ast.html"},"url":"https://kkew3.github.io/2022/02/13/list-imported-python-modules-using-ast.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">使用抽象语法树ast统计哪些Python包与模块被导入了</h1> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2022-02-13T14:25:18+00:00" itemprop="datePublished">Feb 13, 2022 at 14:25:18 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>长话短说,我的<a href="https://gist.github.com/kkew3/3bd1e0255af63e3ac0801c7bbc89e7bf">Gist</a>。</p> + +<p>给定一个没有<code class="language-plaintext highlighter-rouge">requirements.txt</code>的Python项目,如果想知道需要安装哪些包才能满足这个项目的依赖需求,一个容易想到的方法就是对每一个<code class="language-plaintext highlighter-rouge">.py</code>文件,用模式匹配(如正则表达式)找<code class="language-plaintext highlighter-rouge">import xxx</code>,并记录<code class="language-plaintext highlighter-rouge">xxx</code>为需要的包。然而<code class="language-plaintext highlighter-rouge">import</code>语句有很多形式,如:<code class="language-plaintext highlighter-rouge">import xxx</code>、<code class="language-plaintext highlighter-rouge">import xxx as aaa</code>、<code class="language-plaintext highlighter-rouge">import xxx as aaa, yyy as bbb</code>、<code class="language-plaintext highlighter-rouge">from xxx.yyy import fff as ccc</code>、<code class="language-plaintext highlighter-rouge">from .zzz import ggg</code>。因此,更好的方法是利用抽象语法树<code class="language-plaintext highlighter-rouge">ast</code>模块来找出所有<code class="language-plaintext highlighter-rouge">import</code>语句。</p> + +<p>Python的<code class="language-plaintext highlighter-rouge">import</code>语句对应<code class="language-plaintext highlighter-rouge">ast</code>的两种节点:<code class="language-plaintext highlighter-rouge">ast.Import</code>和<code class="language-plaintext highlighter-rouge">ast.ImportFrom</code>。要从<a href="https://docs.python.org/3/library/ast.html#ast.Import"><code class="language-plaintext highlighter-rouge">ast.Import</code></a>获取导入包的列表,可用:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">[</span><span class="n">a</span><span class="p">.</span><span class="n">name</span> <span class="k">for</span> <span class="n">a</span> <span class="ow">in</span> <span class="n">node</span><span class="p">.</span><span class="n">names</span><span class="p">]</span> <span class="c1"># 其中node是ast.Import类型的 +</span></code></pre></div></div> + +<p>要从<a href="https://docs.python.org/3/library/ast.html#ast.ImportFrom"><code class="language-plaintext highlighter-rouge">ast.ImportFrom</code></a>获取导入的包,可用:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">node</span><span class="p">.</span><span class="n">module</span> <span class="c1"># 其中node是ast.ImportFrom类型的 +</span></code></pre></div></div> + +<p>值得注意的是如果当前<code class="language-plaintext highlighter-rouge">import</code>语句是<code class="language-plaintext highlighter-rouge">from . import xxx</code>,<code class="language-plaintext highlighter-rouge">node.module</code>将会是<code class="language-plaintext highlighter-rouge">None</code>,此时<code class="language-plaintext highlighter-rouge">node.level > 0</code>,意味着相对导入。因此,要想获得所有导入的包(除了相对导入外,因为相对导入的包绝不会是需要安装的依赖),可以这样:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">ast</span> +<span class="c1"># 假设source包含待解析源码 +</span><span class="n">root</span> <span class="o">=</span> <span class="n">ast</span><span class="p">.</span><span class="n">parse</span><span class="p">(</span><span class="n">source</span><span class="p">)</span> +<span class="n">result</span> <span class="o">=</span> <span class="p">[]</span> +<span class="k">for</span> <span class="n">node</span> <span class="ow">in</span> <span class="n">ast</span><span class="p">.</span><span class="n">walk</span><span class="p">(</span><span class="n">root</span><span class="p">):</span> + <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">node</span><span class="p">,</span> <span class="n">ast</span><span class="p">.</span><span class="n">Import</span><span class="p">):</span> + <span class="k">for</span> <span class="n">a</span> <span class="ow">in</span> <span class="n">node</span><span class="p">.</span><span class="n">names</span><span class="p">:</span> + <span class="n">result</span><span class="p">.</span><span class="n">append</span><span class="p">(</span><span class="n">a</span><span class="p">.</span><span class="n">name</span><span class="p">.</span><span class="n">split</span><span class="p">(</span><span class="s">'.'</span><span class="p">,</span> <span class="n">maxsplit</span><span class="o">=</span><span class="mi">1</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span> + <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">node</span><span class="p">,</span> <span class="n">ast</span><span class="p">.</span><span class="n">ImportFrom</span><span class="p">):</span> + <span class="k">if</span> <span class="n">node</span><span class="p">.</span><span class="n">level</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> + <span class="n">result</span><span class="p">.</span><span class="n">append</span><span class="p">(</span><span class="n">node</span><span class="p">.</span><span class="n">module</span><span class="p">.</span><span class="n">split</span><span class="p">(</span><span class="s">'.'</span><span class="p">,</span> <span class="n">maxsplit</span><span class="o">=</span><span class="mi">1</span><span class="p">)[</span><span class="mi">0</span><span class="p">])</span> +</code></pre></div></div> + +<p>然而绝对导入的包也有可能是工作目录中已存在的模块或包啊,此时我们就可以根据导入路径判断它是不是指工作目录下的包:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">def</span> <span class="nf">exists_local</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">rootpkg</span><span class="p">):</span> + <span class="n">filepath</span> <span class="o">=</span> <span class="n">os</span><span class="p">.</span><span class="n">path</span><span class="p">.</span><span class="n">join</span><span class="p">(</span><span class="n">rootpkg</span><span class="p">,</span> <span class="n">path</span><span class="p">.</span><span class="n">replace</span><span class="p">(</span><span class="s">'.'</span><span class="p">,</span> <span class="n">os</span><span class="p">.</span><span class="n">path</span><span class="p">.</span><span class="n">sep</span><span class="p">))</span> + <span class="c1"># see if path is a local package +</span> <span class="k">if</span> <span class="n">os</span><span class="p">.</span><span class="n">path</span><span class="p">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">filepath</span><span class="p">)</span> <span class="ow">and</span> <span class="n">os</span><span class="p">.</span><span class="n">path</span><span class="p">.</span><span class="n">isfile</span><span class="p">(</span> + <span class="n">os</span><span class="p">.</span><span class="n">path</span><span class="p">.</span><span class="n">join</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="s">'__init__.py'</span><span class="p">)):</span> + <span class="k">return</span> <span class="bp">True</span> + <span class="c1"># see if path is a local module +</span> <span class="k">if</span> <span class="n">os</span><span class="p">.</span><span class="n">path</span><span class="p">.</span><span class="n">isfile</span><span class="p">(</span><span class="n">filepath</span> <span class="o">+</span> <span class="s">'.py'</span><span class="p">):</span> + <span class="k">return</span> <span class="bp">True</span> + + <span class="k">return</span> <span class="bp">False</span> +</code></pre></div></div> + +<p>其中<code class="language-plaintext highlighter-rouge">path</code>是导入路径,<code class="language-plaintext highlighter-rouge">rootpkg</code>是根包所在目录(定义见<a href="https://docs.python.org/3.7/distutils/setupscript.html#listing-whole-packages">这里</a>)。</p> + +<p>把这个核心功能稍作包装,便可写出下面的完整可执行代码:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">from</span> <span class="nn">__future__</span> <span class="kn">import</span> <span class="n">print_function</span> + +<span class="kn">import</span> <span class="nn">argparse</span> +<span class="kn">import</span> <span class="nn">os</span> +<span class="kn">import</span> <span class="nn">ast</span> +<span class="kn">import</span> <span class="nn">sys</span> +<span class="kn">import</span> <span class="nn">pkgutil</span> +<span class="kn">import</span> <span class="nn">itertools</span> +<span class="kn">import</span> <span class="nn">logging</span> +<span class="kn">import</span> <span class="nn">json</span> + + +<span class="k">def</span> <span class="nf">make_parser</span><span class="p">():</span> + <span class="n">parser</span> <span class="o">=</span> <span class="n">argparse</span><span class="p">.</span><span class="n">ArgumentParser</span><span class="p">(</span> + <span class="n">description</span><span class="o">=</span><span class="p">(</span><span class="s">'List all root imports. The *root* import of '</span> + <span class="s">'`import pkg1.mod1` is "pkg1".'</span><span class="p">))</span> + <span class="n">parse_opts</span> <span class="o">=</span> <span class="n">parser</span><span class="p">.</span><span class="n">add_mutually_exclusive_group</span><span class="p">()</span> + <span class="n">parse_opts</span><span class="p">.</span><span class="n">add_argument</span><span class="p">(</span> + <span class="s">'-g'</span><span class="p">,</span> + <span class="s">'--greedy'</span><span class="p">,</span> + <span class="n">action</span><span class="o">=</span><span class="s">'store_true'</span><span class="p">,</span> + <span class="n">help</span><span class="o">=</span><span class="p">(</span><span class="s">'find also import statements within try block, '</span> + <span class="s">'if block, while block, function definition, '</span> + <span class="s">'etc.'</span><span class="p">))</span> + <span class="n">parse_opts</span><span class="p">.</span><span class="n">add_argument</span><span class="p">(</span> + <span class="s">'-a'</span><span class="p">,</span> + <span class="s">'--all'</span><span class="p">,</span> + <span class="n">action</span><span class="o">=</span><span class="s">'store_true'</span><span class="p">,</span> + <span class="n">help</span><span class="o">=</span><span class="p">(</span><span class="s">'first list all minimal-required root '</span> + <span class="s">'imports (without `-g + +需要注意的是,程序的输出并不一定是PyPI上包的名字(例如,`import bs4`然而`pip install beautifulsoup4`)。 + +--- + +类似项目:[pipreqs](https://github.com/bndr/pipreqs)。核心代码是几乎一样的,但包装得不同。 +), then list '</span> + <span class="s">'additionally-required root imports (with '</span> + <span class="s">'`-g + +需要注意的是,程序的输出并不一定是PyPI上包的名字(例如,`import bs4`然而`pip install beautifulsoup4`)。 + +--- + +类似项目:[pipreqs](https://github.com/bndr/pipreqs)。核心代码是几乎一样的,但包装得不同。 +), and explain the two lists'</span><span class="p">))</span> + <span class="n">parser</span><span class="p">.</span><span class="n">add_argument</span><span class="p">(</span> + <span class="s">'-i'</span><span class="p">,</span> + <span class="s">'--include-installed'</span><span class="p">,</span> + <span class="n">action</span><span class="o">=</span><span class="s">'store_true'</span><span class="p">,</span> + <span class="n">help</span><span class="o">=</span><span class="s">'include installed/built-in modules/packages'</span><span class="p">)</span> + <span class="n">parser</span><span class="p">.</span><span class="n">add_argument</span><span class="p">(</span> + <span class="s">'-T'</span><span class="p">,</span> + <span class="s">'--files-from'</span><span class="p">,</span> + <span class="n">metavar</span><span class="o">=</span><span class="s">'LIST_FILE'</span><span class="p">,</span> + <span class="n">help</span><span class="o">=</span><span class="p">(</span><span class="s">'if specified, the files to process '</span> + <span class="s">'will be read one per line from '</span> + <span class="s">'LIST_FILE; if specified as `- + +需要注意的是,程序的输出并不一定是PyPI上包的名字(例如,`import bs4`然而`pip install beautifulsoup4`)。 + +--- + +类似项目:[pipreqs](https://github.com/bndr/pipreqs)。核心代码是几乎一样的,但包装得不同。 +, '</span> + <span class="s">'stdin will be expected to contain '</span> + <span class="s">'the files to process. Note that '</span> + <span class="s">'SOURCE_FILEs, if exist, take '</span> + <span class="s">'precedence (see below)'</span><span class="p">))</span> + <span class="n">parser</span><span class="p">.</span><span class="n">add_argument</span><span class="p">(</span> + <span class="s">'--ipynb'</span><span class="p">,</span> + <span class="n">action</span><span class="o">=</span><span class="s">'store_true'</span><span class="p">,</span> + <span class="n">help</span><span class="o">=</span><span class="p">(</span><span class="s">'if specified, the files ending with '</span> + <span class="s">'".ipynb" in either SOURCE_FILEs or '</span> + <span class="s">'LIST_FILE will be parsed as ipython '</span> + <span class="s">'notebook files rather than Python '</span> + <span class="s">'files'</span><span class="p">))</span> + <span class="n">parser</span><span class="p">.</span><span class="n">add_argument</span><span class="p">(</span> + <span class="s">'rootpkg'</span><span class="p">,</span> + <span class="n">metavar</span><span class="o">=</span><span class="s">'ROOTPKG_DIR'</span><span class="p">,</span> + <span class="nb">type</span><span class="o">=</span><span class="n">dir_type</span><span class="p">,</span> + <span class="n">help</span><span class="o">=</span> + <span class="p">(</span><span class="s">'the directory of the root package. See '</span> + <span class="s">'https://docs.python.org/3.7/distutils/setupscript.html#listing-whole-packages '</span> + <span class="s">'about *root package*. Local packages/modules will be '</span> + <span class="s">'excluded from the results. For example, if '</span> + <span class="s">'there are "mod1.py" and "mod2.py", and in '</span> + <span class="s">'"mod2.py" there is `import mod1`, then "mod1" '</span> + <span class="s">'won + +需要注意的是,程序的输出并不一定是PyPI上包的名字(例如,`import bs4`然而`pip install beautifulsoup4`)。 + +--- + +类似项目:[pipreqs](https://github.com/bndr/pipreqs)。核心代码是几乎一样的,但包装得不同。 +t be listed in the result.'</span><span class="p">))</span> + <span class="n">parser</span><span class="p">.</span><span class="n">add_argument</span><span class="p">(</span> + <span class="s">'filenames'</span><span class="p">,</span> + <span class="n">metavar</span><span class="o">=</span><span class="s">'SOURCE_FILE'</span><span class="p">,</span> + <span class="n">nargs</span><span class="o">=</span><span class="s">'*'</span><span class="p">,</span> + <span class="n">help</span><span class="o">=</span><span class="p">(</span><span class="s">'if specified one or more files, '</span> + <span class="s">'only these SOURCE_FILEs will get '</span> + <span class="s">'processed regardless of `-T + +需要注意的是,程序的输出并不一定是PyPI上包的名字(例如,`import bs4`然而`pip install beautifulsoup4`)。 + +--- + +类似项目:[pipreqs](https://github.com/bndr/pipreqs)。核心代码是几乎一样的,但包装得不同。 + '</span> + <span class="s">'option; if no SOURCE_FILE is '</span> + <span class="s">'specified, `-T + +需要注意的是,程序的输出并不一定是PyPI上包的名字(例如,`import bs4`然而`pip install beautifulsoup4`)。 + +--- + +类似项目:[pipreqs](https://github.com/bndr/pipreqs)。核心代码是几乎一样的,但包装得不同。 +, if exists, is '</span> + <span class="s">'processed. In both cases, the '</span> + <span class="s">'final results will be joined'</span><span class="p">))</span> + <span class="k">return</span> <span class="n">parser</span> + + +<span class="k">def</span> <span class="nf">dir_type</span><span class="p">(</span><span class="n">string</span><span class="p">):</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">os</span><span class="p">.</span><span class="n">path</span><span class="p">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">string</span><span class="p">):</span> + <span class="k">raise</span> <span class="n">argparse</span><span class="p">.</span><span class="n">ArgumentTypeError</span><span class="p">(</span><span class="s">'must be a directory'</span><span class="p">)</span> + <span class="k">return</span> <span class="n">string</span> + + +<span class="c1"># Reference: https://stackoverflow.com/a/9049549/7881370 +</span><span class="k">def</span> <span class="nf">yield_imports</span><span class="p">(</span><span class="n">root</span><span class="p">,</span> <span class="n">greedy</span><span class="p">):</span> + <span class="s">""" + Yield all absolute imports. + """</span> + <span class="n">traverse</span> <span class="o">=</span> <span class="n">ast</span><span class="p">.</span><span class="n">walk</span> <span class="k">if</span> <span class="n">greedy</span> <span class="k">else</span> <span class="n">ast</span><span class="p">.</span><span class="n">iter_child_nodes</span> + <span class="k">for</span> <span class="n">node</span> <span class="ow">in</span> <span class="n">traverse</span><span class="p">(</span><span class="n">root</span><span class="p">):</span> + <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">node</span><span class="p">,</span> <span class="n">ast</span><span class="p">.</span><span class="n">Import</span><span class="p">):</span> + <span class="k">for</span> <span class="n">a</span> <span class="ow">in</span> <span class="n">node</span><span class="p">.</span><span class="n">names</span><span class="p">:</span> + <span class="k">yield</span> <span class="n">a</span><span class="p">.</span><span class="n">name</span> + <span class="k">elif</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">node</span><span class="p">,</span> <span class="n">ast</span><span class="p">.</span><span class="n">ImportFrom</span><span class="p">):</span> + <span class="c1"># if node.level > 0, the import is relative +</span> <span class="k">if</span> <span class="n">node</span><span class="p">.</span><span class="n">level</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span> + <span class="k">yield</span> <span class="n">node</span><span class="p">.</span><span class="n">module</span> + + +<span class="k">def</span> <span class="nf">exists_local</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">rootpkg</span><span class="p">):</span> + <span class="s">""" + Returns ``True`` if the absolute import ``path`` refers to a package or + a module residing under the working directory, else ``False``. + """</span> + <span class="n">filepath</span> <span class="o">=</span> <span class="n">os</span><span class="p">.</span><span class="n">path</span><span class="p">.</span><span class="n">join</span><span class="p">(</span><span class="n">rootpkg</span><span class="p">,</span> <span class="n">path</span><span class="p">.</span><span class="n">replace</span><span class="p">(</span><span class="s">'.'</span><span class="p">,</span> <span class="n">os</span><span class="p">.</span><span class="n">path</span><span class="p">.</span><span class="n">sep</span><span class="p">))</span> + <span class="c1"># see if path is a local package +</span> <span class="k">if</span> <span class="n">os</span><span class="p">.</span><span class="n">path</span><span class="p">.</span><span class="n">isdir</span><span class="p">(</span><span class="n">filepath</span><span class="p">)</span> <span class="ow">and</span> <span class="n">os</span><span class="p">.</span><span class="n">path</span><span class="p">.</span><span class="n">isfile</span><span class="p">(</span> + <span class="n">os</span><span class="p">.</span><span class="n">path</span><span class="p">.</span><span class="n">join</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="s">'__init__.py'</span><span class="p">)):</span> + <span class="k">return</span> <span class="bp">True</span> + <span class="c1"># see if path is a local module +</span> <span class="k">if</span> <span class="n">os</span><span class="p">.</span><span class="n">path</span><span class="p">.</span><span class="n">isfile</span><span class="p">(</span><span class="n">filepath</span> <span class="o">+</span> <span class="s">'.py'</span><span class="p">):</span> + <span class="k">return</span> <span class="bp">True</span> + + <span class="k">return</span> <span class="bp">False</span> + + +<span class="k">def</span> <span class="nf">filter_local</span><span class="p">(</span><span class="n">imports_iterable</span><span class="p">,</span> <span class="n">rootpkg</span><span class="p">):</span> + <span class="s">""" + Remove modules and packages in the working directory, and yield root + imports. + """</span> + <span class="k">for</span> <span class="n">path</span> <span class="ow">in</span> <span class="n">imports_iterable</span><span class="p">:</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">exists_local</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">rootpkg</span><span class="p">):</span> + <span class="k">yield</span> <span class="n">path</span><span class="p">.</span><span class="n">split</span><span class="p">(</span><span class="s">'.'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span> + + +<span class="k">def</span> <span class="nf">filter_installed</span><span class="p">(</span><span class="n">imports_iterable</span><span class="p">):</span> + <span class="s">""" + Remove modules and packages already installed, which include built-in + modules and packages and those already installed (e.g. via ``pip``). + """</span> + <span class="n">installed</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span> + <span class="n">itertools</span><span class="p">.</span><span class="n">chain</span><span class="p">(</span><span class="n">sys</span><span class="p">.</span><span class="n">builtin_module_names</span><span class="p">,</span> + <span class="p">(</span><span class="n">x</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">pkgutil</span><span class="p">.</span><span class="n">iter_modules</span><span class="p">())))</span> + <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">imports_iterable</span><span class="p">:</span> + <span class="k">if</span> <span class="n">name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">installed</span><span class="p">:</span> + <span class="k">yield</span> <span class="n">name</span> + + +<span class="k">def</span> <span class="nf">collect_sources</span><span class="p">(</span><span class="n">filenames</span><span class="p">,</span> <span class="n">files_from</span><span class="p">):</span> + <span class="k">if</span> <span class="n">filenames</span><span class="p">:</span> + <span class="k">for</span> <span class="n">filename</span> <span class="ow">in</span> <span class="n">filenames</span><span class="p">:</span> + <span class="k">yield</span> <span class="n">filename</span> + <span class="k">elif</span> <span class="n">files_from</span> <span class="o">==</span> <span class="s">'-'</span><span class="p">:</span> + <span class="k">try</span><span class="p">:</span> + <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">sys</span><span class="p">.</span><span class="n">stdin</span><span class="p">:</span> + <span class="k">yield</span> <span class="n">line</span><span class="p">.</span><span class="n">rstrip</span><span class="p">(</span><span class="s">'</span><span class="se">\n</span><span class="s">'</span><span class="p">)</span> + <span class="k">except</span> <span class="nb">KeyboardInterrupt</span><span class="p">:</span> + <span class="k">pass</span> + <span class="k">elif</span> <span class="n">files_from</span><span class="p">:</span> + <span class="k">try</span><span class="p">:</span> + <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">files_from</span><span class="p">)</span> <span class="k">as</span> <span class="n">infile</span><span class="p">:</span> + <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">infile</span><span class="p">:</span> + <span class="k">yield</span> <span class="n">line</span><span class="p">.</span><span class="n">rstrip</span><span class="p">(</span><span class="s">'</span><span class="se">\n</span><span class="s">'</span><span class="p">)</span> + <span class="k">except</span> <span class="nb">OSError</span><span class="p">:</span> + <span class="n">logging</span><span class="p">.</span><span class="n">exception</span><span class="p">(</span><span class="s">'failed to read from "{}"'</span><span class="p">.</span><span class="nb">format</span><span class="p">(</span><span class="n">files_from</span><span class="p">))</span> + + +<span class="k">def</span> <span class="nf">parse_python</span><span class="p">(</span><span class="n">filename</span><span class="p">):</span> + <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename</span><span class="p">)</span> <span class="k">as</span> <span class="n">infile</span><span class="p">:</span> + <span class="n">root</span> <span class="o">=</span> <span class="n">ast</span><span class="p">.</span><span class="n">parse</span><span class="p">(</span><span class="n">infile</span><span class="p">.</span><span class="n">read</span><span class="p">(),</span> <span class="n">filename</span><span class="p">)</span> + <span class="k">return</span> <span class="n">root</span> + + +<span class="k">def</span> <span class="nf">parse_ipynb</span><span class="p">(</span><span class="n">filename</span><span class="p">):</span> + <span class="n">source</span> <span class="o">=</span> <span class="p">[]</span> + <span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">filename</span><span class="p">)</span> <span class="k">as</span> <span class="n">infile</span><span class="p">:</span> + <span class="n">obj</span> <span class="o">=</span> <span class="n">json</span><span class="p">.</span><span class="n">load</span><span class="p">(</span><span class="n">infile</span><span class="p">)</span> + <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="n">obj</span><span class="p">[</span><span class="s">'cells'</span><span class="p">]:</span> + <span class="k">if</span> <span class="n">c</span><span class="p">[</span><span class="s">'cell_type'</span><span class="p">]</span> <span class="o">==</span> <span class="s">'code'</span><span class="p">:</span> + <span class="n">source</span><span class="p">.</span><span class="n">extend</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="nb">str</span><span class="p">.</span><span class="n">rstrip</span><span class="p">,</span> <span class="n">c</span><span class="p">[</span><span class="s">'source'</span><span class="p">]))</span> + <span class="n">source</span> <span class="o">=</span> <span class="p">(</span><span class="n">l</span> <span class="k">for</span> <span class="n">l</span> <span class="ow">in</span> <span class="n">source</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">l</span><span class="p">.</span><span class="n">lstrip</span><span class="p">().</span><span class="n">startswith</span><span class="p">(</span><span class="s">'%'</span><span class="p">))</span> + <span class="n">source</span> <span class="o">=</span> <span class="s">'</span><span class="se">\n</span><span class="s">'</span><span class="p">.</span><span class="n">join</span><span class="p">(</span><span class="n">source</span><span class="p">)</span> + <span class="n">root</span> <span class="o">=</span> <span class="n">ast</span><span class="p">.</span><span class="n">parse</span><span class="p">(</span><span class="n">source</span><span class="p">,</span> <span class="n">filename</span><span class="p">)</span> + <span class="k">return</span> <span class="n">root</span> + + +<span class="k">def</span> <span class="nf">produce_results</span><span class="p">(</span><span class="n">filenames</span><span class="p">,</span> <span class="n">files_from</span><span class="p">,</span> <span class="n">greedy</span><span class="p">,</span> <span class="n">rootpkg</span><span class="p">,</span> <span class="n">include_installed</span><span class="p">,</span> + <span class="n">ipynb</span><span class="p">):</span> + <span class="n">all_imports</span> <span class="o">=</span> <span class="p">[]</span> + <span class="k">for</span> <span class="n">filename</span> <span class="ow">in</span> <span class="n">collect_sources</span><span class="p">(</span><span class="n">filenames</span><span class="p">,</span> <span class="n">files_from</span><span class="p">):</span> + <span class="n">parse_source</span> <span class="o">=</span> <span class="p">(</span><span class="n">parse_ipynb</span> <span class="k">if</span> <span class="n">ipynb</span> <span class="ow">and</span> <span class="n">filename</span><span class="p">.</span><span class="n">endswith</span><span class="p">(</span><span class="s">'.ipynb'</span><span class="p">)</span> + <span class="k">else</span> <span class="n">parse_python</span><span class="p">)</span> + <span class="k">try</span><span class="p">:</span> + <span class="n">root</span> <span class="o">=</span> <span class="n">parse_source</span><span class="p">(</span><span class="n">filename</span><span class="p">)</span> + <span class="k">except</span> <span class="nb">OSError</span><span class="p">:</span> + <span class="n">logging</span><span class="p">.</span><span class="n">exception</span><span class="p">(</span><span class="s">'skipped'</span><span class="p">)</span> + <span class="k">except</span> <span class="nb">SyntaxError</span><span class="p">:</span> + <span class="n">logging</span><span class="p">.</span><span class="n">exception</span><span class="p">(</span><span class="s">'failed to parse "{}"; skipped'</span><span class="p">.</span><span class="nb">format</span><span class="p">(</span><span class="n">filename</span><span class="p">))</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">all_imports</span><span class="p">.</span><span class="n">append</span><span class="p">(</span><span class="n">yield_imports</span><span class="p">(</span><span class="n">root</span><span class="p">,</span> <span class="n">greedy</span><span class="p">))</span> + <span class="n">all_imports</span> <span class="o">=</span> <span class="n">itertools</span><span class="p">.</span><span class="n">chain</span><span class="p">.</span><span class="n">from_iterable</span><span class="p">(</span><span class="n">all_imports</span><span class="p">)</span> + <span class="n">all_imports</span> <span class="o">=</span> <span class="n">filter_local</span><span class="p">(</span><span class="n">all_imports</span><span class="p">,</span> <span class="n">rootpkg</span><span class="p">)</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">include_installed</span><span class="p">:</span> + <span class="n">all_imports</span> <span class="o">=</span> <span class="n">filter_installed</span><span class="p">(</span><span class="n">all_imports</span><span class="p">)</span> + <span class="n">all_imports</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="n">all_imports</span><span class="p">)</span> + <span class="k">return</span> <span class="n">all_imports</span> + + +<span class="k">def</span> <span class="nf">main</span><span class="p">():</span> + <span class="n">logging</span><span class="p">.</span><span class="n">basicConfig</span><span class="p">(</span><span class="nb">format</span><span class="o">=</span><span class="s">'%(levelname)s: %(message)s'</span><span class="p">)</span> + <span class="n">args</span> <span class="o">=</span> <span class="n">make_parser</span><span class="p">().</span><span class="n">parse_args</span><span class="p">()</span> + + <span class="k">if</span> <span class="ow">not</span> <span class="n">args</span><span class="p">.</span><span class="nb">all</span><span class="p">:</span> + <span class="n">all_imports</span> <span class="o">=</span> <span class="n">produce_results</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">filenames</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">files_from</span><span class="p">,</span> + <span class="n">args</span><span class="p">.</span><span class="n">greedy</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">rootpkg</span><span class="p">,</span> + <span class="n">args</span><span class="p">.</span><span class="n">include_installed</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">ipynb</span><span class="p">)</span> + <span class="k">if</span> <span class="n">all_imports</span><span class="p">:</span> + <span class="k">print</span><span class="p">(</span><span class="s">'</span><span class="se">\n</span><span class="s">'</span><span class="p">.</span><span class="n">join</span><span class="p">(</span><span class="nb">sorted</span><span class="p">(</span><span class="n">all_imports</span><span class="p">)))</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">min_imports</span> <span class="o">=</span> <span class="n">produce_results</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">filenames</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">files_from</span><span class="p">,</span> + <span class="bp">False</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">rootpkg</span><span class="p">,</span> + <span class="n">args</span><span class="p">.</span><span class="n">include_installed</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">ipynb</span><span class="p">)</span> + <span class="n">max_imports</span> <span class="o">=</span> <span class="n">produce_results</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">filenames</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">files_from</span><span class="p">,</span> + <span class="bp">True</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">rootpkg</span><span class="p">,</span> + <span class="n">args</span><span class="p">.</span><span class="n">include_installed</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">ipynb</span><span class="p">)</span> + <span class="n">extra_imports</span> <span class="o">=</span> <span class="n">max_imports</span> <span class="o">-</span> <span class="n">min_imports</span> + <span class="n">printed_min_imports</span> <span class="o">=</span> <span class="bp">False</span> + <span class="k">if</span> <span class="n">min_imports</span><span class="p">:</span> + <span class="k">print</span><span class="p">(</span><span class="s">'# minimal imports:'</span><span class="p">)</span> + <span class="k">print</span><span class="p">(</span><span class="s">'</span><span class="se">\n</span><span class="s">'</span><span class="p">.</span><span class="n">join</span><span class="p">(</span><span class="nb">sorted</span><span class="p">(</span><span class="n">min_imports</span><span class="p">)))</span> + <span class="n">printed_min_imports</span> <span class="o">=</span> <span class="bp">True</span> + <span class="k">if</span> <span class="n">extra_imports</span><span class="p">:</span> + <span class="c1"># pretty formatting purpose +</span> <span class="k">if</span> <span class="n">printed_min_imports</span><span class="p">:</span> + <span class="k">print</span><span class="p">()</span> + <span class="k">print</span><span class="p">(</span><span class="s">'# additional possible imports:'</span><span class="p">)</span> + <span class="k">print</span><span class="p">(</span><span class="s">'</span><span class="se">\n</span><span class="s">'</span><span class="p">.</span><span class="n">join</span><span class="p">(</span><span class="nb">sorted</span><span class="p">(</span><span class="n">extra_imports</span><span class="p">)))</span> + + <span class="n">logging</span><span class="p">.</span><span class="n">shutdown</span><span class="p">()</span> + + +<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">'__main__'</span><span class="p">:</span> + <span class="n">main</span><span class="p">()</span> +</code></pre></div></div> + +<p>需要注意的是,程序的输出并不一定是PyPI上包的名字(例如,<code class="language-plaintext highlighter-rouge">import bs4</code>然而<code class="language-plaintext highlighter-rouge">pip install beautifulsoup4</code>)。</p> + +<hr> + +<p>类似项目:<a href="https://github.com/bndr/pipreqs">pipreqs</a>。核心代码是几乎一样的,但包装得不同。</p> + + </div> +<a class="u-url" href="/2022/02/13/list-imported-python-modules-using-ast.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2022/02/17/python-tox-usage-note.html b/2022/02/17/python-tox-usage-note.html new file mode 100644 index 000000000..4053e01ab --- /dev/null +++ b/2022/02/17/python-tox-usage-note.html @@ -0,0 +1,280 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Python Tox 使用笔记 | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Python Tox 使用笔记"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="Tox是一个项目自动化工具,在此记录下没在文档和网上tutorial找到的使用细节。试验中尽可能使用最小tox.ini。本文使用tox --showconfig -- <args...>的形式观察配置结果。如果文中没有提<args...>是什么(例如直接说“配置结果为”,而不是“运行…后配置结果为“),那么运行的是tox --showconfig。"> +<meta property="og:description" content="Tox是一个项目自动化工具,在此记录下没在文档和网上tutorial找到的使用细节。试验中尽可能使用最小tox.ini。本文使用tox --showconfig -- <args...>的形式观察配置结果。如果文中没有提<args...>是什么(例如直接说“配置结果为”,而不是“运行…后配置结果为“),那么运行的是tox --showconfig。"> +<link rel="canonical" href="https://kkew3.github.io/2022/02/17/python-tox-usage-note.html"> +<meta property="og:url" content="https://kkew3.github.io/2022/02/17/python-tox-usage-note.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2022-02-17T11:07:47+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Python Tox 使用笔记"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2022-02-17T11:07:47+00:00","datePublished":"2022-02-17T11:07:47+00:00","description":"Tox是一个项目自动化工具,在此记录下没在文档和网上tutorial找到的使用细节。试验中尽可能使用最小tox.ini。本文使用tox --showconfig -- <args...>的形式观察配置结果。如果文中没有提<args...>是什么(例如直接说“配置结果为”,而不是“运行…后配置结果为“),那么运行的是tox --showconfig。","headline":"Python Tox 使用笔记","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2022/02/17/python-tox-usage-note.html"},"url":"https://kkew3.github.io/2022/02/17/python-tox-usage-note.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Python Tox 使用笔记</h1> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2022-02-17T11:07:47+00:00" itemprop="datePublished">Feb 17, 2022 at 11:07:47 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p><a href="https://tox.wiki/en/latest/index.html">Tox</a>是一个项目自动化工具,在此记录下没在文档和网上tutorial找到的使用细节。试验中尽可能使用最小<code class="language-plaintext highlighter-rouge">tox.ini</code>。本文使用<code class="language-plaintext highlighter-rouge">tox --showconfig -- <args...></code>的形式观察配置结果。如果文中没有提<code class="language-plaintext highlighter-rouge"><args...></code>是什么(例如直接说“配置结果为”,而不是“运行…后配置结果为“),那么运行的是<code class="language-plaintext highlighter-rouge">tox --showconfig</code>。</p> + +<h2 id="默认basepython">默认<code class="language-plaintext highlighter-rouge">basepython</code> +</h2> + +<h3 id="情况一">情况一</h3> +<p>令<code class="language-plaintext highlighter-rouge">tox.ini</code>为空。此时只有一个匿名虚拟环境。</p> + +<p>配置结果为:</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>... + +[testenv:python] +... +basepython = /Library/Frameworks/Python.framework/Versions/3.9/bin/python3 +... +</code></pre></div></div> + +<p>这里的<code class="language-plaintext highlighter-rouge">/Library/Frameworks/Python.framework/Versions/3.9/bin/python3</code>是本机上按<code class="language-plaintext highlighter-rouge">PATH</code>顺序第一个遇到的Python解释器(注意这里既不是第一个<code class="language-plaintext highlighter-rouge">python</code>也不是第一个<code class="language-plaintext highlighter-rouge">python3</code>)。另外可以观察到,匿名虚拟环境被命名为<code class="language-plaintext highlighter-rouge">python</code>。</p> + +<h3 id="情况二">情况二</h3> + +<p>令<code class="language-plaintext highlighter-rouge">tox.ini</code>为</p> + +<div class="language-ini highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">[testenv:x]</span> +</code></pre></div></div> + +<p>此时只有一个名为<code class="language-plaintext highlighter-rouge">x</code>的虚拟环境,<code class="language-plaintext highlighter-rouge">x</code>不与<a href="https://tox.wiki/en/latest/config.html#tox-environments">文档</a>中的任何一种特殊命名匹配。配置结果为</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>... + +[testenv:x] +... +basepython = /Library/Frameworks/Python.framework/Versions/3.9/bin/python3 +... +</code></pre></div></div> + +<p>可见与情况一相同。</p> + +<h3 id="情况三">情况三</h3> + +<p>令<code class="language-plaintext highlighter-rouge">tox.ini</code>为</p> + +<div class="language-ini highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">[testenv:py28]</span> +</code></pre></div></div> + +<p>此时只有一个名为<code class="language-plaintext highlighter-rouge">py28</code>的虚拟环境。配置结果为</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>... + +[testenv:py28] +... +basepython = python2.8 +... +</code></pre></div></div> + +<p>我们知道是没有<code class="language-plaintext highlighter-rouge">python2.8</code>的,可见<code class="language-plaintext highlighter-rouge">tox</code>这里只是做了一个简单的从<code class="language-plaintext highlighter-rouge">pyMN</code>到<code class="language-plaintext highlighter-rouge">pythonM.N</code>的映射。此时如果运行<code class="language-plaintext highlighter-rouge">tox</code>的话是要报错的(即使<code class="language-plaintext highlighter-rouge">tox.ini</code>里加上<code class="language-plaintext highlighter-rouge">skipsdist = true</code>也会报错):<code class="language-plaintext highlighter-rouge">ERROR: InterpreterNotFound: python2.8</code>。</p> + +<h3 id="情况四">情况四</h3> + +<p>令<code class="language-plaintext highlighter-rouge">tox.ini</code>为</p> + +<div class="language-ini highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">[testenv:py28]</span> +<span class="py">basepython</span> <span class="p">=</span> <span class="s">python2.7</span> +</code></pre></div></div> + +<p>与情况三相同,但显式指定了<code class="language-plaintext highlighter-rouge">basepython</code>。配置结果为</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>... + +[testenv:py28] +... +basepython = python2.7 +... +</code></pre></div></div> + +<p>可见显式指定的<code class="language-plaintext highlighter-rouge">basepython</code>生效了。</p> + +<h2 id="posargs展开"> +<code class="language-plaintext highlighter-rouge">{posargs}</code>展开</h2> + +<h3 id="情况一-1">情况一</h3> + +<p>令<code class="language-plaintext highlighter-rouge">tox.ini</code>为</p> + +<div class="language-ini highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">[testenv]</span> +<span class="py">commands</span> <span class="p">=</span> <span class="s">{posargs}</span> +</code></pre></div></div> + +<p>运行<code class="language-plaintext highlighter-rouge">tox --showconfig</code>后(无参数),配置结果为</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>... +commands = [[]] +... +</code></pre></div></div> + +<p>可见<code class="language-plaintext highlighter-rouge">{posargs}</code>在无参数时展开为空字符串。</p> + +<p>运行<code class="language-plaintext highlighter-rouge">tox --showconfig -- hello world</code>后(带参数),配置结果为</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>... +commands = [['hello', 'world']] +... +</code></pre></div></div> + +<p>在<code class="language-plaintext highlighter-rouge">{toxinidir}</code>下新建两个文件<code class="language-plaintext highlighter-rouge">hello1</code>和<code class="language-plaintext highlighter-rouge">hello2</code>,然后运行<code class="language-plaintext highlighter-rouge">tox --showconfig -- hello*</code>后(注意这里的运行环境不是Windows),配置结果为</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>... +commands = [['hello1', 'hello2']] +... +</code></pre></div></div> + +<p>这是符合期望的,因为Shell在传参前先做了Globbing,然而如果运行<code class="language-plaintext highlighter-rouge">tox --showconfig -- "hello*"</code>后,配置结果为</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>... +commands = [['hello*']] +... +</code></pre></div></div> + +<p>可见<code class="language-plaintext highlighter-rouge">{posargs}</code>不会做Globbing。</p> + +<p>举一个运行<code class="language-plaintext highlighter-rouge">tox</code>的例子。令<code class="language-plaintext highlighter-rouge">tox.ini</code>为</p> + +<div class="language-ini highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">[tox]</span> +<span class="py">skipsdist</span> <span class="p">=</span> <span class="s">true</span> + +<span class="nn">[testenv]</span> +<span class="py">allowlist_externals</span> <span class="p">=</span> <span class="s">ls</span> +<span class="py">commands</span> <span class="p">=</span> <span class="s">ls {posargs}</span> +</code></pre></div></div> + +<p>如果运行<code class="language-plaintext highlighter-rouge">tox -- "hello*"</code>,我们会得到结果</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>python run-test-pre: PYTHONHASHSEED='2558120981' +python run-test: commands[0] | ls 'hello*' +ls: hello*: No such file or directory +ERROR: InvocationError for command /bin/ls 'hello*' (exited with code 1) +_________________________ summary __________________________ +ERROR: python: commands failed +</code></pre></div></div> + +<h3 id="情况二-1">情况二</h3> + +<p>令<code class="language-plaintext highlighter-rouge">tox.ini</code>为</p> + +<div class="language-ini highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">[testenv]</span> +<span class="py">commands</span> <span class="p">=</span> <span class="s">"{posargs}"</span> +</code></pre></div></div> + +<p>注意<code class="language-plaintext highlighter-rouge">{posargs}</code>两边的引号。运行<code class="language-plaintext highlighter-rouge">tox --showconfig</code>后(无参数),配置结果为</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>... +commands = [['']] +... +</code></pre></div></div> + +<p>可见虽然<code class="language-plaintext highlighter-rouge">{posargs}</code>在无参数时展开为空字符串,但现在有引号,导致仍产生了一个参数,只不过该参数值为空。</p> + +<p>运行<code class="language-plaintext highlighter-rouge">tox --showconfig -- hello</code>后(一个参数),配置结果为</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>... +commands = [['hello']] +... +</code></pre></div></div> + +<p>没什么值得惊讶的。</p> + +<p>运行<code class="language-plaintext highlighter-rouge">tox --showconfig -- hello world</code>后(多参数),配置结果为</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>... +commands = [['hello world']] +... +</code></pre></div></div> + +<p>可见虽然<code class="language-plaintext highlighter-rouge">{posargs}</code>展开成了两个参数,但是引号又重新把它们括成了一个参数。</p> + + </div> +<a class="u-url" href="/2022/02/17/python-tox-usage-note.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2022/05/18/python-cannot-import-name-sysconfig-from-distutils.html b/2022/05/18/python-cannot-import-name-sysconfig-from-distutils.html new file mode 100644 index 000000000..b1483749b --- /dev/null +++ b/2022/05/18/python-cannot-import-name-sysconfig-from-distutils.html @@ -0,0 +1,158 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>python cannot import name ‘sysconfig’ from ‘distutils’ | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="python cannot import name ‘sysconfig’ from ‘distutils’"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="搜索这个问题时看到了这篇博客,感觉略麻烦。我就想有没有更简单的方式。后来摸索出来了,记在这里。"> +<meta property="og:description" content="搜索这个问题时看到了这篇博客,感觉略麻烦。我就想有没有更简单的方式。后来摸索出来了,记在这里。"> +<link rel="canonical" href="https://kkew3.github.io/2022/05/18/python-cannot-import-name-sysconfig-from-distutils.html"> +<meta property="og:url" content="https://kkew3.github.io/2022/05/18/python-cannot-import-name-sysconfig-from-distutils.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2022-05-18T15:02:51+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="python cannot import name ‘sysconfig’ from ‘distutils’"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2022-05-18T15:02:51+00:00","datePublished":"2022-05-18T15:02:51+00:00","description":"搜索这个问题时看到了这篇博客,感觉略麻烦。我就想有没有更简单的方式。后来摸索出来了,记在这里。","headline":"python cannot import name ‘sysconfig’ from ‘distutils’","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2022/05/18/python-cannot-import-name-sysconfig-from-distutils.html"},"url":"https://kkew3.github.io/2022/05/18/python-cannot-import-name-sysconfig-from-distutils.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">python cannot import name 'sysconfig' from 'distutils'</h1> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a> | <a href="https://kkew3.github.io/tags/os--ubuntu"><code class="highlighter-rouge"><nobr>os/ubuntu</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2022-05-18T15:02:51+00:00" itemprop="datePublished">May 18, 2022 at 15:02:51 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>搜索这个问题时看到了<a href="https://www.jianshu.com/p/49e4bfd61467">这篇博客</a>,感觉略麻烦。我就想有没有更简单的方式。后来摸索出来了,记在这里。</p> + +<h2 id="环境">环境</h2> + +<ul> + <li>Python 3.9.12</li> + <li>Ubuntu 18.04 LTS</li> +</ul> + +<h2 id="安装-python39">安装 Python3.9</h2> + +<p>详见<a href="https://zhuanlan.zhihu.com/p/343237962">这篇回答</a>。简要转述如下:</p> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt update +<span class="nb">sudo </span>apt <span class="nb">install </span>software-properties-common +<span class="nb">sudo </span>add-apt-repository ppa:deadsnakes/ppa +<span class="nb">sudo </span>apt <span class="nb">install </span>python3.9 +</code></pre></div></div> + +<h2 id="问题">问题</h2> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>python3.9 <span class="nt">-m</span> pip <span class="nt">-V</span> +</code></pre></div></div> + +<p>报错</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Traceback (most recent call last): + File "/usr/lib/python3.9/runpy.py", line 188, in _run_module_as_main + mod_name, mod_spec, code = _get_module_details(mod_name, _Error) + File "/usr/lib/python3.9/runpy.py", line 147, in _get_module_details + return _get_module_details(pkg_main_name, error) + File "/usr/lib/python3.9/runpy.py", line 111, in _get_module_details + __import__(pkg_name) + File "/usr/lib/python3/dist-packages/pip/__init__.py", line 29, in <module> + from pip.utils import get_installed_distributions, get_prog + File "/usr/lib/python3/dist-packages/pip/utils/__init__.py", line 23, in <module> + from pip.locations import ( + File "/usr/lib/python3/dist-packages/pip/locations.py", line 9, in <module> + from distutils import sysconfig +ImportError: cannot import name 'sysconfig' from 'distutils' (/usr/lib/python3.9/distutils/__init__.py) +</code></pre></div></div> + +<h2 id="解决方法">解决方法</h2> + +<p>注意到上文中<code class="language-plaintext highlighter-rouge">ppa:deadsnakes/ppa</code>里包含<code class="language-plaintext highlighter-rouge">python3.9-venv</code>,而<code class="language-plaintext highlighter-rouge">venv</code>显然依赖<code class="language-plaintext highlighter-rouge">pip</code>。安装<code class="language-plaintext highlighter-rouge">python3.9-venv</code>便能自动处理好依赖。</p> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>apt <span class="nb">install </span>python3.9-venv +</code></pre></div></div> + +<p>再看<code class="language-plaintext highlighter-rouge">python3.9 -m pip -V</code>即可输出正确的</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.9) +</code></pre></div></div> + + </div> +<a class="u-url" href="/2022/05/18/python-cannot-import-name-sysconfig-from-distutils.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2022/05/24/sync-music-from-mac-to-ipad-without-itunes.html b/2022/05/24/sync-music-from-mac-to-ipad-without-itunes.html new file mode 100644 index 000000000..45f64bcad --- /dev/null +++ b/2022/05/24/sync-music-from-mac-to-ipad-without-itunes.html @@ -0,0 +1,119 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>如何不通过iTunes将Mac上的音乐同步到iPad | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="如何不通过iTunes将Mac上的音乐同步到iPad"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="本文记录了如何不通过iTunes(或Finder,如果是新系统的话)将苹果电脑上的文件(音乐、视频等)同步到iPad。本文以同步音乐为例。"> +<meta property="og:description" content="本文记录了如何不通过iTunes(或Finder,如果是新系统的话)将苹果电脑上的文件(音乐、视频等)同步到iPad。本文以同步音乐为例。"> +<link rel="canonical" href="https://kkew3.github.io/2022/05/24/sync-music-from-mac-to-ipad-without-itunes.html"> +<meta property="og:url" content="https://kkew3.github.io/2022/05/24/sync-music-from-mac-to-ipad-without-itunes.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2022-05-24T12:09:10+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="如何不通过iTunes将Mac上的音乐同步到iPad"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2022-05-24T12:09:10+00:00","datePublished":"2022-05-24T12:09:10+00:00","description":"本文记录了如何不通过iTunes(或Finder,如果是新系统的话)将苹果电脑上的文件(音乐、视频等)同步到iPad。本文以同步音乐为例。","headline":"如何不通过iTunes将Mac上的音乐同步到iPad","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2022/05/24/sync-music-from-mac-to-ipad-without-itunes.html"},"url":"https://kkew3.github.io/2022/05/24/sync-music-from-mac-to-ipad-without-itunes.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">如何不通过iTunes将Mac上的音乐同步到iPad</h1> + <span><a href="https://kkew3.github.io/tags/os--ios"><code class="highlighter-rouge"><nobr>os/ios</nobr></code></a> | <a href="https://kkew3.github.io/tags/os--macos"><code class="highlighter-rouge"><nobr>os/macOS</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2022-05-24T12:09:10+00:00" itemprop="datePublished">May 24, 2022 at 12:09:10 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>本文记录了如何不通过iTunes(或Finder,如果是新系统的话)将苹果电脑上的文件(音乐、视频等)同步到iPad。本文以同步音乐为例。</p> + +<ol> + <li>在Terminal中<code class="language-plaintext highlighter-rouge">cd</code>到音乐文件夹(如<code class="language-plaintext highlighter-rouge">~/Music</code>),使用<a href="https://github.com/sharkdp/fd">fd</a>命令列出所有音乐并传给zip打包,假设打包为<code class="language-plaintext highlighter-rouge">share.zip</code>:<code class="language-plaintext highlighter-rouge">fd -emp4 -etma -em4a -emp3 -d1 . | zip -0qT share.zip -@</code> +</li> + <li>在Terminal中输入<code class="language-plaintext highlighter-rouge">ifconfig | grep 192 | awk '{ print $2 }'</code>确认自己在局域网中的IP地址。</li> + <li>使用<code class="language-plaintext highlighter-rouge">python3 -m http.server 9000</code>建立一个http服务器,这里建立在9000端口上。</li> + <li>将iPad连接至与Mac同一局域网。打开iPad的Safari浏览器,在地址栏输入<code class="language-plaintext highlighter-rouge">http://192.168.0.xxx:9000</code>,其中<code class="language-plaintext highlighter-rouge">192.168.0.xxx</code>表示在第2步中确认的IP地址。</li> + <li>在<code class="language-plaintext highlighter-rouge">Directory listing for /</code>下面找到<code class="language-plaintext highlighter-rouge">share.zip</code>,单击下载。下载完毕后应该在<code class="language-plaintext highlighter-rouge">Files</code>应用中的<code class="language-plaintext highlighter-rouge">On My iPad/Downloads</code>下面找到。</li> + <li>单击<code class="language-plaintext highlighter-rouge">share.zip</code>,此时会自动解压为<code class="language-plaintext highlighter-rouge">share</code>文件夹。单击<code class="language-plaintext highlighter-rouge">share</code>文件夹进入,右上角点击<code class="language-plaintext highlighter-rouge">Select</code>,然后左上角点击<code class="language-plaintext highlighter-rouge">Select All</code>全选,然后下面点击<code class="language-plaintext highlighter-rouge">Move</code>,选择位置,例如移动到<code class="language-plaintext highlighter-rouge">On My iPad/Music</code>,音乐就都移动过去了。</li> + <li>删除<code class="language-plaintext highlighter-rouge">share</code>文件夹和<code class="language-plaintext highlighter-rouge">share.zip</code>。</li> +</ol> + +<p>虽然步骤有点多,熟练了也不是很麻烦。第3步中建立的服务器可以常开着,以便随时同步。</p> + + </div> +<a class="u-url" href="/2022/05/24/sync-music-from-mac-to-ipad-without-itunes.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2022/05/26/develop-python-cpp-extension-using-cython.html b/2022/05/26/develop-python-cpp-extension-using-cython.html new file mode 100644 index 000000000..82ba163bd --- /dev/null +++ b/2022/05/26/develop-python-cpp-extension-using-cython.html @@ -0,0 +1,216 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>使用Cython为Python开发C++扩展 | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="使用Cython为Python开发C++扩展"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="Cython的出现免去了为Python开发C/C++扩展的很多麻烦。本文以一个简单的例子来说明如何为Python开发C++扩展。"> +<meta property="og:description" content="Cython的出现免去了为Python开发C/C++扩展的很多麻烦。本文以一个简单的例子来说明如何为Python开发C++扩展。"> +<link rel="canonical" href="https://kkew3.github.io/2022/05/26/develop-python-cpp-extension-using-cython.html"> +<meta property="og:url" content="https://kkew3.github.io/2022/05/26/develop-python-cpp-extension-using-cython.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2022-05-26T14:19:31+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="使用Cython为Python开发C++扩展"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2022-05-26T14:19:31+00:00","datePublished":"2022-05-26T14:19:31+00:00","description":"Cython的出现免去了为Python开发C/C++扩展的很多麻烦。本文以一个简单的例子来说明如何为Python开发C++扩展。","headline":"使用Cython为Python开发C++扩展","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2022/05/26/develop-python-cpp-extension-using-cython.html"},"url":"https://kkew3.github.io/2022/05/26/develop-python-cpp-extension-using-cython.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">使用Cython为Python开发C++扩展</h1> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--cpp"><code class="highlighter-rouge"><nobr>dev/c++</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2022-05-26T14:19:31+00:00" itemprop="datePublished">May 26, 2022 at 14:19:31 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p><a href="https://cython.org">Cython</a>的出现免去了为Python开发C/C++扩展的很多麻烦。本文以一个简单的例子来说明如何为Python开发C++扩展。</p> + +<p>例子程序:给定一个列表,把列表的每个元素平方,并返回新列表。用Python实现会是这样:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">def</span> <span class="nf">square</span><span class="p">(</span><span class="n">l</span><span class="p">):</span> + <span class="k">return</span> <span class="p">[</span><span class="n">x</span> <span class="o">*</span> <span class="n">x</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">l</span><span class="p">]</span> +</code></pre></div></div> + +<p>现在我们用C++实现这个函数。根据<a href="https://cython.readthedocs.io/en/latest/src/userguide/wrapping_CPlusPlus.html#standard-library">Using C++ in Cython</a>,Python列表对应于C++的<code class="language-plaintext highlighter-rouge">std::vector</code>,因此我们可以用<code class="language-plaintext highlighter-rouge">std::vector</code>。</p> + +<p>_square.h:</p> + +<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cp">#ifndef _SQUARE_H_ +#define _SQUARE_H_ +</span> +<span class="cp">#include <vector> +</span> +<span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">double</span><span class="o">></span> <span class="n">_square</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">double</span><span class="o">></span> <span class="o">&</span><span class="p">);</span> + +<span class="cp">#endif +</span></code></pre></div></div> + +<p>_square.cpp:</p> + +<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cp">#include "_square.h" +</span> +<span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">double</span><span class="o">></span> <span class="n">_square</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">double</span><span class="o">></span> <span class="o">&</span><span class="n">l</span><span class="p">)</span> +<span class="p">{</span> + <span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">double</span><span class="o">></span> <span class="n">res</span><span class="p">(</span><span class="n">l</span><span class="p">.</span><span class="n">size</span><span class="p">());</span> + <span class="k">for</span> <span class="p">(</span><span class="k">auto</span> <span class="n">i</span> <span class="o">=</span> <span class="n">l</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span> <span class="n">i</span> <span class="o">!=</span> <span class="n">l</span><span class="p">.</span><span class="n">end</span><span class="p">();</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span> + <span class="n">res</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="o">*</span><span class="n">i</span> <span class="o">*</span> <span class="o">*</span><span class="n">i</span><span class="p">);</span> + <span class="p">}</span> + <span class="k">return</span> <span class="n">res</span><span class="p">;</span> +<span class="p">}</span> +</code></pre></div></div> + +<p>注意到上文代码文件名和函数名都以下划线开头,这里没有什么特殊规则,只是不让它们与Cython文件名和函数重名。接下来我们写封装C++的Cython代码。Cython代码后缀是<code class="language-plaintext highlighter-rouge">.pyx</code>。</p> + +<p>square.pyx:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">from</span> <span class="n">libcpp</span><span class="p">.</span><span class="n">vector</span> <span class="n">cimport</span> <span class="n">vector</span> + +<span class="n">cdef</span> <span class="n">extern</span> <span class="k">from</span> <span class="s">"_square.h"</span><span class="p">:</span> + <span class="n">vector</span><span class="p">[</span><span class="n">double</span><span class="p">]</span> <span class="n">_square</span><span class="p">(</span><span class="n">vector</span><span class="p">[</span><span class="n">double</span><span class="p">]</span> <span class="n">l</span><span class="p">)</span> + +<span class="k">def</span> <span class="nf">square</span><span class="p">(</span><span class="n">l</span><span class="p">):</span> + <span class="n">cdef</span> <span class="n">vector</span><span class="p">[</span><span class="n">double</span><span class="p">]</span> <span class="n">l_vec</span> <span class="o">=</span> <span class="n">l</span> + <span class="k">return</span> <span class="n">_square</span><span class="p">(</span><span class="n">l_vec</span><span class="p">)</span> +</code></pre></div></div> + +<p>最后我们编写用于编译的<code class="language-plaintext highlighter-rouge">setup.py</code>,<code class="language-plaintext highlighter-rouge">setup.py</code>位于项目根目录。这里假设上述<code class="language-plaintext highlighter-rouge">_square.h</code>、<code class="language-plaintext highlighter-rouge">_square.cpp</code>、<code class="language-plaintext highlighter-rouge">square.pyx</code>都位于Python package <code class="language-plaintext highlighter-rouge">package1.package2</code>下。</p> + +<p>setup.py:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">from</span> <span class="nn">setuptools</span> <span class="kn">import</span> <span class="n">Extension</span><span class="p">,</span> <span class="n">setup</span> +<span class="kn">from</span> <span class="nn">Cython.Build</span> <span class="kn">import</span> <span class="n">cythonize</span> + +<span class="n">extensions</span> <span class="o">=</span> <span class="p">[</span> + <span class="n">Extension</span><span class="p">(</span> + <span class="c1"># 这里写完整包名 +</span> <span class="n">name</span><span class="o">=</span><span class="s">'package1.package2.square'</span><span class="p">,</span> + <span class="c1"># 这里包含Cython文件和C++源文件 +</span> <span class="n">sources</span><span class="o">=</span><span class="p">[</span> + <span class="s">'package1/package2/square.pyx'</span><span class="p">,</span> + <span class="s">'package1/package2/_square.cpp'</span><span class="p">,</span> + <span class="p">],</span> + <span class="c1"># 这里写编译flags; +</span> <span class="c1"># - 写`-std=c++11`因为我们用了`auto`关键字 +</span> <span class="c1"># - 写`-DNDEBUG`是为了忽略所有`assert`(虽然这里并没有`assert`,只是为多举一个例子) +</span> <span class="n">extra_compile_args</span><span class="o">=</span><span class="p">[</span><span class="s">'-std=c++11'</span><span class="p">,</span> <span class="s">'-DNDEBUG'</span><span class="p">],</span> + <span class="n">language</span><span class="o">=</span><span class="s">'c++'</span><span class="p">,</span> + <span class="p">),</span> +<span class="p">]</span> + +<span class="n">setup</span><span class="p">(</span> + <span class="c1"># name参数可写可不写,这里没写 +</span> <span class="c1">#name='...', +</span> <span class="n">ext_modules</span><span class="o">=</span><span class="n">cythonize</span><span class="p">(</span><span class="n">extensions</span><span class="p">),</span> + <span class="n">zip_safe</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> +<span class="p">)</span> +</code></pre></div></div> + +<p>注意最后有一个<code class="language-plaintext highlighter-rouge">zip_safe=False</code>,根据<a href="http://docs.cython.org/en/latest/src/quickstart/build.html#building-a-cython-module-using-setuptools">Building a Cython module using setuptools</a>,这是为避免一个导入错误:</p> + +<blockquote> + <p>One caveat: the default action when running python setup.py install is to create a zipped egg file which will not work with cimport for pxd files when you try to use them from a dependent package. To prevent this, include zip_safe=False in the arguments to setup().</p> +</blockquote> + +<p>最后我们来编译这个扩展模块。在命令行,项目根目录(即<code class="language-plaintext highlighter-rouge">setup.py</code>所在目录),执行:</p> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>python3 setup.py build_ext <span class="nt">--inplace</span> +</code></pre></div></div> + +<p>为执行这条命令,Windows需要Visual Studio,Linux需要GNU工具链(<code class="language-plaintext highlighter-rouge">g++</code>),Mac需要XCode(<code class="language-plaintext highlighter-rouge">clang++</code>)。</p> + +<p>为使用这个扩展模块,我们可以这样:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">from</span> <span class="nn">package1.package2.square</span> <span class="kn">import</span> <span class="n">square</span> + +<span class="n">l1</span> <span class="o">=</span> <span class="p">[</span><span class="mf">1.</span><span class="p">,</span> <span class="mf">2.</span><span class="p">,</span> <span class="mf">3.</span><span class="p">]</span> +<span class="k">print</span><span class="p">(</span><span class="n">square</span><span class="p">(</span><span class="n">l1</span><span class="p">))</span> +</code></pre></div></div> + +<p>输出</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[1.0, 4.0, 9.0] +</code></pre></div></div> + +<h2 id="致谢">致谢</h2> + +<p>本文受<a href="https://stackoverflow.com/a/24836050/7881370">这个回答</a>启发而创作。</p> + + </div> +<a class="u-url" href="/2022/05/26/develop-python-cpp-extension-using-cython.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2022/06/02/pass-dynamic-array-between-cpp-and-python.html b/2022/06/02/pass-dynamic-array-between-cpp-and-python.html new file mode 100644 index 000000000..9eaef7941 --- /dev/null +++ b/2022/06/02/pass-dynamic-array-between-cpp-and-python.html @@ -0,0 +1,202 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>使用Cython在Python和C++间互传大小事先未知的numpy数组 | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="使用Cython在Python和C++间互传大小事先未知的numpy数组"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="从C++传到Python"> +<meta property="og:description" content="从C++传到Python"> +<link rel="canonical" href="https://kkew3.github.io/2022/06/02/pass-dynamic-array-between-cpp-and-python.html"> +<meta property="og:url" content="https://kkew3.github.io/2022/06/02/pass-dynamic-array-between-cpp-and-python.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2022-06-02T08:55:34+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="使用Cython在Python和C++间互传大小事先未知的numpy数组"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2022-06-02T08:55:34+00:00","datePublished":"2022-06-02T08:55:34+00:00","description":"从C++传到Python","headline":"使用Cython在Python和C++间互传大小事先未知的numpy数组","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2022/06/02/pass-dynamic-array-between-cpp-and-python.html"},"url":"https://kkew3.github.io/2022/06/02/pass-dynamic-array-between-cpp-and-python.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +<script>MathJax={"tex":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]]},"svg":{"fontCache":"global"}}</script><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">使用Cython在Python和C++间互传大小事先未知的numpy数组</h1> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--cpp"><code class="highlighter-rouge"><nobr>dev/c++</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--cython"><code class="highlighter-rouge"><nobr>dev/cython</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2022-06-02T08:55:34+00:00" itemprop="datePublished">Jun 2, 2022 at 08:55:34 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <h2 id="从c传到python">从C++传到Python</h2> + +<p>常见的教程如<a href="https://stackoverflow.com/q/17855032/7881370">这个问题及回答</a>是将大小已知的numpy数组传入传出C++,如确定会从C++传出大小为$M \times N$的矩阵。方法简单讲就是在Python端分配一个大小为$M \times N$的矩阵,把指向这个矩阵的指针传给C++,C++负责修改矩阵的内容,结束后矩阵就自动“传回”了。</p> + +<p>然而有时我们事先不知道从C++传回的矩阵是多大,这时我们可以用<a href="https://python.tutorialink.com/passing-c-vector-to-numpy-through-cython-without-copying-and-taking-care-of-memory-management-automatically/">这个回答</a>所提及的技术,即从C++传回<code class="language-plaintext highlighter-rouge">std::vector</code>,然后在Python端把它无拷贝地转成numpy数组。</p> + +<p>例子:从C++传回$M \times 2$大小的矩阵,$M$在Python端未知。例子主要来源于网络,但我稍微换了一下应用,并修改了里面的谬误。</p> + +<p><code class="language-plaintext highlighter-rouge">doit.h</code>:</p> + +<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cp">#ifndef _DOIT_H_ +#define _DOIT_H_ +#include <vector> +</span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">long</span><span class="o">></span> <span class="n">arange2d</span><span class="p">();</span> +<span class="cp">#endif +</span></code></pre></div></div> + +<p><code class="language-plaintext highlighter-rouge">doit.cpp</code>:</p> + +<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cp">#include "doit.h" +</span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">long</span><span class="o">></span> <span class="n">arange2d</span><span class="p">()</span> <span class="p">{</span> + <span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">long</span><span class="o">></span> <span class="n">arr</span><span class="p">(</span><span class="mi">10</span><span class="p">);</span> + <span class="kt">long</span> <span class="n">x</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> + <span class="k">for</span> <span class="p">(</span><span class="k">auto</span> <span class="n">i</span> <span class="o">=</span> <span class="n">arr</span><span class="p">.</span><span class="n">begin</span><span class="p">();</span> <span class="n">i</span> <span class="o">!=</span> <span class="n">arr</span><span class="p">.</span><span class="n">end</span><span class="p">();</span> <span class="o">++</span><span class="n">i</span><span class="p">)</span> <span class="p">{</span> + <span class="o">*</span><span class="n">i</span> <span class="o">=</span> <span class="n">x</span><span class="o">++</span><span class="p">;</span> + <span class="p">}</span> + <span class="k">return</span> <span class="n">arr</span><span class="p">;</span> +<span class="p">}</span> +</code></pre></div></div> + +<p><code class="language-plaintext highlighter-rouge">fast.pyx</code>:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">from</span> <span class="n">libcpp</span><span class="p">.</span><span class="n">vector</span> <span class="n">cimport</span> <span class="n">vector</span> + +<span class="n">cdef</span> <span class="n">extern</span> <span class="k">from</span> <span class="s">'doit.h'</span><span class="p">:</span> + <span class="n">vector</span><span class="p">[</span><span class="nb">long</span><span class="p">]</span> <span class="n">arange2d</span><span class="p">()</span> + +<span class="n">cdef</span> <span class="k">class</span> <span class="nc">ArrayWrapper</span><span class="p">:</span> + <span class="n">cdef</span> <span class="n">vector</span><span class="p">[</span><span class="nb">long</span><span class="p">]</span> <span class="n">v</span> + <span class="n">cdef</span> <span class="n">Py_ssize_t</span> <span class="n">shape</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span> + <span class="n">cdef</span> <span class="n">Py_ssize_t</span> <span class="n">strides</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span> + + <span class="k">def</span> <span class="nf">set_data</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">vector</span><span class="p">[</span><span class="nb">long</span><span class="p">]</span><span class="o">&</span> <span class="n">data</span><span class="p">):</span> + <span class="bp">self</span><span class="p">.</span><span class="n">v</span><span class="p">.</span><span class="n">swap</span><span class="p">(</span><span class="n">data</span><span class="p">)</span> <span class="c1"># 注(1) +</span> + <span class="k">def</span> <span class="nf">__getbuffer__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">Py_buffer</span> <span class="o">*</span><span class="n">buf</span><span class="p">,</span> <span class="nb">int</span> <span class="n">flags</span><span class="p">):</span> + <span class="bp">self</span><span class="p">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="p">.</span><span class="n">v</span><span class="p">.</span><span class="n">size</span><span class="p">()</span> <span class="o">//</span> <span class="mi">2</span> + <span class="bp">self</span><span class="p">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="mi">2</span> + <span class="bp">self</span><span class="p">.</span><span class="n">strides</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="p">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">*</span> <span class="n">sizeof</span><span class="p">(</span><span class="nb">long</span><span class="p">)</span> + <span class="bp">self</span><span class="p">.</span><span class="n">strides</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">sizeof</span><span class="p">(</span><span class="nb">long</span><span class="p">)</span> + + <span class="c1"># 注(2) +</span> <span class="n">buf</span><span class="p">.</span><span class="n">buf</span> <span class="o">=</span> <span class="o"><</span><span class="n">char</span> <span class="o">*></span> <span class="bp">self</span><span class="p">.</span><span class="n">v</span><span class="p">.</span><span class="n">data</span><span class="p">()</span> + <span class="n">buf</span><span class="p">.</span><span class="nb">format</span> <span class="o">=</span> <span class="s">'l'</span> <span class="c1"># 注(3) +</span> <span class="n">buf</span><span class="p">.</span><span class="n">internal</span> <span class="o">=</span> <span class="n">NULL</span> + <span class="n">buf</span><span class="p">.</span><span class="n">itemsize</span> <span class="o">=</span> <span class="o"><</span><span class="n">Py_ssize_t</span><span class="o">></span> <span class="n">sizeof</span><span class="p">(</span><span class="nb">long</span><span class="p">)</span> + <span class="n">buf</span><span class="p">.</span><span class="nb">len</span> <span class="o">=</span> <span class="bp">self</span><span class="p">.</span><span class="n">v</span><span class="p">.</span><span class="n">size</span><span class="p">()</span> <span class="o">*</span> <span class="n">sizeof</span><span class="p">(</span><span class="nb">long</span><span class="p">)</span> + <span class="n">buf</span><span class="p">.</span><span class="n">ndim</span> <span class="o">=</span> <span class="mi">2</span> + <span class="n">buf</span><span class="p">.</span><span class="n">obj</span> <span class="o">=</span> <span class="bp">self</span> + <span class="n">buf</span><span class="p">.</span><span class="n">readonly</span> <span class="o">=</span> <span class="mi">0</span> + <span class="n">buf</span><span class="p">.</span><span class="n">shape</span> <span class="o">=</span> <span class="bp">self</span><span class="p">.</span><span class="n">shape</span> + <span class="n">buf</span><span class="p">.</span><span class="n">strides</span> <span class="o">=</span> <span class="bp">self</span><span class="p">.</span><span class="n">strides</span> + <span class="n">buf</span><span class="p">.</span><span class="n">suboffsets</span> <span class="o">=</span> <span class="n">NULL</span> + +<span class="k">def</span> <span class="nf">pyarange2d</span><span class="p">():</span> + <span class="n">cdef</span> <span class="n">vector</span><span class="p">[</span><span class="nb">long</span><span class="p">]</span> <span class="n">arr</span> <span class="o">=</span> <span class="n">arange2d</span><span class="p">()</span> + <span class="n">cdef</span> <span class="n">ArrayWrapper</span> <span class="n">wrapper</span> <span class="o">=</span> <span class="n">ArrayWrapper</span><span class="p">()</span> + <span class="n">wrapper</span><span class="p">.</span><span class="n">set_data</span><span class="p">(</span><span class="n">arr</span><span class="p">)</span> + <span class="k">return</span> <span class="n">np</span><span class="p">.</span><span class="n">asarray</span><span class="p">(</span><span class="n">wrapper</span><span class="p">)</span> +</code></pre></div></div> + +<ul> + <li>注(1):<code class="language-plaintext highlighter-rouge">std::vector<T>::swap</code>完成了无拷贝传值,另一种方法是用<code class="language-plaintext highlighter-rouge">std::move</code>,不过那需要<code class="language-plaintext highlighter-rouge">cdef extern from '<utility>' namespace 'std' nogil: vector[long] move(vector[long])</code>,应该是这样,不过我没试过</li> + <li>注(2):numpy的Buffer Protocol见<a href="https://docs.python.org/3/c-api/buffer.html#buffer-structure">此处</a>,里面讲了<code class="language-plaintext highlighter-rouge">buf</code>需要设置哪些属性</li> + <li>注(3):<code class="language-plaintext highlighter-rouge">buf.format</code>如何设置见<a href="https://docs.python.org/3/library/struct.html#format-characters">此处</a> +</li> +</ul> + +<p>至于从C++传回Python的多维数组有两个及以上的维度不知道的话(已知维度总数<code class="language-plaintext highlighter-rouge">ndim</code>),网络上没找到答案,但我是这么做的:</p> + +<ol> + <li>传给C++一个指向<code class="language-plaintext highlighter-rouge">Py_ssize_t</code>类型、长度为<code class="language-plaintext highlighter-rouge">ndim</code>的数组(即待传回数组的<code class="language-plaintext highlighter-rouge">shape</code>)的指针</li> + <li>C++传回一个<code class="language-plaintext highlighter-rouge">std::vector</code>并修改<code class="language-plaintext highlighter-rouge">shape</code>元素为合适的值</li> + <li>按照<code class="language-plaintext highlighter-rouge">shape</code>及<code class="language-plaintext highlighter-rouge">std::vector</code>的元素类型填写<code class="language-plaintext highlighter-rouge">buf</code>的属性,完成<code class="language-plaintext highlighter-rouge">std::vector</code>到numpy数组的转换</li> +</ol> + +<h2 id="从python传到c">从Python传到C++</h2> + +<p>这应该已经耳熟能详了,我就不在此赘述了。不过有一点需要注意。传<code class="language-plaintext highlighter-rouge">double</code>数组时没问题,各平台<code class="language-plaintext highlighter-rouge">double</code>都对应<code class="language-plaintext highlighter-rouge">numpy.float64</code>。传<code class="language-plaintext highlighter-rouge">int</code>数组时需注意,Windows下对应<code class="language-plaintext highlighter-rouge">numpy.int32</code>、Linux/Mac下对应<code class="language-plaintext highlighter-rouge">numpy.int64</code>。所以直接用传<code class="language-plaintext highlighter-rouge">double</code>数组的方法传<code class="language-plaintext highlighter-rouge">int</code>数组会报这个错:</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Cannot assign type 'int_t *' to 'int *' +</code></pre></div></div> + +<p>见<a href="https://stackoverflow.com/q/72470641/7881370">这个问题</a>(就是我提的)。目前我还没有优雅的解决方法。我笨拙的方法(受<a href="https://stackoverflow.com/users/5769463/ead">ead</a>的启发)(请对照着“这个问题”看)如下:把所有的<code class="language-plaintext highlighter-rouge">int</code>全替换为<code class="language-plaintext highlighter-rouge">int64_t</code>(或<code class="language-plaintext highlighter-rouge">int32_t</code>,一致就行),例如<code class="language-plaintext highlighter-rouge">int * => int64_t *</code>、<code class="language-plaintext highlighter-rouge">np.int_t => np.int64_t</code>,然后在<code class="language-plaintext highlighter-rouge">dotit.h</code>包含头文件的地方加上<code class="language-plaintext highlighter-rouge">#include <cstdint></code>,在<code class="language-plaintext highlighter-rouge">q.pyx</code>头部加上<code class="language-plaintext highlighter-rouge">from libc.stdint cimport int64_t</code>。应该就可以编译了。</p> + +<p>补充一点我近期观察到的:以上workaround在Windows下(Visual Studio 2022)貌似不行,会报不能将<code class="language-plaintext highlighter-rouge">numpy</code>的<code class="language-plaintext highlighter-rouge">int32_t</code>转为<code class="language-plaintext highlighter-rouge">int32_t</code>,类似这样的错。在Darwin和Linux下都是能通过编译的。</p> + + </div> +<a class="u-url" href="/2022/06/02/pass-dynamic-array-between-cpp-and-python.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2022/07/24/read-hdf5-from-cpp.html b/2022/07/24/read-hdf5-from-cpp.html new file mode 100644 index 000000000..eee1fa5cc --- /dev/null +++ b/2022/07/24/read-hdf5-from-cpp.html @@ -0,0 +1,223 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Read HDF5 file from C++ | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Read HDF5 file from C++"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="Introduction"> +<meta property="og:description" content="Introduction"> +<link rel="canonical" href="https://kkew3.github.io/2022/07/24/read-hdf5-from-cpp.html"> +<meta property="og:url" content="https://kkew3.github.io/2022/07/24/read-hdf5-from-cpp.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2022-07-24T04:20:10+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Read HDF5 file from C++"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2022-07-24T04:20:10+00:00","datePublished":"2022-07-24T04:20:10+00:00","description":"Introduction","headline":"Read HDF5 file from C++","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2022/07/24/read-hdf5-from-cpp.html"},"url":"https://kkew3.github.io/2022/07/24/read-hdf5-from-cpp.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Read HDF5 file from C++</h1> + <span><a href="https://kkew3.github.io/tags/dev--cpp"><code class="highlighter-rouge"><nobr>dev/c++</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2022-07-24T04:20:10+00:00" itemprop="datePublished">Jul 24, 2022 at 04:20:10 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <h2 id="introduction">Introduction</h2> + +<p><a href="https://portal.hdfgroup.org/display/HDF5/HDF5">HDF5</a> is a cross-platform data format used to save (high dimensional) arrays. +There are various language bindings out there for manipulating HDF5 files, including C++. +I record here, after stumbling around many hours, how to read data using C++.</p> + +<h2 id="read-scalars">Read scalars</h2> + +<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// note the header is not "hdf5.h"</span> +<span class="cp">#include "H5Cpp.h" +</span> +<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span> +<span class="p">{</span> + <span class="n">H5</span><span class="o">::</span><span class="n">H5File</span> <span class="n">file</span><span class="p">(</span><span class="s">"/path/to/data.h5"</span><span class="p">,</span> <span class="n">H5F_ACC_RDONLY</span><span class="p">);</span> + <span class="n">H5</span><span class="o">::</span><span class="n">DataSet</span> <span class="n">dataset</span> <span class="o">=</span> <span class="n">file</span><span class="p">.</span><span class="n">openDataSet</span><span class="p">(</span><span class="s">"dataset/path"</span><span class="p">);</span> + <span class="n">H5</span><span class="o">::</span><span class="n">DataSpace</span> <span class="n">filespace</span> <span class="o">=</span> <span class="n">dataset</span><span class="p">.</span><span class="n">getSpace</span><span class="p">();</span> + <span class="c1">// it might be more than sufficient to use `1` here</span> + <span class="n">hsize_t</span> <span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span> + <span class="c1">// `_dims` must be 0;</span> + <span class="c1">// `shape` shouldn't be touched</span> + <span class="kt">int</span> <span class="n">_dims</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">.</span><span class="n">getSimpleExtentDims</span><span class="p">(</span><span class="n">shape</span><span class="p">);</span> + <span class="n">H5</span><span class="o">::</span><span class="n">DataSpace</span> <span class="n">mspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">shape</span><span class="p">);</span> <span class="c1">// where 0 comes from `_dims`</span> + <span class="kt">double</span> <span class="n">buf</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span> + <span class="n">dataset</span><span class="p">.</span><span class="n">read</span><span class="p">(</span><span class="n">buf</span><span class="p">,</span> <span class="n">H5</span><span class="o">::</span><span class="n">PredType</span><span class="o">::</span><span class="n">NATIVE_DOUBLE</span><span class="p">,</span> <span class="n">mspace</span><span class="p">,</span> <span class="n">filespace</span><span class="p">);</span> + + <span class="c1">// the scalar is in `buf[0]`</span> + + <span class="k">return</span> <span class="mi">0</span><span class="p">;</span> +<span class="p">}</span> +</code></pre></div></div> + +<h2 id="read-vector-to-array">Read vector to array</h2> + +<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cp">#include "H5Cpp.h" +</span> +<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span> +<span class="p">{</span> + <span class="n">H5</span><span class="o">::</span><span class="n">H5File</span> <span class="n">file</span><span class="p">(</span><span class="s">"/path/to/data.h5"</span><span class="p">,</span> <span class="n">H5F_ACC_RDONLY</span><span class="p">);</span> + <span class="n">H5</span><span class="o">::</span><span class="n">DataSet</span> <span class="n">dataset</span> <span class="o">=</span> <span class="n">file</span><span class="p">.</span><span class="n">openDataSet</span><span class="p">(</span><span class="s">"dataset/path"</span><span class="p">);</span> + <span class="n">H5</span><span class="o">::</span><span class="n">DataSpace</span> <span class="n">filespace</span> <span class="o">=</span> <span class="n">dataset</span><span class="p">.</span><span class="n">getSpace</span><span class="p">();</span> + <span class="c1">// `1` corresponds to 1D array (vectors);</span> + <span class="c1">// if reading 2D array (matrices), replace `1` with `2`, so forth</span> + <span class="n">hsize_t</span> <span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span> + <span class="c1">// `_dims` is the actual N in N-D array; should be the same as</span> + <span class="c1">// previously set; `shape` has now been set</span> + <span class="kt">int</span> <span class="n">_dims</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">.</span><span class="n">getSimpleExtentDims</span><span class="p">(</span><span class="n">shape</span><span class="p">);</span> + <span class="n">H5</span><span class="o">::</span><span class="n">DataSpace</span> <span class="n">mspace</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">shape</span><span class="p">);</span> <span class="c1">// replace `1` with `2` if like above</span> + <span class="kt">double</span> <span class="o">*</span><span class="n">buf</span> <span class="o">=</span> <span class="k">new</span> <span class="kt">double</span><span class="p">[</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]];</span> + <span class="c1">// if reading 2D array the previous line should be replaced by:</span> + <span class="c1">//double *buf = new double[shape[0] * shape[1]];</span> + <span class="c1">// so forth</span> + <span class="n">dataset</span><span class="p">.</span><span class="n">read</span><span class="p">(</span><span class="n">buf</span><span class="p">,</span> <span class="n">H5</span><span class="o">::</span><span class="n">PredType</span><span class="o">::</span><span class="n">NATIVE_DOUBLE</span><span class="p">,</span> <span class="n">mspace</span><span class="p">,</span> <span class="n">filespace</span><span class="p">);</span> + + <span class="c1">// the vector (or flatten matrix if reading matrix) is in `buf`</span> + + <span class="k">delete</span><span class="p">[]</span> <span class="n">buf</span><span class="p">;</span> + <span class="k">return</span> <span class="mi">0</span><span class="p">;</span> +<span class="p">}</span> +</code></pre></div></div> + +<p>Note that arrays are stored contiguously. +Read arrays using something like <code class="language-plaintext highlighter-rouge">double buf[M][N]</code> is not allowed. +See this <a href="https://stackoverflow.com/a/17110562/7881370">answer</a>.</p> + +<h2 id="read-vector-to-stdvector">Read vector to <code class="language-plaintext highlighter-rouge">std::vector</code> +</h2> + +<p>Basically the same …</p> + +<div class="language-cpp highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cp">#include "H5Cpp.h" +#include <vector> +</span> +<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span> +<span class="p">{</span> + <span class="n">H5</span><span class="o">::</span><span class="n">H5File</span> <span class="n">file</span><span class="p">(</span><span class="s">"/path/to/data.h5"</span><span class="p">,</span> <span class="n">H5F_ACC_RDONLY</span><span class="p">);</span> + <span class="n">H5</span><span class="o">::</span><span class="n">DataSet</span> <span class="n">dataset</span> <span class="o">=</span> <span class="n">file</span><span class="p">.</span><span class="n">openDataSet</span><span class="p">(</span><span class="s">"dataset/path"</span><span class="p">);</span> + <span class="n">H5</span><span class="o">::</span><span class="n">DataSpace</span> <span class="n">filespace</span> <span class="o">=</span> <span class="n">dataset</span><span class="p">.</span><span class="n">getSpace</span><span class="p">();</span> + <span class="c1">// `1` corresponds to 1D array (vectors);</span> + <span class="c1">// if reading 2D array (matrices), replace `1` with `2`, so forth</span> + <span class="n">hsize_t</span> <span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span> + <span class="c1">// `_dims` is the actual N in N-D array; should be the same as</span> + <span class="c1">// previously set; `shape` has now been set</span> + <span class="kt">int</span> <span class="n">_dims</span> <span class="o">=</span> <span class="n">filespace</span><span class="p">.</span><span class="n">getSimpleExtentDims</span><span class="p">(</span><span class="n">shape</span><span class="p">);</span> + <span class="n">H5</span><span class="o">::</span><span class="n">DataSpace</span> <span class="n">mspace</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">shape</span><span class="p">);</span> <span class="c1">// replace `1` with `2` if like above</span> + <span class="c1">// must preserve enough space here</span> + <span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">double</span><span class="o">></span> <span class="n">buf</span><span class="p">(</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]);</span> + <span class="c1">// likewise, previous line should be written as</span> + <span class="c1">//std::vector<double> buf(shape[0] * shape[1]);</span> + <span class="c1">// if reading 2D array, so forth</span> + <span class="c1">// note the `.data()` here</span> + <span class="n">dataset</span><span class="p">.</span><span class="n">read</span><span class="p">(</span><span class="n">buf</span><span class="p">.</span><span class="n">data</span><span class="p">(),</span> <span class="n">H5</span><span class="o">::</span><span class="n">PredType</span><span class="o">::</span><span class="n">NATIVE_DOUBLE</span><span class="p">,</span> <span class="n">mspace</span><span class="p">,</span> <span class="n">filespace</span><span class="p">);</span> + + <span class="c1">// the vector is in `buf`</span> + + <span class="k">return</span> <span class="mi">0</span><span class="p">;</span> +<span class="p">}</span> +</code></pre></div></div> + +<h2 id="compile-above-code">Compile above code</h2> + +<p>I’m not quite sure how to compile on Windows, but for Linux and macOS, <code class="language-plaintext highlighter-rouge">Makefile</code> should be written like this.</p> + +<div class="language-make highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">LDFLAGS</span> <span class="o">=</span> <span class="se">\</span> + <span class="nt">-L</span>/path/to/hdf5/incstall/directory/lib +<span class="c"># note the library names here; only `-lhdf5` is not enough +</span><span class="nv">LDLIBS</span> <span class="o">=</span> <span class="se">\</span> + <span class="nt">-lhdf5</span> <span class="se">\</span> + <span class="nt">-lhdf5_cpp</span> <span class="se">\</span> + <span class="nt">-lhdf5_hl_cpp</span> +<span class="nv">CPPFLAGS</span> <span class="o">=</span> <span class="se">\</span> + <span class="nt">-I</span>/path/to/hdf5/install/directory/include +<span class="nv">CXX</span> <span class="o">=</span> clang++ + +<span class="c"># I haven't tried what if `-std=c++11` is not added, but I guess it +# should be okay +</span><span class="nl">a.out </span><span class="o">:</span> <span class="nf">source.cpp</span> + <span class="nv">$(CXX)</span> <span class="nv">$(CPPFLAGS)</span> <span class="nv">$(LDFLAGS)</span> <span class="nt">-std</span><span class="o">=</span>c++11 <span class="nt">-o</span> <span class="nv">$@</span> <span class="nv">$^</span> <span class="nv">$(LDLIBS)</span> +</code></pre></div></div> + + </div> +<a class="u-url" href="/2022/07/24/read-hdf5-from-cpp.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2022/07/24/set-up-github-pages-macos.html b/2022/07/24/set-up-github-pages-macos.html new file mode 100644 index 000000000..492e113ed --- /dev/null +++ b/2022/07/24/set-up-github-pages-macos.html @@ -0,0 +1,164 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Set up GitHub Pages on macOS | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Set up GitHub Pages on macOS"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="The steps are organized in a shell script like form:"> +<meta property="og:description" content="The steps are organized in a shell script like form:"> +<link rel="canonical" href="https://kkew3.github.io/2022/07/24/set-up-github-pages-macos.html"> +<meta property="og:url" content="https://kkew3.github.io/2022/07/24/set-up-github-pages-macos.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2022-07-24T10:20:49+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Set up GitHub Pages on macOS"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2022-07-24T10:20:49+00:00","datePublished":"2022-07-24T10:20:49+00:00","description":"The steps are organized in a shell script like form:","headline":"Set up GitHub Pages on macOS","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2022/07/24/set-up-github-pages-macos.html"},"url":"https://kkew3.github.io/2022/07/24/set-up-github-pages-macos.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Set up GitHub Pages on macOS</h1> + <span><a href="https://kkew3.github.io/tags/misc"><code class="highlighter-rouge"><nobr>misc</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2022-07-24T10:20:49+00:00" itemprop="datePublished">Jul 24, 2022 at 10:20:49 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>The steps are organized in a shell script like form:</p> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>brew <span class="nb">install </span>chruby +<span class="c"># add '. /usr/local/opt/chruby/share/chruby/chruby.sh' to .bashrc or .zshrc</span> + +<span class="c"># install ruby alternative to system's</span> +brew <span class="nb">install </span>automake bison openssl readline libyaml gdbm libffi +curl <span class="nt">--remote-name</span> https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0.tar.xz +<span class="nb">tar </span>xf ruby-3.1.0.tar.xz +<span class="nb">cd </span>ruby-3.1.0 +./configure <span class="nt">--prefix</span><span class="o">=</span><span class="s2">"</span><span class="nv">$HOME</span><span class="s2">/.rubies/ruby-3.1.0"</span> <span class="nt">--with-opt-dir</span><span class="o">=</span><span class="s2">"</span><span class="si">$(</span>brew <span class="nt">--prefix</span> openssl<span class="si">)</span><span class="s2">:</span><span class="si">$(</span>brew <span class="nt">--prefix</span> readline<span class="si">)</span><span class="s2">:</span><span class="si">$(</span>brew <span class="nt">--prefix</span> libyaml<span class="si">)</span><span class="s2">:</span><span class="si">$(</span>brew <span class="nt">--prefix</span> gdbm<span class="si">)</span><span class="s2">:</span><span class="si">$(</span>brew <span class="nt">--prefix</span> libffi<span class="si">)</span><span class="s2">"</span> +make <span class="nt">-j4</span> +make <span class="nb">install</span> + +<span class="c"># restart shell</span> + +<span class="c"># set default ruby</span> +chruby ruby-3.1.0 +<span class="c"># now ensure 'command -v ruby' or 'command -v gem' returns the one under ~/.rubies</span> + +<span class="c"># install Bundler and Jekyll</span> +gem <span class="nb">install </span>bundler jekyll + +<span class="nb">mkdir</span> /path/to/website/local/dir +<span class="nb">cd</span> <span class="nv">$_</span> +git init username.github.io +<span class="nb">cd</span> <span class="nv">$_</span> +jekyll new <span class="nt">--skip-bundle</span> <span class="nb">.</span> +<span class="c"># follow instruction from https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/creating-a-github-pages-site-with-jekyll</span> +bundle <span class="nb">install</span> + +<span class="c"># according to https://stackoverflow.com/a/70916831/7881370</span> +bundle add webrick + +<span class="c"># set up mathjax etc.</span> +<span class="c"># follow https://github.com/jeffreytse/jekyll-spaceship#installation</span> +<span class="c"># but in Gemfile, add `gem "jekyll-spaceship", "~> 0.9.9"` instead of</span> +<span class="c"># using the latest version by not specifying version (see Issue #81 of</span> +<span class="c"># 'jeffreytse/jekyll-spaceship' at GitHub)</span> + +bundle <span class="nb">install</span> + +<span class="c"># Mathjax can now be rendered locally, but not on GitHub. That's because</span> +<span class="c"># jekyll-spaceship is not in its whitelist. See</span> +<span class="c"># https://github.com/marketplace/actions/jekyll-deploy-action for detail.</span> +<span class="c"># Follow its instruction (including adding the github workflow file,</span> +<span class="c"># creating 'gh-pages' orphan branch). Then ensure the GitHub Personal</span> +<span class="c"># Access Token (PAT) has sufficient permission (for workflow specifically).</span> +<span class="c"># Push master to GitHub.</span> + +<span class="c"># Mathjax should already be ready.</span> + +<span class="c">#####################################################</span> +<span class="c"># The only command needed to run over and over again:</span> +<span class="c">#####################################################</span> + +<span class="c"># build and serve locally</span> +bundle <span class="nb">exec </span>jekyll serve +</code></pre></div></div> + + </div> +<a class="u-url" href="/2022/07/24/set-up-github-pages-macos.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2022/08/09/notes-build-cython-using-setup-dot-py.html b/2022/08/09/notes-build-cython-using-setup-dot-py.html new file mode 100644 index 000000000..218e85777 --- /dev/null +++ b/2022/08/09/notes-build-cython-using-setup-dot-py.html @@ -0,0 +1,199 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Notes on building Cython using setup.py | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Notes on building Cython using setup.py"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="Basic structure"> +<meta property="og:description" content="Basic structure"> +<link rel="canonical" href="https://kkew3.github.io/2022/08/09/notes-build-cython-using-setup-dot-py.html"> +<meta property="og:url" content="https://kkew3.github.io/2022/08/09/notes-build-cython-using-setup-dot-py.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2022-08-09T08:24:19+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Notes on building Cython using setup.py"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2022-08-09T08:24:19+00:00","datePublished":"2022-08-09T08:24:19+00:00","description":"Basic structure","headline":"Notes on building Cython using setup.py","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2022/08/09/notes-build-cython-using-setup-dot-py.html"},"url":"https://kkew3.github.io/2022/08/09/notes-build-cython-using-setup-dot-py.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Notes on building Cython using setup.py</h1> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--cython"><code class="highlighter-rouge"><nobr>dev/cython</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2022-08-09T08:24:19+00:00" itemprop="datePublished">Aug 9, 2022 at 08:24:19 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <h2 id="basic-structure">Basic structure</h2> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">from</span> <span class="nn">setuptools</span> <span class="kn">import</span> <span class="n">Extension</span><span class="p">,</span> <span class="n">setup</span> +<span class="kn">from</span> <span class="nn">Cython.Build</span> <span class="kn">import</span> <span class="n">cythonize</span> + +<span class="n">extensions</span> <span class="o">=</span> <span class="p">[</span> + <span class="n">Extension</span><span class="p">(</span> + <span class="n">name</span><span class="o">=</span><span class="p">...,</span> + <span class="n">sources</span><span class="o">=</span><span class="p">[</span> + <span class="p">...</span> + <span class="p">],</span> + <span class="n">include_dirs</span><span class="o">=</span><span class="p">[</span> + <span class="p">...</span> + <span class="p">],</span> + <span class="n">library_dirs</span><span class="o">=</span><span class="p">[</span> + <span class="p">...</span> + <span class="p">],</span> + <span class="n">libraries</span><span class="o">=</span><span class="p">[</span> + <span class="p">...</span> + <span class="p">],</span> + <span class="n">runtime_library_dirs</span><span class="o">=</span><span class="p">[</span> + <span class="p">...</span> + <span class="p">],</span> + <span class="n">define_macros</span><span class="o">=</span><span class="p">[</span> + <span class="p">(...,</span> <span class="p">...),</span> + <span class="p">...</span> + <span class="p">],</span> + <span class="n">extra_compile_args</span><span class="o">=</span><span class="p">[</span> + <span class="p">...</span> + <span class="p">],</span> + <span class="n">extra_link_args</span><span class="o">=</span><span class="p">[</span> + <span class="p">...</span> + <span class="p">],</span> + <span class="n">language</span><span class="o">=</span><span class="s">'...'</span><span class="p">,</span> + <span class="p">),</span> + <span class="p">...</span> +<span class="p">]</span> + +<span class="n">setup</span><span class="p">(</span> + <span class="n">ext_modules</span><span class="o">=</span><span class="n">cythonize</span><span class="p">(</span><span class="n">extensions</span><span class="p">,</span> <span class="n">language_level</span><span class="o">=</span><span class="s">'3'</span><span class="p">),</span> + <span class="n">zip_safe</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> +<span class="p">)</span> +</code></pre></div></div> + +<p>Notes:</p> + +<ul> + <li> +<code class="language-plaintext highlighter-rouge">name=...</code>: to be explained in detail below</li> + <li> +<code class="language-plaintext highlighter-rouge">sources=[...]</code>: from my experiments, seem must contain one and only one <code class="language-plaintext highlighter-rouge">.pyx</code> Cython source</li> + <li> +<code class="language-plaintext highlighter-rouge">language_level='3'</code> is used when developing in Python 3.</li> + <li> +<code class="language-plaintext highlighter-rouge">zip_safe=False</code> is used as per <a href="https://cython.readthedocs.io/en/latest/src/userguide/source_files_and_compilation.html#configuring-the-c-build">cython doc</a> +</li> + <li> +<code class="language-plaintext highlighter-rouge">define_macros=[("NPY_NO_DEPRECATED_API", "NPY_1_7_API_VERSION")]</code> can be used when devloping using newer version of <code class="language-plaintext highlighter-rouge">numpy</code>, to avoid compile-time warnings, despite harmless</li> +</ul> + +<h3 id="name-of-extension">Name of Extension</h3> + +<blockquote> + <p>the full name of the extension, including any packages – ie. not a filename or pathname, but Python dotted name</p> +</blockquote> + +<p>For example, a name <code class="language-plaintext highlighter-rouge">foo.bar</code> will generate <code class="language-plaintext highlighter-rouge">./foo/bar.*.so</code> file, where <code class="language-plaintext highlighter-rouge">*</code> can be obtained by invoke on command line <code class="language-plaintext highlighter-rouge">python3-config --extension-suffix</code>, e.g. <code class="language-plaintext highlighter-rouge">./foo/bar.cpython-39-darwin.so</code>. +The file path is relative to build root, the location where <code class="language-plaintext highlighter-rouge">setup.py</code> sits.</p> + +<h2 id="precedence-of-import">Precedence of import</h2> + +<p>Suppose the extension we are talking about is named <code class="language-plaintext highlighter-rouge">foo.bar</code>. +Let’s assume there’s already a directory named <code class="language-plaintext highlighter-rouge">./foo/bar/</code>. +Open Python prompt under build root and type <code class="language-plaintext highlighter-rouge">from foo.bar import xxx</code> where <code class="language-plaintext highlighter-rouge">xxx</code> is anything defined in <code class="language-plaintext highlighter-rouge">foo.bar</code>. +This should work fine. +Now add an empty <code class="language-plaintext highlighter-rouge">foo/bar/__init__.py</code>. +Repeat the above process; it should echo <code class="language-plaintext highlighter-rouge">AttributeError</code> on <code class="language-plaintext highlighter-rouge">xxx</code>. +This means that the Python package <code class="language-plaintext highlighter-rouge">foo.bar</code> takes precedence over the extension module <code class="language-plaintext highlighter-rouge">foo.bar</code>.</p> + +<p>Another circumstance. +Again the extension is named <code class="language-plaintext highlighter-rouge">foo.bar</code>. +However, there’s now a directory <code class="language-plaintext highlighter-rouge">./foo/</code> with <code class="language-plaintext highlighter-rouge">bar.py</code> and <code class="language-plaintext highlighter-rouge">__init__.py</code> inside. +From my experiment, this time extension <code class="language-plaintext highlighter-rouge">foo.bar</code> takes precedence over the Python package <code class="language-plaintext highlighter-rouge">foo.bar</code>.</p> + +<p>It appears quite involved to me. +So the best practice might be just to avoid having name collision with Python module/package.</p> + +<h2 id="useful-links">Useful links</h2> + +<ul> + <li><a href="https://setuptools.pypa.io/en/latest/userguide/ext_modules.html"><code class="language-plaintext highlighter-rouge">setuptools</code> Extension doc</a></li> + <li><a href="https://cython.readthedocs.io/en/latest/src/userguide/source_files_and_compilation.html">Cython source files and compilation</a></li> + <li><a href="https://cython.readthedocs.io/en/latest/src/userguide/wrapping_CPlusPlus.html">Using C++ in Cython</a></li> +</ul> + + </div> +<a class="u-url" href="/2022/08/09/notes-build-cython-using-setup-dot-py.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2022/08/31/vae-training-trick.html b/2022/08/31/vae-training-trick.html new file mode 100644 index 000000000..9562bae30 --- /dev/null +++ b/2022/08/31/vae-training-trick.html @@ -0,0 +1,122 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Variational Autoencoder training trick | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Variational Autoencoder training trick"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="A decent tutorial on Variational Autoencoder (VAE) can be found at arXiv. While I was playing with VAE, and trying the Gaussian output distribution with gradually higher dimensionality, I found a trick that ensure numerical stability at the beginning of training. As we know, the “encoder” of VAE outputs $\mu_X$ and $\log\sigma_X^2$ given input $x$, and a $z$ is sampled from the Gaussian determined by $\mu_X$ and $\sigma_X^2$ afterwards. To compute $\sigma_X^2$, $\sigma_X^2=e^{\log\sigma_X^2}$."> +<meta property="og:description" content="A decent tutorial on Variational Autoencoder (VAE) can be found at arXiv. While I was playing with VAE, and trying the Gaussian output distribution with gradually higher dimensionality, I found a trick that ensure numerical stability at the beginning of training. As we know, the “encoder” of VAE outputs $\mu_X$ and $\log\sigma_X^2$ given input $x$, and a $z$ is sampled from the Gaussian determined by $\mu_X$ and $\sigma_X^2$ afterwards. To compute $\sigma_X^2$, $\sigma_X^2=e^{\log\sigma_X^2}$."> +<link rel="canonical" href="https://kkew3.github.io/2022/08/31/vae-training-trick.html"> +<meta property="og:url" content="https://kkew3.github.io/2022/08/31/vae-training-trick.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2022-08-31T11:48:35+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Variational Autoencoder training trick"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2022-08-31T11:48:35+00:00","datePublished":"2022-08-31T11:48:35+00:00","description":"A decent tutorial on Variational Autoencoder (VAE) can be found at arXiv. While I was playing with VAE, and trying the Gaussian output distribution with gradually higher dimensionality, I found a trick that ensure numerical stability at the beginning of training. As we know, the “encoder” of VAE outputs $\\mu_X$ and $\\log\\sigma_X^2$ given input $x$, and a $z$ is sampled from the Gaussian determined by $\\mu_X$ and $\\sigma_X^2$ afterwards. To compute $\\sigma_X^2$, $\\sigma_X^2=e^{\\log\\sigma_X^2}$.","headline":"Variational Autoencoder training trick","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2022/08/31/vae-training-trick.html"},"url":"https://kkew3.github.io/2022/08/31/vae-training-trick.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +<script>MathJax={"tex":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]]},"svg":{"fontCache":"global"}}</script><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Variational Autoencoder training trick</h1> + <span><a href="https://kkew3.github.io/tags/ml"><code class="highlighter-rouge"><nobr>machine learning</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2022-08-31T11:48:35+00:00" itemprop="datePublished">Aug 31, 2022 at 11:48:35 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>A decent tutorial on Variational Autoencoder (VAE) can be found at <a href="https://arxiv.org/abs/1606.05908">arXiv</a>. +While I was playing with VAE, and trying the Gaussian output distribution with gradually higher dimensionality, I found a trick that ensure numerical stability at the beginning of training. +As we know, the “encoder” of VAE outputs $\mu_X$ and $\log\sigma_X^2$ given input $x$, and a $z$ is sampled from the Gaussian determined by $\mu_X$ and $\sigma_X^2$ afterwards. +To compute $\sigma_X^2$, $\sigma_X^2=e^{\log\sigma_X^2}$.</p> + +<p>A problem arises, that $\log\sigma_X^2$ goes large enough such that $\sigma_X^2$ becomes floating-point infinity, especially when the mean and log variance is predicted by a dense linear layer and when the input dimension is high. +This is because, despite the fact that log variance is typically small at the end of training, it’s value at the beginning of training is determined by random initialization of the dense linear layer. +Suppose that the linear layer is initialized as standard Gaussian. +With $K$ input neurons, each output element of the linear layer follows the distribution of the sum of $K$ standard Gaussian, whose variance is positively proportional to $K$. +It follows that the maximum of all output elements is proportional to the variance. +Therefore, there should exist an element in $\sigma_X^2$ that is $e^K$ times the expected range. +Naturally, when $K$ is large, it goes to floating-point infinity.</p> + +<p>To solve the problem, we may goes one step further. +Rather than predict $\log\sigma^2$, we predict $K\log\sigma_X^2$, and in turn the output variance becomes $e^{(K\log\sigma_X^2)/K}$, which won’t ever reach infinity. +Since $K$ is a constant throughout training, it won’t cause any effect to the training overall.</p> + + </div> +<a class="u-url" href="/2022/08/31/vae-training-trick.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2023/03/05/learn-applescript-for-beginners.html b/2023/03/05/learn-applescript-for-beginners.html new file mode 100644 index 000000000..e4ae4e42d --- /dev/null +++ b/2023/03/05/learn-applescript-for-beginners.html @@ -0,0 +1,550 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Learn Applescript for Beginners | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Learn Applescript for Beginners"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/2023/03/05/learn-applescript-for-beginners.html"> +<meta property="og:url" content="https://kkew3.github.io/2023/03/05/learn-applescript-for-beginners.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2023-03-05T07:54:00+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Learn Applescript for Beginners"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2023-03-05T07:54:00+00:00","datePublished":"2023-03-05T07:54:00+00:00","description":"My blogs and research reports.","headline":"Learn Applescript for Beginners","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2023/03/05/learn-applescript-for-beginners.html"},"url":"https://kkew3.github.io/2023/03/05/learn-applescript-for-beginners.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Learn Applescript for Beginners</h1> + <span><a href="https://kkew3.github.io/tags/dev--applescript"><code class="highlighter-rouge"><nobr>dev/applescript</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2023-03-05T07:54:00+00:00" itemprop="datePublished">Mar 5, 2023 at 07:54:00 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <!-- TODO: proofread --> + +<blockquote> + <p><a href="https://www.youtube.com/playlist?list=PL5iB9WEZe2j04doUAKVxqxaCv3JJ8TxQr">youtube link</a></p> +</blockquote> + +<blockquote> + <p>Good referential text:</p> + + <ul> + <li><a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html">AppleScript Language Guide</a></li> + <li><a href="https://applescriptlibrary.files.wordpress.com/2013/11/applescriptlanguageguide-2013.pdf">AppleScript Language Guide (PDF)</a></li> + </ul> +</blockquote> + +<h2 id="script-editor">Script editor</h2> + +<p><code class="language-plaintext highlighter-rouge">log "message"</code> can be used to log messages that will be shown in “Messages” accessory pane at the bottom.</p> + +<h2 id="file-formats">File formats</h2> + +<ul> + <li>Text: save as plain text</li> + <li>Script: save as compiled library</li> + <li>Application: used to create applet; + If in code <code class="language-plaintext highlighter-rouge">on open(droppedFiles) ... end open</code> is written, then it becomes a dropplet, which allows drag-n-drop action on the created applet.</li> +</ul> + +<h2 id="dictionaries">Dictionaries</h2> + +<p>Words inside square bracket are optional arguments. +Words on the right of right arrow is what will be returned. +What will be returned can be caught by setting it to <code class="language-plaintext highlighter-rouge">set variable to</code>. +For example,</p> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">set</span><span class="w"> </span><span class="nv">myDoc</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nb">make</span><span class="w"> </span><span class="nb">new</span><span class="w"> </span><span class="na">document</span><span class="w"> +</span></code></pre></div></div> + +<h2 id="variables">Variables</h2> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">on</span> <span class="nb">run</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">theName</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="s2">"Jill"</span><span class="w"> + </span><span class="nb">log</span><span class="w"> </span><span class="nv">theName</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nb">run</span><span class="w"> +</span></code></pre></div></div> + +<h3 id="scope-of-variable">Scope of variable</h3> + +<p>By default within current handler, e.g. <code class="language-plaintext highlighter-rouge">on run</code> handler, <code class="language-plaintext highlighter-rouge">on sub_handler()</code> handler (subroutine). +However, if claiming a variable as property at the top of script:</p> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">property</span><span class="w"> </span><span class="nv">theName</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="nv">null</span><span class="w"> +</span></code></pre></div></div> + +<p><code class="language-plaintext highlighter-rouge">theName</code> will become a global variable.</p> + +<h2 id="data-types">Data types</h2> + +<ul> + <li>number (integer or real) <code class="language-plaintext highlighter-rouge">set x to 23.25</code> +</li> + <li>string: <code class="language-plaintext highlighter-rouge">set x to "23.25"</code>; but <code class="language-plaintext highlighter-rouge">set x to "23.25" as number</code> cast <code class="language-plaintext highlighter-rouge">x</code> again to a number</li> + <li>date: <code class="language-plaintext highlighter-rouge">set x to date "3/5/2023"</code> means set it to 2023-03-05</li> + <li>list: <code class="language-plaintext highlighter-rouge">set x to {"item1", "item2", "item3"}</code>. The list may comprise of heterogeneous types</li> + <li>record (dictionary): <code class="language-plaintext highlighter-rouge">set x to {keyA: "valueA", keyB: valueB}</code> +</li> +</ul> + +<p>Examples:</p> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">set</span><span class="w"> </span><span class="nv">var1</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="mf">22.5</span><span class="w"> +</span><span class="k">set</span><span class="w"> </span><span class="nv">var2</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="mi">2</span><span class="w"> +</span><span class="k">set</span><span class="w"> </span><span class="nv">theResult</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">var1</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nv">var2</span><span class="w"> </span><span class="c1"># may be +, -, *, /, mod</span><span class="w"> +</span></code></pre></div></div> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">set</span><span class="w"> </span><span class="nv">var1</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="s2">"hello"</span><span class="w"> +</span><span class="k">set</span><span class="w"> </span><span class="nv">var2</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="s2">"world"</span><span class="w"> +</span><span class="k">set</span><span class="w"> </span><span class="nv">theResult</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">var1</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nb">space</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nv">var2</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="s2">"!"</span><span class="w"> </span><span class="c1"># string concatenation</span><span class="w"> +</span></code></pre></div></div> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">set</span><span class="w"> </span><span class="nv">var1</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">date</span><span class="w"> </span><span class="s2">"12/22/2021"</span><span class="w"> +</span><span class="k">set</span><span class="w"> </span><span class="nv">var2</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">date</span><span class="w"> </span><span class="s2">"12/24/2021"</span><span class="w"> +</span><span class="k">set</span><span class="w"> </span><span class="nv">theResult</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">var1</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="nb">days</span><span class="p">)</span><span class="w"> </span><span class="c1"># may be days, hours, etc</span><span class="w"> +</span><span class="k">set</span><span class="w"> </span><span class="nv">theResult</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nb">year</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">var1</span><span class="w"> </span><span class="c1"># may be year of, month of, day of, etc</span><span class="w"> +</span></code></pre></div></div> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">set</span><span class="w"> </span><span class="nv">var1</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="p">{</span><span class="s2">"a"</span><span class="p">,</span><span class="w"> </span><span class="mf">23.9</span><span class="p">,</span><span class="w"> </span><span class="s2">"c"</span><span class="p">}</span><span class="w"> +</span><span class="k">set</span><span class="w"> </span><span class="nv">var2</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nb">item</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">var1</span><span class="w"> </span><span class="k">as </span><span class="nc">string</span><span class="w"> </span><span class="c1"># get "23.9", indexed from 1</span><span class="w"> +</span></code></pre></div></div> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">set</span><span class="w"> </span><span class="nv">var1</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="p">{</span><span class="nv">FirstName</span><span class="p">:</span><span class="w"> </span><span class="s2">"Jon"</span><span class="p">,</span><span class="w"> </span><span class="nv">LastName</span><span class="p">:</span><span class="w"> </span><span class="s2">"Voight"</span><span class="p">}</span><span class="w"> +</span><span class="k">set</span><span class="w"> </span><span class="nv">theResult</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">FirstName</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">var1</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nb">space</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nv">LastName</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">var1</span><span class="w"> + +</span><span class="c1"># First and Last are reserved words, to use them as keys, surround</span><span class="w"> +</span><span class="c1"># with pipes (`|`), e.g.:</span><span class="w"> +</span><span class="k">set</span><span class="w"> </span><span class="nv">var1</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="p">{</span><span class="err">|</span><span class="nv">First</span><span class="err">|</span><span class="p">:</span><span class="w"> </span><span class="s2">"Jon"</span><span class="p">,</span><span class="w"> </span><span class="err">|</span><span class="nv">Last</span><span class="err">|</span><span class="p">:</span><span class="w"> </span><span class="s2">"Voight"</span><span class="p">}</span><span class="w"> +</span><span class="k">set</span><span class="w"> </span><span class="nv">theResult</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="err">|</span><span class="nv">First</span><span class="err">|</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">var1</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nb">space</span><span class="w"> </span><span class="err">|</span><span class="nv">Last</span><span class="err">|</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">var2</span><span class="w"> +</span></code></pre></div></div> + +<h2 id="first-script">First script</h2> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">on</span> <span class="nb">run</span><span class="w"> </span><span class="c1"># explicit on run handler, responding to double clicking</span><span class="w"> + </span><span class="nb">delay</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="c1"># delay for 2 seconds</span><span class="w"> + </span><span class="nb">activate</span><span class="w"> </span><span class="c1"># activate the script</span><span class="w"> + </span><span class="nb">display dialog</span><span class="w"> </span><span class="s2">"Hello World!"</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nb">run</span><span class="w"> + +</span><span class="k">on</span> <span class="nb">open</span><span class="w"> </span><span class="p">(</span><span class="nv">theFiles</span><span class="p">)</span><span class="w"> </span><span class="c1"># on open handler, responding to drag-n-drop</span><span class="w"> + </span><span class="k">repeat</span><span class="w"> </span><span class="nv">with</span><span class="w"> </span><span class="nv">aFile</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="nv">theFiles</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">myText</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nb">read</span><span class="w"> </span><span class="nv">file</span><span class="w"> </span><span class="nv">aFiles</span><span class="w"> + </span><span class="nb">display dialog</span><span class="w"> </span><span class="nv">myText</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">repeat</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nb">open</span><span class="w"> + +</span><span class="c1"># to use on idle handler, save it with "Stay open after run handler"</span><span class="w"> +</span><span class="k">on</span> <span class="nv">idle</span><span class="w"> + </span><span class="nb">activate</span><span class="w"> + </span><span class="nb">display dialog</span><span class="w"> </span><span class="s2">"Join us soon"</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="c1"># rerun this block 3 seconds later until manualy quit</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nv">idle</span><span class="w"> +</span></code></pre></div></div> + +<h2 id="commenting">Commenting</h2> + +<p>Block comment:</p> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="cm">(*</span><span class="w"> + </span><span class="nv">Version</span><span class="w"> </span><span class="nv">History</span><span class="w"> + </span><span class="nv">This</span><span class="w"> </span><span class="ow">is</span><span class="w"> </span><span class="nb">the</span><span class="w"> </span><span class="nb">first</span><span class="w"> </span><span class="nv">build</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="k">my</span><span class="w"> </span><span class="nv">script</span><span class="w"> +</span><span class="o">*</span><span class="p">)</span><span class="w"> +</span></code></pre></div></div> + +<p>in line comment: led by <code class="language-plaintext highlighter-rouge">--</code> or <code class="language-plaintext highlighter-rouge">#</code></p> + +<h2 id="repeat-loops">Repeat loops</h2> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">on</span> <span class="nb">run</span><span class="w"> + </span><span class="k">repeat</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="k">times</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">repeat</span><span class="w"> + + </span><span class="k">repeat</span><span class="w"> </span><span class="nv">with</span><span class="w"> </span><span class="nv">i</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="mi">3</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">repeat</span><span class="w"> + + </span><span class="k">set</span><span class="w"> </span><span class="nv">myList</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="p">{</span><span class="s2">"Jason"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Joan"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Jack"</span><span class="p">}</span><span class="w"> + </span><span class="k">repeat</span><span class="w"> </span><span class="nv">with</span><span class="w"> </span><span class="nv">anItem</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="nv">myList</span><span class="w"> + </span><span class="nb">display dialog</span><span class="w"> </span><span class="s2">"Hello "</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nv">anItem</span><span class="w"> </span><span class="k">as </span><span class="nc">string</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">repeat</span><span class="w"> + + </span><span class="k">set</span><span class="w"> </span><span class="nv">test</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nb">true</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">i</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="mi">1</span><span class="w"> + </span><span class="k">repeat</span><span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="nv">test</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">true</span><span class="w"> + </span><span class="k">if</span><span class="w"> </span><span class="nv">i</span><span class="w"> </span><span class="o">>=</span><span class="w"> </span><span class="mi">4</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">test</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nb">false</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">if</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">i</span><span class="w"> </span><span class="nv">tto</span><span class="w"> </span><span class="nv">i</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">repeat</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nb">run</span><span class="w"> +</span></code></pre></div></div> + +<p>Use <code class="language-plaintext highlighter-rouge">exit repeat</code> to break out of <code class="language-plaintext highlighter-rouge">repeat</code> earlier.</p> + +<h2 id="conditionals">Conditionals</h2> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">on</span> <span class="nb">run</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">x</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="mi">6</span><span class="w"> + </span><span class="k">if</span><span class="w"> </span><span class="nv">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">6</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="nb">display dialog</span><span class="w"> </span><span class="s2">"x is 6"</span><span class="w"> + </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="nv">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="nb">display dialog</span><span class="w"> </span><span class="s2">"x is 5"</span><span class="w"> + </span><span class="k">else</span><span class="w"> + </span><span class="nb">display dialog</span><span class="w"> </span><span class="s2">"x is neither 5 nor 6"</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">if</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nb">run</span><span class="w"> +</span></code></pre></div></div> + +<h2 id="error-handling">Error handling</h2> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">on</span> <span class="nb">run</span><span class="w"> + </span><span class="k">try</span><span class="w"> </span><span class="c1"># ignore quietly errors and break out of try block</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">myDemo</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="s2">"Hello"</span><span class="w"> + </span><span class="nb">display dialog</span><span class="w"> </span><span class="nv">myTest</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">try</span><span class="w"> + + </span><span class="k">try</span><span class="w"> + </span><span class="nb">display dialog</span><span class="w"> </span><span class="nv">myTest</span><span class="w"> + </span><span class="nb">on</span><span class="w"> </span><span class="k">error</span><span class="w"> </span><span class="nv">errName</span><span class="w"> + </span><span class="nb">display dialog</span><span class="w"> </span><span class="nv">errName</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">try</span><span class="w"> + + </span><span class="k">try</span><span class="w"> + </span><span class="k">if</span><span class="w"> </span><span class="nv">myDemo</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"Hello"</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="c1"># this will raise error "message" with errName assigned "message"</span><span class="w"> + </span><span class="k">error</span><span class="w"> </span><span class="s2">"message"</span><span class="w"> + </span><span class="c1"># or phrased as</span><span class="w"> + </span><span class="c1"># error "message" number -1000</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">if</span><span class="w"> + </span><span class="nb">on</span><span class="w"> </span><span class="k">error</span><span class="w"> </span><span class="nv">errName</span><span class="w"> </span><span class="nv">number</span><span class="w"> </span><span class="nv">n</span><span class="w"> + </span><span class="nb">display dialog</span><span class="w"> </span><span class="nv">errName</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nb">return</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="s2">"with number "</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nv">n</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">try</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nb">run</span><span class="w"> +</span></code></pre></div></div> + +<h2 id="aias-hfs-and-posix">Aias, HFS and POSIX</h2> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">on</span> <span class="nb">run</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">posixPath</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="s2">"/Users/user/Desktop/name.jpg"</span><span class="w"> + + </span><span class="c1"># converts a POSIX path to an HFS file reference</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">hfsFilePathRef</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">posix</span><span class="w"> </span><span class="nv">file</span><span class="w"> </span><span class="nv">posixPath</span><span class="w"> + + </span><span class="c1"># converts a POSIX path to an HFS file path</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">hfsFilePath</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">posix</span><span class="w"> </span><span class="nv">file</span><span class="w"> </span><span class="nv">posixPath</span><span class="w"> </span><span class="k">as </span><span class="nc">string</span><span class="w"> + + </span><span class="c1"># cannot convert POSIX path to alias directly</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">aliasExample</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">hfsPath</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nv">alias</span><span class="w"> + + </span><span class="c1"># convert an HFS path to a POSIX path</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">backToPosix</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">posix</span><span class="w"> </span><span class="na">path</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">hfsFilePath</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nb">run</span><span class="w"> +</span></code></pre></div></div> + +<h2 id="handlers-aka-functions">Handlers (aka functions)</h2> + +<p>A handler is a collection of applescript statements that you give a descriptive name.</p> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">on</span> <span class="nb">run</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">theResult</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">doMath</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s2">"+"</span><span class="p">)</span><span class="w"> + </span><span class="nb">log</span><span class="w"> </span><span class="nv">theResult</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nb">run</span><span class="w"> + +</span><span class="k">on</span> <span class="nv">doMath</span><span class="p">(</span><span class="nv">num1</span><span class="p">,</span><span class="w"> </span><span class="nv">num2</span><span class="p">,</span><span class="w"> </span><span class="nv">mathFunc</span><span class="p">)</span><span class="w"> + </span><span class="k">try</span><span class="w"> + </span><span class="k">if</span><span class="w"> </span><span class="nv">mathFunc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"+"</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="nv">num1</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nv">num2</span><span class="w"> + </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="nv">mathFunc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"-"</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="nv">num1</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="nv">num2</span><span class="w"> + </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="nv">mathFunc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"*"</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="nv">num1</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="nv">num2</span><span class="w"> + </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="nv">mathFunc</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"/"</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="nv">num1</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="nv">num2</span><span class="w"> + </span><span class="k">else</span><span class="w"> + </span><span class="k">error</span><span class="w"> </span><span class="s2">"You must supply a proper math function"</span><span class="w"> + </span><span class="nb">on</span><span class="w"> </span><span class="k">error</span><span class="w"> </span><span class="nv">e</span><span class="w"> + </span><span class="nb">activate</span><span class="w"> + </span><span class="nb">display dialog</span><span class="w"> </span><span class="p">(</span><span class="nv">e</span><span class="w"> </span><span class="k">as </span><span class="nc">string</span><span class="p">)</span><span class="w"> </span><span class="nv">giving</span><span class="w"> </span><span class="nv">up</span><span class="w"> </span><span class="nb">after</span><span class="w"> </span><span class="mi">8</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">try</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nv">doMath</span><span class="w"> +</span></code></pre></div></div> + +<p>Note that <code class="language-plaintext highlighter-rouge">giving up after N</code> means the dialog will disappear itself if not clicking the dialog button after N seconds.</p> + +<p>Within <code class="language-plaintext highlighter-rouge">tell application</code> block, be sure to call custom handler with <code class="language-plaintext highlighter-rouge">my</code> keyword. +For example,</p> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">tell</span><span class="w"> </span><span class="nb">application</span><span class="w"> </span><span class="s2">"Numbers"</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">theResult</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="k">my</span><span class="w"> </span><span class="nv">doMath</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s2">"-"</span><span class="p">)</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="k">tell</span><span class="w"> +</span></code></pre></div></div> + +<h2 id="quit-handler">Quit handler</h2> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">on</span> <span class="nb">run</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">someCondition</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nb">false</span><span class="w"> + </span><span class="k">if</span><span class="w"> </span><span class="nv">someCondition</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="c1"># tell the script to quit;</span><span class="w"> + </span><span class="c1"># this will trigger the `on quit` handler if present</span><span class="w"> + </span><span class="nb">quit</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">if</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nb">run</span><span class="w"> + +</span><span class="k">on</span> <span class="nb">quit</span><span class="w"> + </span><span class="c1"># write cleanup actions your script should run before quitting</span><span class="w"> + </span><span class="nb">activate</span><span class="w"> + </span><span class="nb">display dialog</span><span class="w"> </span><span class="s2">"I quit"</span><span class="w"> </span><span class="nv">giving</span><span class="w"> </span><span class="nv">up</span><span class="w"> </span><span class="nb">after</span><span class="w"> </span><span class="mi">4</span><span class="w"> + </span><span class="c1"># this will quit current script immediately; without this statement</span><span class="w"> + </span><span class="c1"># previous `quit` statement will be caught by `on quit` block and</span><span class="w"> + </span><span class="c1"># quit won't be performed</span><span class="w"> + </span><span class="k">continue</span><span class="w"> </span><span class="nb">quit</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nb">quit</span><span class="w"> +</span></code></pre></div></div> + +<h2 id="case-study-most-recent-modified-file-from-a-folder">Case study: most recent modified file from a folder</h2> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">on</span> <span class="nb">run</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">thePath</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="s2">"/Users/user/Desktop/folder"</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">newestFile</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">getNewestFile</span><span class="p">(</span><span class="nv">thePath</span><span class="p">)</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="nv">newestFile</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nb">run</span><span class="w"> + +</span><span class="k">on</span> <span class="nv">getNewestFile</span><span class="p">(</span><span class="nv">thePath</span><span class="p">)</span><span class="w"> + </span><span class="k">try</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">posixPath</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="k">my</span><span class="w"> </span><span class="nv">convertPathTo</span><span class="p">(</span><span class="nv">thePath</span><span class="p">,</span><span class="w"> </span><span class="s2">"POSIX"</span><span class="p">)</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">theFile</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nb">do shell script</span><span class="w"> </span><span class="s2">"ls -tp "</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nb">quoted form</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">posixPath</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="s2">" | grep -Ev '/' | head -n1"</span><span class="w"> + </span><span class="k">if</span><span class="w"> </span><span class="nv">theFile</span><span class="w"> </span><span class="ow">is not</span><span class="w"> </span><span class="ow">equal to</span><span class="w"> </span><span class="s2">""</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">theFile</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">posixPath</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="s2">"/"</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nv">theFile</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">if</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="nv">theFile</span><span class="w"> + </span><span class="nb">on</span><span class="w"> </span><span class="k">error</span><span class="w"> </span><span class="nv">e</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="s2">""</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">try</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nv">getNewestFile</span><span class="w"> + +</span><span class="k">on</span> <span class="nv">convertPathTo</span><span class="p">(</span><span class="nv">inputPath</span><span class="p">,</span><span class="w"> </span><span class="nv">requestedForm</span><span class="p">)</span><span class="w"> + </span><span class="k">try</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">standardPosixPath</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">POSIX</span><span class="w"> </span><span class="na">path</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">inputPath</span><span class="w"> </span><span class="k">as </span><span class="nc">string</span><span class="w"> + </span><span class="k">if</span><span class="w"> </span><span class="nv">requestedForm</span><span class="w"> </span><span class="ow">contains</span><span class="w"> </span><span class="s2">"posix"</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">POSIX</span><span class="w"> </span><span class="na">path</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">standardPosixPath</span><span class="w"> </span><span class="k">as </span><span class="nc">string</span><span class="w"> + </span><span class="k">if</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> </span><span class="ow">ends with</span><span class="w"> </span><span class="s2">"/"</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nb">character</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="nb">thru</span><span class="w"> </span><span class="o">-</span><span class="mi">2</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> </span><span class="k">as </span><span class="nc">string</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">if</span><span class="w"> + </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="nv">requestedForm</span><span class="w"> </span><span class="ow">contains</span><span class="w"> </span><span class="s2">"alias"</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">POSIX</span><span class="w"> </span><span class="nv">file</span><span class="w"> </span><span class="p">(</span><span class="nv">standardPosixPath</span><span class="p">)</span><span class="w"> </span><span class="k">as </span><span class="nc">string</span><span class="w"> + </span><span class="k">try</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nv">alias</span><span class="w"> + </span><span class="nb">on</span><span class="w"> </span><span class="k">error</span><span class="w"> + </span><span class="k">error</span><span class="w"> </span><span class="s2">"The file \""</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="s2">"\" doesn't exist and can't be returned as \"alias\""</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">try</span><span class="w"> + </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="nv">requestedForm</span><span class="w"> </span><span class="ow">contains</span><span class="w"> </span><span class="s2">"hfs"</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">POSIX</span><span class="w"> </span><span class="nv">file</span><span class="w"> </span><span class="p">(</span><span class="nv">standardPosixPath</span><span class="p">)</span><span class="w"> </span><span class="k">as </span><span class="nc">string</span><span class="w"> + </span><span class="k">else</span><span class="w"> + </span><span class="k">error</span><span class="w"> </span><span class="s2">"Requested path transformation type was an unexpected type"</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">if</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> + </span><span class="nb">on</span><span class="w"> </span><span class="k">error</span><span class="w"> </span><span class="nv">e</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="nb">false</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">try</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nv">convertPathTo</span><span class="w"> +</span></code></pre></div></div> + +<h2 id="case-study-automatically-scale-images">Case study: automatically scale images</h2> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">on</span> <span class="nb">run</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">filePath</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="s2">"/Users/user/Desktop/test.png"</span><span class="w"> + </span><span class="nv">resizeImageWidth</span><span class="p">(</span><span class="nv">fielPath</span><span class="p">,</span><span class="w"> </span><span class="mi">450</span><span class="p">)</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nb">run</span><span class="w"> + +</span><span class="k">on</span> <span class="nv">resizeImageWidth</span><span class="p">(</span><span class="nv">filePath</span><span class="p">,</span><span class="w"> </span><span class="nv">pxls</span><span class="p">)</span><span class="w"> + </span><span class="k">try</span><span class="w"> + </span><span class="nb">do shell script</span><span class="w"> </span><span class="s2">"sips --resampleWidth "</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nv">pxls</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nb">space</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nb">quoted form</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">filePath</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="nb">true</span><span class="w"> + </span><span class="nb">on</span><span class="w"> </span><span class="k">error</span><span class="w"> </span><span class="nv">e</span><span class="w"> + </span><span class="c1"># TODO do something with the error</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="nb">false</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">try</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nv">resizeImageWidth</span><span class="w"> +</span></code></pre></div></div> + +<h2 id="case-study-simple-hot-folder-creation">Case study: simple hot folder creation</h2> + +<p>A hot folder is a folder where a script monitor whatever is drag-n-dropped to that folder and perform actions on the object.</p> + +<div class="language-applescript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">on</span> <span class="nb">run</span><span class="w"> + </span><span class="c1"># any startup activities required to run this script can be done here</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nb">run</span><span class="w"> + +</span><span class="k">on</span> <span class="nv">idle</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">input</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="s2">"/Users/user/Desktop/Hot Folder"</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">output</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="s2">"/Users/user/Desktop/Results"</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">errors</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="s2">"/Users/user/Desktop/Errors"</span><span class="w"> + + </span><span class="k">set</span><span class="w"> </span><span class="nv">filePaths</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">getFiles</span><span class="p">(</span><span class="nv">input</span><span class="p">)</span><span class="w"> + </span><span class="k">if</span><span class="w"> </span><span class="nv">filePaths</span><span class="w"> </span><span class="ow">is not</span><span class="w"> </span><span class="ow">equal to</span><span class="w"> </span><span class="p">{}</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="k">repeat</span><span class="w"> </span><span class="nv">with</span><span class="w"> </span><span class="nv">filePath</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="nv">filePaths</span><span class="w"> + </span><span class="k">if</span><span class="w"> </span><span class="nv">resizeImageWidth</span><span class="p">(</span><span class="nv">filePath</span><span class="w"> </span><span class="k">as </span><span class="nc">string</span><span class="p">,</span><span class="w"> </span><span class="nv">output</span><span class="p">,</span><span class="w"> </span><span class="mi">450</span><span class="p">)</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="nv">removeFile</span><span class="p">(</span><span class="nv">filePath</span><span class="w"> </span><span class="k">as </span><span class="nc">string</span><span class="p">)</span><span class="w"> + </span><span class="k">else</span><span class="w"> + </span><span class="nb">do shell script</span><span class="w"> </span><span class="s2">"mv -f "</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nb">quoted form</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">filePaht</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nb">space</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nb">quoted form</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">errors</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">if</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">repeat</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">if</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="mi">5</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nv">idle</span><span class="w"> + +</span><span class="k">on</span> <span class="nv">convertPathTo</span><span class="p">(</span><span class="nv">inputPath</span><span class="p">,</span><span class="w"> </span><span class="nv">requestedForm</span><span class="p">)</span><span class="w"> + </span><span class="k">try</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">standardPosixPath</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">POSIX</span><span class="w"> </span><span class="na">path</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">inputPath</span><span class="w"> </span><span class="k">as </span><span class="nc">string</span><span class="w"> + </span><span class="k">if</span><span class="w"> </span><span class="nv">requestedForm</span><span class="w"> </span><span class="ow">contains</span><span class="w"> </span><span class="s2">"posix"</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">POSIX</span><span class="w"> </span><span class="na">path</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">standardPosixPath</span><span class="w"> </span><span class="k">as </span><span class="nc">string</span><span class="w"> + </span><span class="k">if</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> </span><span class="ow">ends with</span><span class="w"> </span><span class="s2">"/"</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nb">character</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="nb">thru</span><span class="w"> </span><span class="o">-</span><span class="mi">2</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> </span><span class="k">as </span><span class="nc">string</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">if</span><span class="w"> + </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="nv">requestedForm</span><span class="w"> </span><span class="ow">contains</span><span class="w"> </span><span class="s2">"alias"</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">POSIX</span><span class="w"> </span><span class="nv">file</span><span class="w"> </span><span class="p">(</span><span class="nv">standardPosixPath</span><span class="p">)</span><span class="w"> </span><span class="k">as </span><span class="nc">string</span><span class="w"> + </span><span class="k">try</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nv">alias</span><span class="w"> + </span><span class="nb">on</span><span class="w"> </span><span class="k">error</span><span class="w"> + </span><span class="k">error</span><span class="w"> </span><span class="s2">"The file \""</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="s2">"\" doesn't exist and can't be returned as \"alias\""</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">try</span><span class="w"> + </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="nv">requestedForm</span><span class="w"> </span><span class="ow">contains</span><span class="w"> </span><span class="s2">"hfs"</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">POSIX</span><span class="w"> </span><span class="nv">file</span><span class="w"> </span><span class="p">(</span><span class="nv">standardPosixPath</span><span class="p">)</span><span class="w"> </span><span class="k">as </span><span class="nc">string</span><span class="w"> + </span><span class="k">else</span><span class="w"> + </span><span class="k">error</span><span class="w"> </span><span class="s2">"Requested path transformation type was an unexpected type"</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">if</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="nv">transformedPath</span><span class="w"> + </span><span class="nb">on</span><span class="w"> </span><span class="k">error</span><span class="w"> </span><span class="nv">e</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="nb">false</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">try</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nv">convertPathTo</span><span class="w"> + +</span><span class="k">on</span> <span class="nv">stringToList</span><span class="p">(</span><span class="nv">inputString</span><span class="p">,</span><span class="w"> </span><span class="nv">theDelimiter</span><span class="p">)</span><span class="w"> + </span><span class="k">try</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">tid</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nb">AppleScript</span>'s <span class="nb">text</span><span class="w"> </span><span class="nb">item</span><span class="w"> </span><span class="nv">delimters</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nb">AppleScript</span>'s <span class="nb">text item delimiters</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">theDelimiter</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">theList</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nb">text</span><span class="w"> </span><span class="nb">items</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="p">(</span><span class="nv">inputString</span><span class="w"> </span><span class="k">as </span><span class="nc">string</span><span class="p">)</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nb">AppleScript</span>'s <span class="nb">text item delimiters</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">tid</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="nv">theList</span><span class="w"> + </span><span class="nb">on</span><span class="w"> </span><span class="k">error</span><span class="w"> </span><span class="nv">e</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nb">AppleScript</span>'s <span class="nb">text item delimiters</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">tid</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="p">{}</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">try</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nv">stringToList</span><span class="w"> + +</span><span class="k">on</span> <span class="nv">resizeImageWidth</span><span class="p">(</span><span class="nv">filePath</span><span class="p">,</span><span class="w"> </span><span class="nv">output</span><span class="p">,</span><span class="w"> </span><span class="nv">pxls</span><span class="p">)</span><span class="w"> + </span><span class="k">try</span><span class="w"> + </span><span class="nb">do shell script</span><span class="w"> </span><span class="s2">"sips --resampleWidth "</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nv">pxls</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nb">space</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nb">quoted form</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">filePath</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="s2">" -o "</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nv">qutoed</span><span class="w"> </span><span class="nv">form</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">output</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="nb">true</span><span class="w"> + </span><span class="nb">on</span><span class="w"> </span><span class="k">error</span><span class="w"> </span><span class="nv">e</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="nb">false</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">try</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nv">resizeImageWidth</span><span class="w"> + +</span><span class="k">on</span> <span class="nv">getFiles</span><span class="p">(</span><span class="nv">thePath</span><span class="p">)</span><span class="w"> + </span><span class="k">try</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">posixPath</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="k">my</span><span class="w"> </span><span class="nv">convertPathTo</span><span class="p">(</span><span class="nv">thePath</span><span class="p">,</span><span class="w"> </span><span class="s2">"posix"</span><span class="p">)</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">theFiles</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nb">do shell script</span><span class="w"> </span><span class="s2">"find "</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nb">quoted form</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">posixPath</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="s2">" -type f ! -name \".*\""</span><span class="w"> + </span><span class="k">if</span><span class="w"> </span><span class="nv">theFiles</span><span class="w"> </span><span class="ow">is not</span><span class="w"> </span><span class="ow">equal to</span><span class="w"> </span><span class="s2">""</span><span class="w"> </span><span class="k">then</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">fileList</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">stringToList</span><span class="p">(</span><span class="nv">theFiles</span><span class="p">,</span><span class="w"> </span><span class="nb">return</span><span class="p">)</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">if</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="nv">fileList</span><span class="w"> + </span><span class="nb">on</span><span class="w"> </span><span class="k">error</span><span class="w"> </span><span class="nv">e</span><span class="w"> + </span><span class="c1"># log the error here at some point</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="p">{}</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">try</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nv">getFiles</span><span class="w"> + +</span><span class="k">on</span> <span class="nv">removeFile</span><span class="p">(</span><span class="nv">theFile</span><span class="p">)</span><span class="w"> + </span><span class="k">try</span><span class="w"> + </span><span class="k">set</span><span class="w"> </span><span class="nv">posixPath</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="nv">convertPathTo</span><span class="p">(</span><span class="nv">theFile</span><span class="p">,</span><span class="w"> </span><span class="s2">"posix"</span><span class="p">)</span><span class="w"> + </span><span class="nb">do shell script</span><span class="w"> </span><span class="s2">"rm -f "</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="nb">quoted form</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nv">posixPath</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="nb">true</span><span class="w"> + </span><span class="nb">on</span><span class="w"> </span><span class="k">error</span><span class="w"> </span><span class="nv">e</span><span class="w"> + </span><span class="nb">return</span><span class="w"> </span><span class="nb">false</span><span class="w"> + </span><span class="k">end</span><span class="w"> </span><span class="k">try</span><span class="w"> +</span><span class="k">end</span><span class="w"> </span><span class="nv">removeFile</span><span class="w"> +</span></code></pre></div></div> + + </div> +<a class="u-url" href="/2023/03/05/learn-applescript-for-beginners.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2023/03/27/pizzahut-free-soda.html b/2023/03/27/pizzahut-free-soda.html new file mode 100644 index 000000000..aee52f052 --- /dev/null +++ b/2023/03/27/pizzahut-free-soda.html @@ -0,0 +1,112 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>必胜客餐厅隐藏福利 – 苏打水 | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="必胜客餐厅隐藏福利 – 苏打水"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="今天去吃必胜客,邻座客人管服务员要了一杯苏打水,才刚刚知道必胜客有免费苏打水提供。在百度搜了一圈似乎鲜有帖子提到这点,看来知道的人不多,邻座客人也是前必胜客服务员,才知道有苏打水的。"> +<meta property="og:description" content="今天去吃必胜客,邻座客人管服务员要了一杯苏打水,才刚刚知道必胜客有免费苏打水提供。在百度搜了一圈似乎鲜有帖子提到这点,看来知道的人不多,邻座客人也是前必胜客服务员,才知道有苏打水的。"> +<link rel="canonical" href="https://kkew3.github.io/2023/03/27/pizzahut-free-soda.html"> +<meta property="og:url" content="https://kkew3.github.io/2023/03/27/pizzahut-free-soda.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2023-03-27T06:26:05+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="必胜客餐厅隐藏福利 – 苏打水"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2023-03-27T06:26:05+00:00","datePublished":"2023-03-27T06:26:05+00:00","description":"今天去吃必胜客,邻座客人管服务员要了一杯苏打水,才刚刚知道必胜客有免费苏打水提供。在百度搜了一圈似乎鲜有帖子提到这点,看来知道的人不多,邻座客人也是前必胜客服务员,才知道有苏打水的。","headline":"必胜客餐厅隐藏福利 – 苏打水","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2023/03/27/pizzahut-free-soda.html"},"url":"https://kkew3.github.io/2023/03/27/pizzahut-free-soda.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">必胜客餐厅隐藏福利 -- 苏打水</h1> + <span><a href="https://kkew3.github.io/tags/misc"><code class="highlighter-rouge"><nobr>misc</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2023-03-27T06:26:05+00:00" itemprop="datePublished">Mar 27, 2023 at 06:26:05 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>今天去吃必胜客,邻座客人管服务员要了一杯苏打水,才刚刚知道必胜客有免费苏打水提供。在百度搜了一圈似乎鲜有帖子提到这点,看来知道的人不多,邻座客人也是前必胜客服务员,才知道有苏打水的。</p> + +<p>所谓苏打水,这里指的是冰的碳酸氢钠溶液(应该是吧?),里面有两片柠檬促使其放出二氧化碳。喝着有点酸,但不是柠檬的酸味;有一点辣,但也不是汽水的感觉。喝着味道不错,但回味不是很好。尽管单独喝不是很合我口味,我发现它和饭一起喝非常解腻,非常好喝。苏打水是免费的,但不默认提供,菜单上也没有,需要向服务员要,可以说是隐藏福利了。</p> + +<p>希望这篇文章能让更多的人知道它的存在。</p> + +<p><img src="/assets/posts_imgs/pizzahut-free-soda.jpg" alt="苏打水"></p> + + </div> +<a class="u-url" href="/2023/03/27/pizzahut-free-soda.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2023/04/26/how-to-decide-the-type-of-a-pokemon-quickly.html b/2023/04/26/how-to-decide-the-type-of-a-pokemon-quickly.html new file mode 100644 index 000000000..6fd41cc5f --- /dev/null +++ b/2023/04/26/how-to-decide-the-type-of-a-pokemon-quickly.html @@ -0,0 +1,189 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>如何尽可能快地确定宝可梦属性 | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="如何尽可能快地确定宝可梦属性"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="确定宝可梦属性的方法"> +<meta property="og:description" content="确定宝可梦属性的方法"> +<link rel="canonical" href="https://kkew3.github.io/2023/04/26/how-to-decide-the-type-of-a-pokemon-quickly.html"> +<meta property="og:url" content="https://kkew3.github.io/2023/04/26/how-to-decide-the-type-of-a-pokemon-quickly.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2023-04-26T10:12:07+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="如何尽可能快地确定宝可梦属性"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2023-04-26T10:12:07+00:00","datePublished":"2023-04-26T10:12:07+00:00","description":"确定宝可梦属性的方法","headline":"如何尽可能快地确定宝可梦属性","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2023/04/26/how-to-decide-the-type-of-a-pokemon-quickly.html"},"url":"https://kkew3.github.io/2023/04/26/how-to-decide-the-type-of-a-pokemon-quickly.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +<script>MathJax={"tex":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]]},"svg":{"fontCache":"global"}}</script><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">如何尽可能快地确定宝可梦属性</h1> + <span><a href="https://kkew3.github.io/tags/misc"><code class="highlighter-rouge"><nobr>misc</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2023-04-26T10:12:07+00:00" itemprop="datePublished">Apr 26, 2023 at 10:12:07 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <h2 id="确定宝可梦属性的方法">确定宝可梦属性的方法</h2> + +<p>可用宝可梦对攻击的反应确定宝可梦的属性. +单一属性宝可梦对单一属性攻击的反应有以下四种: 无效, 抵抗, 一般, 有效; 可用乘数 0, 1/2, 1, 2 表示. +双属性宝可梦对单一属性攻击的反应为以上四个乘数的两两相乘的结果, 分别为 0, 1/4, 1/2, 1, 2, 4, 即无效, 非常抵抗, 抵抗, 一般, 有效, 非常有效. +用乘法表示属性乘数的叠加不是很方便, 故对乘数取底数为 2 的对数, 变为 $-\infty$, -2, -1, 0, 1, 2 六种反应, 下文会使这样操作方便的原因变得显而易见.</p> + +<h2 id="数学表示">数学表示</h2> + +<p>给定属性克制矩阵 $\mathbf A$, 其中第 $i$ 行第 $j$ 列的元素 $a_{ij} \in \{-\infty, -2, -1, 0, 1, 2\}$ 表示单一属性为 $j$ 的宝可梦对属性为 $i$ 的攻击的对数抵抗乘数. +因为一共有 18 种属性, 所以 $\mathbf A$ 的维度为 $18 \times 18$. +使用 one-hot encoding 以及其加性叠加表示宝可梦的单一及双属性, 向量为 18 维; +例如 $(0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)^\top$ 表示宝可梦具有第 2 种和第 4 种属性, 为双属性宝可梦. +令宝可梦属性矩阵 $\mathbf Q$ 的每一列表示一种宝可梦属性的枚举; 由于所有单一属性和双属性的个数为 $18 + \binom{18}{2} = 171$, 故其维度为 $18 \times 171$. +令 $18 \times 18$ 单位矩阵 $\mathbf I$ 的第 $i$ 列为 $\boldsymbol e_i$.</p> + +<p>由于双属性宝可梦对攻击的对数抵抗乘数的叠加是加性的, 因此可用矩阵乘法自然地表示. +例如,</p> + +\[\boldsymbol r = \boldsymbol e_i^\top \mathbf A \mathbf Q\] + +<p>表示在第 $i$ 种属性的攻击下各属性宝可梦的对数抵抗乘数. +如果各乘数在 $\boldsymbol r$ 中是唯一的, 那么便可唯一地确定宝可梦的属性. +即使只有一个元素子集中的乘数唯一, 也能排除掉这些宝可梦属性, 以便进一步确定.</p> + +<h2 id="确定宝可梦属性的算法">确定宝可梦属性的算法</h2> + +<p>令 $s$ 为 $1,\dots,18$ 的一个排列, 使得第 $j$ 次尝试使用属性为 $s(j)$ 的攻击. +确定宝可梦属性的解即为形似 $s$ 的一个排列. +显然, 暴力枚举具有 $O(n!)$ 复杂度, 不可行. +我们可使用贪心策略确定宝可梦属性.</p> + +<p>初始化剩余宝可梦属性矩阵 $\mathbf Q^{(0)} = \mathbf Q$, 已尝试过的攻击属性集合 $T^{(0)} = \varnothing$, 已确定的攻击序列为 $s^{(0)} = ()$. +假设在第 $k$ 次尝试前, 剩余宝可梦属性矩阵为 $\mathbf Q^{(k-1)}$, 其为原宝可梦属性矩阵 $\mathbf Q$ 的列的子集; 已尝试过的攻击属性集合为 $T^{(k-1)}$, 其元素属于 $T = \{1,\dots,18\}$; 已确定的攻击序列为 $s^{(k-1)}$. +如果 $\mathbf Q^{(k-1)}$ 的列数为零, 算法结束. +否则, $\forall i \in T \,\backslash\, T^{(k)}$, 计算 $\boldsymbol r_i = \boldsymbol e_i^\top \mathbf A \mathbf Q^{(k)}$, 使得 $\boldsymbol r_i$ 中的重复元素数目最小, 令所对应的 $i$ 为 $i^\ast$. +令 $s^{(k)} = s^{(k-1)} \cup i^\ast$, $T^{(k)} = T^{(k-1)} \cup \{i^\ast\}$, $Q^{(k)}$等于去掉在 $\boldsymbol r_{i^\ast}$ 中元素唯一的列的 $Q^{(k-1)}$.</p> + +<p>算法实现时可用一足够小的负数, 例如 -20, 表示 $-\infty$, 然后在 $\boldsymbol r$ 中把所有足够小的数重置为 -20, 以模拟 $-\infty$ 加减任何数 (注意我们的 operand 集合) 都为其本身.</p> + +<p>Python 实现:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="n">np</span> + +<span class="n">n</span> <span class="o">=</span> <span class="mi">18</span> + +<span class="k">def</span> <span class="nf">calc_r</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">A</span><span class="p">,</span> <span class="n">Q</span><span class="p">):</span> + <span class="n">r</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">eye</span><span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">int</span><span class="p">)[</span><span class="n">i</span><span class="p">:</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">].</span><span class="n">dot</span><span class="p">(</span><span class="n">A</span><span class="p">).</span><span class="n">dot</span><span class="p">(</span><span class="n">Q</span><span class="p">)</span> + <span class="n">r</span><span class="p">[</span><span class="n">r</span> <span class="o"><</span> <span class="o">-</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="o">-</span><span class="mi">20</span> + <span class="k">return</span> <span class="n">r</span> + +<span class="k">def</span> <span class="nf">shrink_Q</span><span class="p">(</span><span class="n">r</span><span class="p">,</span> <span class="n">Q</span><span class="p">):</span> + <span class="n">_</span><span class="p">,</span> <span class="n">v</span><span class="p">,</span> <span class="n">c</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">unique</span><span class="p">(</span><span class="n">r</span><span class="p">,</span> <span class="n">return_inverse</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">return_counts</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span> + <span class="k">return</span> <span class="n">Q</span><span class="p">[:,</span> <span class="n">c</span><span class="p">[</span><span class="n">v</span><span class="p">]</span> <span class="o">></span> <span class="mi">1</span><span class="p">]</span> + +<span class="n">A</span> <span class="o">=</span> <span class="p">...</span> +<span class="n">Q</span> <span class="o">=</span> <span class="p">...</span> + +<span class="k">def</span> <span class="nf">greedy</span><span class="p">():</span> + <span class="n">s</span> <span class="o">=</span> <span class="p">[]</span> + <span class="n">T</span> <span class="o">=</span> <span class="nb">set</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">))</span> + <span class="k">while</span> <span class="n">Q</span><span class="p">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> + <span class="n">best_i</span> <span class="o">=</span> <span class="bp">None</span> + <span class="n">min_next_Q</span> <span class="o">=</span> <span class="n">Q</span> + <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">T</span><span class="p">:</span> + <span class="n">next_Q</span> <span class="o">=</span> <span class="n">shrink_Q</span><span class="p">(</span><span class="n">calc_r</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">A</span><span class="p">,</span> <span class="n">Q</span><span class="p">),</span> <span class="n">Q</span><span class="p">)</span> + <span class="k">if</span> <span class="n">next_Q</span><span class="p">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o"><</span> <span class="n">min_next_Q</span><span class="p">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span> + <span class="n">min_next_Q</span> <span class="o">=</span> <span class="n">next_Q</span> + <span class="n">best_i</span> <span class="o">=</span> <span class="n">i</span> + <span class="n">Q</span> <span class="o">=</span> <span class="n">min_next_Q</span> + <span class="n">s</span><span class="p">.</span><span class="n">append</span><span class="p">(</span><span class="n">best_i</span><span class="p">)</span> + <span class="n">T</span><span class="p">.</span><span class="n">remove</span><span class="p">(</span><span class="n">best_i</span><span class="p">)</span> + <span class="k">return</span> <span class="n">s</span> +</code></pre></div></div> + +<h2 id="原问题的扩展">原问题的扩展</h2> + +<p>通过对算法简单的扩展, 还能回答以下问题:</p> + +<ul> + <li>已知宝可梦具有某种属性, 想确定其是否具有第二属性, 如果有, 是什么属性: 通过移除矩阵 $\mathbf Q$ 的相应列解决</li> + <li>希望只使用具有某些属性的攻击确定宝可梦的属性: 通过移除集合 $T$ 的相应元素解决</li> +</ul> + + </div> +<a class="u-url" href="/2023/04/26/how-to-decide-the-type-of-a-pokemon-quickly.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2023/07/05/connect-to-jupyter-notebook-on-wsl2-from-another-machine-within-wlan.html b/2023/07/05/connect-to-jupyter-notebook-on-wsl2-from-another-machine-within-wlan.html new file mode 100644 index 000000000..13f5231f7 --- /dev/null +++ b/2023/07/05/connect-to-jupyter-notebook-on-wsl2-from-another-machine-within-wlan.html @@ -0,0 +1,140 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>在 WLAN 下从另一台计算机连接到 WSL2 中的 Jupyter Notebook | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="在 WLAN 下从另一台计算机连接到 WSL2 中的 Jupyter Notebook"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="摘要"> +<meta property="og:description" content="摘要"> +<link rel="canonical" href="https://kkew3.github.io/2023/07/05/connect-to-jupyter-notebook-on-wsl2-from-another-machine-within-wlan.html"> +<meta property="og:url" content="https://kkew3.github.io/2023/07/05/connect-to-jupyter-notebook-on-wsl2-from-another-machine-within-wlan.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2023-07-05T07:57:59+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="在 WLAN 下从另一台计算机连接到 WSL2 中的 Jupyter Notebook"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2023-07-05T07:57:59+00:00","datePublished":"2023-07-05T07:57:59+00:00","description":"摘要","headline":"在 WLAN 下从另一台计算机连接到 WSL2 中的 Jupyter Notebook","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2023/07/05/connect-to-jupyter-notebook-on-wsl2-from-another-machine-within-wlan.html"},"url":"https://kkew3.github.io/2023/07/05/connect-to-jupyter-notebook-on-wsl2-from-another-machine-within-wlan.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">在 WLAN 下从另一台计算机连接到 WSL2 中的 Jupyter Notebook</h1> + <span><a href="https://kkew3.github.io/tags/dev--network"><code class="highlighter-rouge"><nobr>dev/network</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2023-07-05T07:57:59+00:00" itemprop="datePublished">Jul 5, 2023 at 07:57:59 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <h2 id="摘要">摘要</h2> + +<p><a href="https://kkew3.github.io/network/2023/07/05/connect-to-wsl2-from-another-machine-within-wlan.html">上一篇文章</a>介绍了如何从本地连接到同一 WLAN 下的另一台 Windows 计算机中的 WSL2 实例. +这篇文章进一步介绍如何连接到该 WSL2 实例中运行的 <a href="https://jupyter.org">Jupyter Notebook</a>.</p> + +<h2 id="原理">原理</h2> + +<ol> + <li>如上一篇文章所述建立由本地到 Windows (IP 地址本文为 <code class="language-plaintext highlighter-rouge">192.168.0.105</code>, 用户名本文为 <code class="language-plaintext highlighter-rouge">ubuntu</code>) 的 SSH 连接 (端口本文为 <code class="language-plaintext highlighter-rouge">4000</code>)</li> + <li>在 WSL2 实例的端口 <code class="language-plaintext highlighter-rouge">8890</code> 运行无浏览器的 Jupyter Notebook</li> + <li>在本地建立将本地端口 (本文为 <code class="language-plaintext highlighter-rouge">8889</code>) 转发到远程 Windows 端口 <code class="language-plaintext highlighter-rouge">8890</code> 的 SSH 隧道</li> + <li>在本地 <code class="language-plaintext highlighter-rouge">localhost:8889</code> 访问远程 Jupyter Notebook</li> +</ol> + +<h2 id="具体流程">具体流程</h2> + +<h3 id="运行-jupyter-notebook">运行 Jupyter Notebook</h3> + +<p><em>以下命令在 WSL2 的终端中执行</em></p> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>jupyter notebook <span class="nt">--no-browser</span> <span class="nt">--port</span> 8890 +</code></pre></div></div> + +<h3 id="建立-ssh-隧道">建立 SSH 隧道</h3> + +<p><em>以下命令在本地终端执行</em></p> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ssh <span class="nt">-p</span> 4000 <span class="nt">-NL</span> 8889\:localhost\:8890 ubuntu@192.168.0.105 +</code></pre></div></div> + +<h2 id="参考">参考</h2> + +<ul> + <li><a href="https://medium.com/@apbetahouse45/how-to-run-jupyter-notebooks-on-remote-server-part-1-ssh-a2be0232c533">关于 SSH 隧道</a></li> +</ul> + + </div> +<a class="u-url" href="/2023/07/05/connect-to-jupyter-notebook-on-wsl2-from-another-machine-within-wlan.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2023/07/05/connect-to-wsl2-from-another-machine-within-wlan.html b/2023/07/05/connect-to-wsl2-from-another-machine-within-wlan.html new file mode 100644 index 000000000..74c930516 --- /dev/null +++ b/2023/07/05/connect-to-wsl2-from-another-machine-within-wlan.html @@ -0,0 +1,265 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>从另一台计算机 SSH 连接到 WSL2 服务器 | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="从另一台计算机 SSH 连接到 WSL2 服务器"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="原理"> +<meta property="og:description" content="原理"> +<link rel="canonical" href="https://kkew3.github.io/2023/07/05/connect-to-wsl2-from-another-machine-within-wlan.html"> +<meta property="og:url" content="https://kkew3.github.io/2023/07/05/connect-to-wsl2-from-another-machine-within-wlan.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2023-07-05T04:59:03+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="从另一台计算机 SSH 连接到 WSL2 服务器"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2023-07-05T04:59:03+00:00","datePublished":"2023-07-05T04:59:03+00:00","description":"原理","headline":"从另一台计算机 SSH 连接到 WSL2 服务器","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2023/07/05/connect-to-wsl2-from-another-machine-within-wlan.html"},"url":"https://kkew3.github.io/2023/07/05/connect-to-wsl2-from-another-machine-within-wlan.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">从另一台计算机 SSH 连接到 WSL2 服务器</h1> + <span><a href="https://kkew3.github.io/tags/dev--network"><code class="highlighter-rouge"><nobr>dev/network</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2023-07-05T04:59:03+00:00" itemprop="datePublished">Jul 5, 2023 at 04:59:03 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <h2 id="原理">原理</h2> + +<ol> + <li>在 Windows 上设置防火墙允许接入端口 (本文暂定为 4000)</li> + <li>在 Windows 上设置端口转发从 4000 至 WSL2 的 IP 地址的端口 22 (即 SSH 的默认端口)</li> + <li>在 WSL2 中设置 SSH 服务器, 监听其端口 22</li> + <li>从另一台计算机 SSH 到 Windows 的 IP 地址的端口 4000</li> +</ol> + +<h2 id="具体流程">具体流程</h2> + +<h3 id="设置-wsl2-中的-ssh-服务器">设置 WSL2 中的 SSH 服务器</h3> + +<p><em>以下命令在 WSL2 的终端中执行</em></p> + +<p>安装 <code class="language-plaintext highlighter-rouge">openssh-server</code>:</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>sudo apt update +sudo apt install openssh-server +</code></pre></div></div> + +<p>设置开机启动 <code class="language-plaintext highlighter-rouge">systemd</code>. +方法是在 <code class="language-plaintext highlighter-rouge">/etc/wsl.conf</code> 中写入:</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[boot] +systemd=true +</code></pre></div></div> + +<p>可以直接用 <code class="language-plaintext highlighter-rouge">vim</code>, <code class="language-plaintext highlighter-rouge">nano</code> 等编辑, 也可</p> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="o">{</span> <span class="nb">echo</span> <span class="s1">'[boot]'</span><span class="p">;</span> <span class="nb">echo</span> <span class="s1">'systemd=true'</span><span class="p">;</span> <span class="o">}</span> | <span class="nb">sudo tee</span> /etc/wsl.conf +</code></pre></div></div> + +<p>但注意不要覆盖已存在的 <code class="language-plaintext highlighter-rouge">/etc/wsl.conf</code> 文件.</p> + +<p><em>以下命令在 Windows 终端中执行 (可能需要管理员权限)</em></p> + +<p>关闭 WSL2:</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>wsl --shutdown +</code></pre></div></div> + +<p><em>以下命令在 WSL2 的终端中执行</em></p> + +<p>然后打开 WSL2, 执行</p> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>service ssh status +</code></pre></div></div> + +<p>如果输出中包含 “Active: active (running)”, 说明 SSH 服务器安装成功. +否则, 可以尝试以下命令手动开始 ssh 服务.</p> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nb">sudo </span>service ssh start +</code></pre></div></div> + +<h3 id="设置-windows-防火墙以允许从其它计算机接入端口-例如-4000">设置 Windows 防火墙以允许从其它计算机接入端口 (例如 4000)</h3> + +<p><em>以下命令在 Windows 终端中执行 (需要管理员权限)</em></p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>netsh advfirewall firewall add rule name="WSL SSH" dir=in action=allow protocol=TCP localport=4000 +</code></pre></div></div> + +<p>其中 <code class="language-plaintext highlighter-rouge">name="WSL SSH"</code> 部分的名字可任选. +如果输出为 “确定” (或其它 locale 下的同等含义的输出), 说明设置成功. +日后若想删除可以去控制面板的 “高级安全 Windows Defender 防火墙” 的 “入站规则” 中查看/编辑/删除.</p> + +<h3 id="设置-windows-的端口转发">设置 Windows 的端口转发</h3> + +<p><em>以下命令在 Windows 终端中执行 (需要管理员权限)</em></p> + +<p>查看 WSL2 的 IP 地址:</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>wsl hostname -I +</code></pre></div></div> + +<p>本文假设该 IP 地址为 <code class="language-plaintext highlighter-rouge">172.21.199.198</code>. +旧版本的 <code class="language-plaintext highlighter-rouge">wsl</code> 可能会返回两个 IP 地址, 此时选择第一个.</p> + +<p>设置从 4000 (见上文) 到 22 的端口转发:</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=4000 connectaddress=172.21.199.198 connectport=22 +</code></pre></div></div> + +<p>确定设置成功:</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>netsh interface portproxy show v4tov4 +</code></pre></div></div> + +<h3 id="查看-windows-的-ip-地址和-wsl-的用户名">查看 Windows 的 IP 地址和 WSL 的用户名</h3> + +<p><em>以下命令在 Windows 终端中执行</em></p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ipconfig +</code></pre></div></div> + +<p>在 “无线局域网适配器 WLAN:” 一节中可见 “IPv4 地址”, 本文为 <code class="language-plaintext highlighter-rouge">192.168.0.105</code>.</p> + +<p><em>以下命令在 WSL2 的终端中执行</em></p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>echo "$USER" +</code></pre></div></div> + +<p>可得 WSL 用户名, 本文为 <code class="language-plaintext highlighter-rouge">ubuntu</code>.</p> + +<h3 id="从另一台计算机-ssh-接入">从另一台计算机 SSH 接入</h3> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ssh <span class="nt">-p</span> 4000 ubuntu@192.168.0.105 +</code></pre></div></div> + +<p>会提示输入密码, 此时输入 WSL2 的密码即可.</p> + +<h3 id="免密码登录-适用于-macos">免密码登录 (适用于 macOS)</h3> + +<p><em>以下命令在 macOS 终端中执行</em></p> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ssh-copy-id <span class="nt">-p</span> 4000 ubuntu@192.168.0.105 +</code></pre></div></div> + +<p>按提示确认并输入密码. +然后打开 <code class="language-plaintext highlighter-rouge">~/.ssh/config</code>, 并输入以下内容</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Host my-wsl + User ubuntu + Port 4000 + HostName 192.168.0.105 + IdentityFile ~/.ssh/id_rsa + UseKeychain yes +</code></pre></div></div> + +<p>其中 <code class="language-plaintext highlighter-rouge">Host my-wsl</code> 处的名字随意. +<code class="language-plaintext highlighter-rouge">UseKeychain yes</code> 是免密码的关键所在. +<code class="language-plaintext highlighter-rouge">ubuntu</code>, <code class="language-plaintext highlighter-rouge">4000</code>, <code class="language-plaintext highlighter-rouge">192.168.0.105</code> 三个值的选用见上文.</p> + +<p>然后就可以</p> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ssh my-wsl +</code></pre></div></div> + +<p>登录 Windows 的 WSL2 了.</p> + +<h2 id="脚本">脚本</h2> + +<h3 id="自动更新-windows-的端口转发">自动更新 Windows 的端口转发</h3> + +<p>WSL 的 IP 地址可能会变化, 因此每次重启 Windows 后可能需要更新端口转发规则. +Powershell 脚本:</p> + +<div class="language-powershell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$wsl_ip</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">wsl</span><span class="w"> </span><span class="nx">hostname</span><span class="w"> </span><span class="nt">-I</span><span class="w"> +</span><span class="n">netsh</span><span class="w"> </span><span class="nx">interface</span><span class="w"> </span><span class="nx">portproxy</span><span class="w"> </span><span class="nx">add</span><span class="w"> </span><span class="nx">v4tov4</span><span class="w"> </span><span class="nx">listenaddress</span><span class="o">=</span><span class="mf">0.0</span><span class="o">.</span><span class="nf">0</span><span class="o">.</span><span class="nf">0</span><span class="w"> </span><span class="n">listenport</span><span class="o">=</span><span class="mi">4000</span><span class="w"> </span><span class="n">connectaddress</span><span class="o">=</span><span class="nv">$wsl_ip</span><span class="w"> </span><span class="n">connectport</span><span class="o">=</span><span class="mi">22</span><span class="w"> +</span></code></pre></div></div> + +<p>运行时需要管理员权限.</p> + +<h2 id="参考">参考</h2> + +<ul> + <li><a href="https://medium.com/geekculture/enable-ssh-access-into-wsl-from-a-remote-computer-f2e4a962430">这篇博客</a></li> + <li><a href="https://learn.microsoft.com/en-us/windows/wsl/networking#accessing-a-wsl-2-distribution-from-your-local-area-network-lan">微软 WSL 文档</a></li> + <li><a href="https://learn.microsoft.com/en-us/windows-server/networking/technologies/netsh/netsh-interface-portproxy">微软 netsh 文档</a></li> +</ul> + + </div> +<a class="u-url" href="/2023/07/05/connect-to-wsl2-from-another-machine-within-wlan.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2023/08/05/compute-svm-intercept.html b/2023/08/05/compute-svm-intercept.html new file mode 100644 index 000000000..931dc59d6 --- /dev/null +++ b/2023/08/05/compute-svm-intercept.html @@ -0,0 +1,376 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>How to compute the intercept of C-SVM in primal and dual formulations | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="How to compute the intercept of C-SVM in primal and dual formulations"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="Compute intercept in primal formulation"> +<meta property="og:description" content="Compute intercept in primal formulation"> +<link rel="canonical" href="https://kkew3.github.io/2023/08/05/compute-svm-intercept.html"> +<meta property="og:url" content="https://kkew3.github.io/2023/08/05/compute-svm-intercept.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2023-08-05T08:08:26+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="How to compute the intercept of C-SVM in primal and dual formulations"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2023-08-05T08:08:26+00:00","datePublished":"2023-08-05T08:08:26+00:00","description":"Compute intercept in primal formulation","headline":"How to compute the intercept of C-SVM in primal and dual formulations","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2023/08/05/compute-svm-intercept.html"},"url":"https://kkew3.github.io/2023/08/05/compute-svm-intercept.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +<script>MathJax={"tex":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]]},"svg":{"fontCache":"global"}}</script><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">How to compute the intercept of C-SVM in primal and dual formulations</h1> + <span><a href="https://kkew3.github.io/tags/ml--svm"><code class="highlighter-rouge"><nobr>machine learning/svm</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2023-08-05T08:08:26+00:00" itemprop="datePublished">Aug 5, 2023 at 08:08:26 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <h2 id="compute-intercept-in-primal-formulation">Compute intercept in primal formulation</h2> + +<p>The primal SVM problem is:</p> + +\[\min_{\boldsymbol w,b,\boldsymbol\xi} \frac{1}{2}\boldsymbol w^\top\boldsymbol w+C\sum_{i=1}^m\xi_i;\quad\text{s.t. }\ y_i f(\boldsymbol x_i) \ge 1-\xi_i,\ \xi_i \ge 0 \,,\tag{1}\] + +<p>where the decision function $f(\boldsymbol x) \equiv \boldsymbol w^\top\phi(\boldsymbol x) + b$. +The Lagrangian is:</p> + +\[L(\boldsymbol w,b,\boldsymbol\xi,\boldsymbol\alpha,\boldsymbol\mu) = \frac{1}{2}\boldsymbol w^\top\boldsymbol w + C\sum_{i=1}^m\xi_i + \sum_{i=1}^m\alpha_i\big(1-\xi_i-y_i f(\boldsymbol x_i)\big) - \sum_{i=1}^m\mu_i\xi_i\,,\] + +<p>where $\alpha_i \ge 0$, $\mu_i \ge 0$. +The Karush-Kuhn-Tucker (KKT) conditions are:</p> + +\[\begin{cases} +\boldsymbol w=\sum_{i=1}^m\alpha_i y_i \phi(\boldsymbol x_i) &\text{(stationarity)}\\ +0=\sum_{i=1}^m\alpha_i y_i &\text{(stationarity)}\\ +C=\alpha_i+\mu_i &\text{(stationarity)}\\ +0=\alpha_i(y_i f(\boldsymbol x_i)-1+\xi_i) &\text{(complementary)}\\ +0=\mu_i\xi_i &\text{(complementary)}\\ +y_i f(\boldsymbol x_i)-1+\xi_i \ge 0 &\text{(primal feasibility)}\\ +\xi_i \ge 0 &\text{(primal feasibility)}\\ +\alpha_i \ge 0 &\text{(dual feasibility)}\\ +\mu_i \ge 0 &\text{(dual feasibility)}\\ +\end{cases}\,.\] + +<p>Thus, we have</p> + +\[\begin{cases} +y_i f(\boldsymbol x_i) \ge 1 &(\alpha_i=0)\\ +y_i f(\boldsymbol x_i) \le 1 &(\alpha_i=C)\\ +y_i f(\boldsymbol x_i) = 1 &(\text{otherwise})\\ +\end{cases}\,.\tag{2}\] + +<p>When $S=\{j \mid 0 < \alpha_j < C\} \neq \varnothing$, for each such $j$,</p> + +\[\begin{aligned} +y_j (\boldsymbol w^\top\phi(\boldsymbol x_j)+b) &= 1\\ +b &= y_j - \boldsymbol w^\top\phi(\boldsymbol x_j)\,;\\ +\end{aligned}\] + +<p>The second equality holds since $y_j = \pm 1$. +For numerical stability, we take the mean of all $b$’s as the final value of the intercept:</p> + +\[b = \frac{1}{\\|S\\|}\sum_{j \in S} (y_j-\boldsymbol w^\top\phi(\boldsymbol x_j))\,.\] + +<p>When $S=\varnothing$, taking the first two cases of Equation $(2)$, it follows that</p> + +\[\begin{cases} +f(\boldsymbol x_i) \ge 1 &(\alpha_i=0,y_i=1)\\ +f(\boldsymbol x_i) \le -1 &(\alpha_i=0,y_i=-1)\\ +f(\boldsymbol x_i) \le 1 &(\alpha_i=C,y_i=1)\\ +f(\boldsymbol x_i) \ge -1 &(\alpha_i=C,y_i=-1)\\ +\end{cases}\,.\] + +<p>Equivalently, we have</p> + +\[\max_{j \in T_1}\{y_j - \boldsymbol w^\top\phi(\boldsymbol x_j)\} \le b \le \min_{j \in T_2}\{y_j - \boldsymbol w^\top\phi(\boldsymbol x_j)\}\,,\] + +<p>where</p> + +\[\begin{cases} +T_1 = \{j \mid \alpha_j=0,y_j=1\text{ or }\alpha_j=C,y_j=-1\}\\ +T_2 = \{j \mid \alpha_j=0,y_j=-1\text{ or }\alpha_j=C,y_j=1\}\\ +\end{cases}\,,\] + +<p>The intercept is taken as the mean of the lower and upper bounds.</p> + +<p>To compute $\boldsymbol w^\top\phi(\boldsymbol x)$ in above equations, simply plug in $\boldsymbol w=\sum_{i=1}^m\alpha_i y_i \phi(\boldsymbol x_i)$ and compute the $\phi(\boldsymbol x_i)^\top\phi(\boldsymbol x)$ with the underlying kernel function $\kappa(\boldsymbol x_i,\boldsymbol x)$.</p> + +<h2 id="compute-the-intercept-in-dual-formulation">Compute the intercept in dual formulation</h2> + +<blockquote> + <p>Reference: Chih-Chung Chang and Chih-Jen Lin. Libsvm: a library for support vector machines. ACM transactions on intelligent systems and technology (TIST), 2(3):1–27, 2011.</p> +</blockquote> + +<p>The dual SVM problem is:</p> + +\[\min_{\boldsymbol\alpha}\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_j y_i y_j \phi(\boldsymbol x_i)^\top\phi(\boldsymbol x_j)-\sum_{i=1}^m\alpha_i\,;\quad\text{s.t. }\sum_{i=1}^m\alpha_i y_i=0,\ 0 \le \alpha_i \le C\,.\tag{3}\] + +<p>The Lagrangian is:</p> + +\[\hat L(\boldsymbol\alpha,\beta,\boldsymbol\lambda,\boldsymbol\nu) = \frac{1}{2}\boldsymbol\alpha^\top\mathbf Q\boldsymbol\alpha - \boldsymbol\alpha^\top\mathbf 1+\beta\boldsymbol\alpha^\top\boldsymbol y-\boldsymbol\alpha^\top\boldsymbol\lambda+(\boldsymbol\alpha-C\mathbf 1)^\top\boldsymbol\nu\,,\tag{4}\] + +<p>where $\lambda_i \ge 0$, $\nu_i \ge 0$, $\mathbf 1$ is an all-$1$ vector, $\mathbf Q$ is an $m \times m$ matrix such that $Q_{ij} = y_i\phi(\boldsymbol x_i)^\top\phi(\boldsymbol x_j)y_j$, and $\beta$ is actually the intercept. +We’ll assume it for now, and reveal why it is in the end. +The KKT conditions are:</p> + +\[\begin{cases} +\mathbf Q\boldsymbol\alpha=1-\beta\boldsymbol y+\boldsymbol\lambda-\boldsymbol\nu &\text{(stationarity)}\\ +\lambda_i\alpha_i = 0 &\text{(complementary)}\\ +\nu_i(C-\alpha_i) = 0 &\text{(complementary)}\\ +\boldsymbol\alpha^\top\boldsymbol y = 0 &\text{(primal feasibility)}\\ +0 \le \alpha_i \le C &\text{(primal feasibility)}\\ +\lambda_i \ge 0 &\text{(dual feasibility)}\\ +\nu_i \ge 0 &\text{(dual feasibility)}\\ +\end{cases}\,.\tag{5}\] + +<p>Thus, we have</p> + +\[\begin{cases} +(\mathbf Q\boldsymbol\alpha)_i \ge 1 - \beta y_i &(\alpha_i=0)\\ +(\mathbf Q\boldsymbol\alpha)_i \le 1 - \beta y_i &(\alpha_i=C)\\ +(\mathbf Q\boldsymbol\alpha)_i = 1 - \beta y_i &(\text{otherwise})\\ +\end{cases}\,.\tag{6}\] + +<p>where $(\mathbf Q\boldsymbol\alpha)_i$ is the $i$th element of the vector $\mathbf Q\boldsymbol\alpha$. +When $S=\{j \mid 0 < \alpha_j < C\} \neq \varnothing$, for each such $j$,</p> + +\[\beta = y_j(1 - (\mathbf Q\boldsymbol\alpha)_j)\,;\] + +<p>which holds since $y_j = \pm 1$. +For numerical stability, we take the mean of all $\beta$’s as the final value of the intercept:</p> + +\[\beta = \frac{1}{\\|S\\|}\sum_{j \in S} y_j (1 - (\mathbf Q\boldsymbol\alpha)_j)\,.\] + +<p>When $S=\varnothing$, taking the first two cases of Equation $(6)$, it follows that</p> + +\[\begin{cases} +\beta \ge 1-(\mathbf Q\boldsymbol\alpha)_i &(\alpha_i=0,y_i=1)\\ +\beta \le -(1-(\mathbf Q\boldsymbol\alpha)_i) &(\alpha_i=0,y_i=-1)\\ +\beta \le 1-(\mathbf Q\boldsymbol\alpha)_i &(\alpha_i=C,y_i=1)\\ +\beta \ge -(1-(\mathbf Q\boldsymbol\alpha)_i) &(\alpha_i=C,y_i=-1)\\ +\end{cases}\,.\] + +<p>Equivalently, we have</p> + +\[\max_{j \in T_1}\{y_j(1-(\mathbf Q\boldsymbol\alpha)_j)\} \le \beta \le \min_{j \in T_2}\{y_j(1-(\mathbf Q\boldsymbol\alpha)_j)\}\,,\] + +<p>where</p> + +\[\begin{cases} +T_1 = \{j \mid \alpha_j=0,y_j=1\text{ or }\alpha_j=C,y_j=-1\}\\ +T_2 = \{j \mid \alpha_j=0,y_j=-1\text{ or }\alpha_j=C,y_j=1\}\\ +\end{cases}\,,\] + +<p>The intercept is taken as the mean of the lower and upper bounds.</p> + +<h3 id="beta-is-the-intercept">$\beta$ is the intercept</h3> + +<p>To show that $\beta$ is in fact the intercept in primal problem, we go further from Equation $(4)$, plugging in the stationarity conditions of Equation $(5)$, and it follows that</p> + +\[\hat L(\boldsymbol\alpha,\beta,\boldsymbol\lambda,\boldsymbol\nu) = -\frac{1}{2}\boldsymbol\alpha^\top\mathbf Q\boldsymbol\alpha-C\mathbf 1^\top\boldsymbol\nu\,,\] + +<p>where</p> + +\[\boldsymbol\alpha=\mathbf Q^{-1}(1-\beta\boldsymbol y+\boldsymbol\lambda-\boldsymbol\nu)\,.\] + +<p>assuming the inverse of $\mathbf Q$ exists. +Due to the structure of $\mathbf Q$, there exists a unique matrix $\mathbf Q^\frac{1}{2}$:</p> + +\[Q^\frac{1}{2} = +\begin{pmatrix} +y_1\phi(\boldsymbol x_1) & \dots & y_m\phi(\boldsymbol x_m)\\ +\end{pmatrix}\] + +<p>such that $\mathbf Q=(\mathbf Q^\frac{1}{2})^\top\mathbf Q^\frac{1}{2}$. +Let $\boldsymbol w \triangleq \mathbf Q^{-\frac{1}{2}}(1-\beta\boldsymbol y+\boldsymbol\lambda-\boldsymbol\nu)=\mathbf Q^\frac{1}{2}\boldsymbol\alpha$. +The stationarity condition of Equation $(5)$ can be rewritten as:</p> + +\[\begin{aligned} +\mathbf Q\boldsymbol\alpha &= 1-\beta\boldsymbol y+\boldsymbol\lambda-\boldsymbol\nu\\ +(\mathbf Q^\frac{1}{2})^\top\boldsymbol w &= 1-\beta\boldsymbol y+\boldsymbol\lambda-\boldsymbol\nu\\ +y_i\phi(\boldsymbol x_i)^\top\boldsymbol w+\beta y_i &\ge 1-\nu_i\quad\forall 1 \le i \le m\\ +y_i(\phi(\boldsymbol x_i)^\top\boldsymbol w+\beta) &\ge 1-\nu_i\\ +\end{aligned}\] + +<p>Therefore, we have the dual of the dual problem as:</p> + +\[\max_{\boldsymbol w,\beta,\boldsymbol\nu}-\frac{1}{2}\boldsymbol w^\top\boldsymbol w-C\mathbf 1^\top\boldsymbol\nu\,;\quad\text{s.t. }y_i(\phi(\boldsymbol x_i)^\top\boldsymbol w+\beta) \ge 1-\nu_i,\ \nu_i \ge 0\,.\] + +<p>Clearly, $\beta$ is the intercept, and $\nu_i$ is the slack variable $\xi_i$ bounded to each sample in the dataset.</p> + +<h2 id="show-that-the-two-apporaches-are-equivalent">Show that the two apporaches are equivalent</h2> + +<p>Recall that in primal and dual formulations,</p> + +\[\begin{aligned} +b &= y_j - \sum_{i=1}^m\alpha_i y_i \phi(\boldsymbol x_i)^\top\phi(\boldsymbol x_j) &\text{(primal formulation)}\\ +b &= y_j (1-(\mathbf Q\boldsymbol\alpha)_j) &\text{(dual formulation)}\\ +\end{aligned}\] + +<p>If we plug in the definitions of $\boldsymbol w$ and $\mathbf Q$, it follows that</p> + +\[\begin{aligned} +b &= y_j - \sum_{i=1}^m \alpha_i y_i \phi(\boldsymbol x_i)^\top\phi(\boldsymbol x_j)\\ +b &= y_j (1 - y_j\sum_{i=1}^m \alpha_i y_i \phi(\boldsymbol x_i)^\top\phi(\boldsymbol x_j))\\ +\end{aligned}\] + +<p>But $y_j^2=1$. +Therefore, it can be easily shown that the two equations are the same.</p> + +<h2 id="verify-the-conclusion-by-experiment">Verify the conclusion by experiment</h2> + +<p>We will need <a href="https://numpy.org/"><code class="language-plaintext highlighter-rouge">numpy</code></a> and <a href="https://scikit-learn.org/stable/"><code class="language-plaintext highlighter-rouge">scikit-learn</code></a> to perform the experiment.</p> + +<p>Get to know <code class="language-plaintext highlighter-rouge">SVC</code> class in <code class="language-plaintext highlighter-rouge">scikit-learn</code> <a href="https://scikit-learn.org/stable/modules/svm.html#svc">here</a>. +In summary, given a classifier <code class="language-plaintext highlighter-rouge">clf = SVC(...).fit(X, y)</code>,</p> + +<ul> + <li> +<code class="language-plaintext highlighter-rouge">clf.dual_coef_</code> holds the product $y_i \alpha_i$ for each $\alpha_i > 0$;</li> + <li> +<code class="language-plaintext highlighter-rouge">clf.support_vector_</code> holds the support vectors of shape <code class="language-plaintext highlighter-rouge">(n_SV, n_feature)</code> where <code class="language-plaintext highlighter-rouge">n_SV</code> is the number of support vectors;</li> + <li> +<code class="language-plaintext highlighter-rouge">clf.intercept_</code> holds the intercept term.</li> +</ul> + +<p>In addition,</p> + +<ul> + <li> +<code class="language-plaintext highlighter-rouge">clf.coef_</code> holds the $\boldsymbol w$ in primal problem. We will use it for convenience below (linear kernel).</li> +</ul> + +<p>Codes:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="n">np</span> +<span class="kn">from</span> <span class="nn">sklearn.svm</span> <span class="kn">import</span> <span class="n">SVC</span> +<span class="kn">from</span> <span class="nn">sklearn.datasets</span> <span class="kn">import</span> <span class="n">load_iris</span> + + +<span class="n">X</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">load_iris</span><span class="p">(</span><span class="n">return_X_y</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> +<span class="c1"># Restrict the classification problem to two-class; +# otherwise, the problem will become unnecessarily complex. +</span><span class="n">i</span> <span class="o">=</span> <span class="p">(</span><span class="n">y</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="o">|</span> <span class="p">(</span><span class="n">y</span> <span class="o">==</span> <span class="mi">2</span><span class="p">)</span> +<span class="n">X</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">X</span><span class="p">[</span><span class="n">i</span><span class="p">],</span> <span class="n">y</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> +<span class="c1"># Make y take values {0, 1} rather than {0, 2}. +</span><span class="n">y</span> <span class="o">//=</span> <span class="mi">2</span> + +<span class="n">clf</span> <span class="o">=</span> <span class="n">SVC</span><span class="p">(</span><span class="n">kernel</span><span class="o">=</span><span class="s">'linear'</span><span class="p">,</span> <span class="n">random_state</span><span class="o">=</span><span class="mi">123</span><span class="p">)</span> +<span class="n">clf</span><span class="p">.</span><span class="n">fit</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span> +<span class="c1"># The y for support vectors. +# The `*2-1` operation is used to make it pick the values {1, -1} +# rather than {1, 0}. +</span><span class="n">y_supp</span> <span class="o">=</span> <span class="n">y</span><span class="p">[</span><span class="n">clf</span><span class="p">.</span><span class="n">support_</span><span class="p">]</span> <span class="o">*</span> <span class="mi">2</span> <span class="o">-</span> <span class="mi">1</span> +<span class="c1"># The filter that removes upper bounded alpha's. +</span><span class="n">S</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">ravel</span><span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="nb">abs</span><span class="p">(</span><span class="n">clf</span><span class="p">.</span><span class="n">dual_coef_</span><span class="p">))</span> <span class="o"><</span> <span class="mi">1</span> + +<span class="c1"># Verify that the `clf.coef_` is indeed computed from `clf.dual_coef_`. +# We'll use `clf.coef_` for convenience below. +</span><span class="k">assert</span> <span class="n">np</span><span class="p">.</span><span class="n">allclose</span><span class="p">(</span> + <span class="n">np</span><span class="p">.</span><span class="n">ravel</span><span class="p">(</span><span class="n">clf</span><span class="p">.</span><span class="n">coef_</span><span class="p">),</span> + <span class="n">np</span><span class="p">.</span><span class="nb">sum</span><span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="n">ravel</span><span class="p">(</span><span class="n">clf</span><span class="p">.</span><span class="n">dual_coef_</span><span class="p">)</span> <span class="o">*</span> <span class="n">clf</span><span class="p">.</span><span class="n">support_vectors_</span><span class="p">.</span><span class="n">T</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">))</span> +<span class="c1"># The intercept estimations in primal formulation. Only support vectors are +# required, since otherwise the dual coefficients will be zero and won't count +# any. +</span><span class="n">b_estimates_primal</span> <span class="o">=</span> <span class="n">y_supp</span><span class="p">[</span><span class="n">S</span><span class="p">]</span> <span class="o">-</span> <span class="n">np</span><span class="p">.</span><span class="n">dot</span><span class="p">(</span><span class="n">clf</span><span class="p">.</span><span class="n">support_vectors_</span><span class="p">[</span><span class="n">S</span><span class="p">],</span> <span class="n">np</span><span class="p">.</span><span class="n">ravel</span><span class="p">(</span><span class="n">clf</span><span class="p">.</span><span class="n">coef_</span><span class="p">))</span> +<span class="c1">### Verify that the mean of the estimations is indeed the intercept. ### +</span><span class="k">assert</span> <span class="n">np</span><span class="p">.</span><span class="n">allclose</span><span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="n">mean</span><span class="p">(</span><span class="n">b_estimates_primal</span><span class="p">),</span> <span class="n">clf</span><span class="p">.</span><span class="n">intercept_</span><span class="p">)</span> + +<span class="c1"># The kernel matrix. +</span><span class="n">K</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">dot</span><span class="p">(</span><span class="n">clf</span><span class="p">.</span><span class="n">support_vectors_</span><span class="p">,</span> <span class="n">clf</span><span class="p">.</span><span class="n">support_vectors_</span><span class="p">.</span><span class="n">T</span><span class="p">)</span> +<span class="c1"># The Q matrix times alpha. Notice that when computing Q, only support vectors +# are required for the same reason as above. +</span><span class="n">Q_alpha</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="nb">sum</span><span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="n">ravel</span><span class="p">(</span><span class="n">clf</span><span class="p">.</span><span class="n">dual_coef_</span><span class="p">)[:,</span> <span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">]</span> <span class="o">*</span> <span class="n">K</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span> <span class="o">*</span> <span class="n">y_supp</span> +<span class="c1"># The intercept estimations in dual formulation. +</span><span class="n">b_estimates_dual</span> <span class="o">=</span> <span class="n">y_supp</span><span class="p">[</span><span class="n">S</span><span class="p">]</span> <span class="o">*</span> <span class="p">(</span><span class="mi">1</span> <span class="o">-</span> <span class="n">Q_alpha</span><span class="p">[</span><span class="n">S</span><span class="p">])</span> +<span class="c1">### Verify that the mean of the estimations is indeed the intercept. ### +</span><span class="k">assert</span> <span class="n">np</span><span class="p">.</span><span class="n">allclose</span><span class="p">(</span><span class="n">clf</span><span class="p">.</span><span class="n">intercept_</span><span class="p">,</span> <span class="n">np</span><span class="p">.</span><span class="n">mean</span><span class="p">(</span><span class="n">b_estimates_dual</span><span class="p">))</span> +</code></pre></div></div> + +<p>The following has been mentioned in the comment above, but I feel it necessary to redeclare them formally here: +Recall that $\boldsymbol w = \sum_{i=1}^m\alpha_i y_i \phi(\boldsymbol x_i)$, and all $m$ $\alpha$’s are involved when computing $\mathbf Q\boldsymbol\alpha$. +In fact, only those $i$ such that $\alpha_i > 0$ (corresponding to the support vectors) are necessary. +That’s why we are able to find $\boldsymbol w$ and $\mathbf Q\boldsymbol\alpha$ even if <code class="language-plaintext highlighter-rouge">scikit-learn</code> stores only data related to support vectors.</p> + +<p><em>Caveat</em>: +I find it quite hard to construct an example where there’s no free $\alpha$’s (i.e. those $\alpha_i$ such that $0 < \alpha_i < C$) at all. +So strictly speaking, such edge case is not verified empirically in this post.</p> + + </div> +<a class="u-url" href="/2023/08/05/compute-svm-intercept.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2023/08/05/dual-of-dual-of-qp.html b/2023/08/05/dual-of-dual-of-qp.html new file mode 100644 index 000000000..1e9e39458 --- /dev/null +++ b/2023/08/05/dual-of-dual-of-qp.html @@ -0,0 +1,172 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>The dual of the dual of a QP is itself | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="The dual of the dual of a QP is itself"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="Given a Quadratic Program (QP), we will show that the dual of the dual of the QP is itself."> +<meta property="og:description" content="Given a Quadratic Program (QP), we will show that the dual of the dual of the QP is itself."> +<link rel="canonical" href="https://kkew3.github.io/2023/08/05/dual-of-dual-of-qp.html"> +<meta property="og:url" content="https://kkew3.github.io/2023/08/05/dual-of-dual-of-qp.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2023-08-05T10:54:12+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="The dual of the dual of a QP is itself"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2023-08-05T10:54:12+00:00","datePublished":"2023-08-05T10:54:12+00:00","description":"Given a Quadratic Program (QP), we will show that the dual of the dual of the QP is itself.","headline":"The dual of the dual of a QP is itself","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2023/08/05/dual-of-dual-of-qp.html"},"url":"https://kkew3.github.io/2023/08/05/dual-of-dual-of-qp.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +<script>MathJax={"tex":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]]},"svg":{"fontCache":"global"}}</script><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">The dual of the dual of a QP is itself</h1> + <span><a href="https://kkew3.github.io/tags/math--la"><code class="highlighter-rouge"><nobr>math/linear algebra</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2023-08-05T10:54:12+00:00" itemprop="datePublished">Aug 5, 2023 at 10:54:12 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>Given a Quadratic Program (QP), we will show that the dual of the dual of the QP is itself.</p> + +<p>Let the QP be in its standard form:</p> + +\[\min_{\boldsymbol x}\frac{1}{2}\boldsymbol x^\top\mathbf Q\boldsymbol x + \boldsymbol p^\top\boldsymbol x\,; +\quad\text{s.t. }\mathbf A\boldsymbol x=\boldsymbol b,\ x_i \ge 0\,,\] + +<p>where $\mathbf Q \succ 0$ is positive definite. +The Lagrangian is</p> + +\[L(\boldsymbol x,\boldsymbol\lambda,\boldsymbol\mu) = \frac{1}{2}\boldsymbol x^\top\mathbf Q\boldsymbol x + \boldsymbol p^\top\boldsymbol x + \boldsymbol\lambda^\top(\mathbf A\boldsymbol x-\boldsymbol b)-\boldsymbol\mu^\top\boldsymbol x\,,\tag{1}\] + +<p>where $\mu_i \ge 0$. +Since $\mathbf Q \succ 0$, we may find the minimum of the $(1)$ with respect to $\boldsymbol x$ by driving $\partial L/\partial\boldsymbol x$ to $\mathbf 0$:</p> + +\[\mathbf Q\boldsymbol x + p + \mathbf A^\top\boldsymbol\lambda - \boldsymbol\mu = \mathbf 0\,,\] + +<p>and it follows that</p> + +\[\boldsymbol x = \mathbf Q^{-1}(-\mathbf A^\top\boldsymbol\lambda - \boldsymbol p + \boldsymbol\mu)\,.\] + +<p>Therefore, the dual formulation of the QP is:</p> + +\[\max_{\boldsymbol\lambda,\boldsymbol\mu}-\frac{1}{2}(\mathbf A^\top\boldsymbol\lambda+\boldsymbol p-\boldsymbol\mu)^\top\mathbf Q^{-1}(\mathbf A^\top\boldsymbol\lambda+\boldsymbol p-\boldsymbol\mu)-\boldsymbol\lambda^\top\boldsymbol b\,;\quad\text{s.t. }\mu_i \ge 0\,.\tag{2}\] + +<p>Now we will find the dual of the dual formulation. +First make Equation $(2)$ a minimization, and find its Lagrangian:</p> + +\[\hat L(\boldsymbol\lambda,\boldsymbol\mu,\boldsymbol y) = \frac{1}{2}(\mathbf A^\top\boldsymbol\lambda+\boldsymbol p-\boldsymbol\mu)^\top\mathbf Q^{-1}(\mathbf A^\top\boldsymbol\lambda+\boldsymbol p-\boldsymbol\mu) + \boldsymbol\lambda^\top\boldsymbol b - \boldsymbol y^\top\boldsymbol\mu\,,\tag{3}\] + +<p>where $y_i \ge 0$. +Since $\mathbf Q^{-1} \succ 0$, we may also find its minimum with respect to $\boldsymbol\lambda$ and $\boldsymbol\mu$ by driving corresponding partial derivatives to zero:</p> + +\[\begin{align} +\frac{\partial\hat L}{\partial\boldsymbol\lambda} &= \frac{1}{2}(2\mathbf A\mathbf Q^{-1}\mathbf A^\top\boldsymbol\lambda+\mathbf A\mathbf Q^{-1}\boldsymbol p-\mathbf A\mathbf Q^{-1}\boldsymbol\mu+\mathbf A\mathbf Q^{-\top}\boldsymbol p-\mathbf A\mathbf Q^{-\top}\boldsymbol\mu)+\boldsymbol b = 0\,,\tag{4.1}\\ +\frac{\partial\hat L}{\partial\boldsymbol\mu} &= \frac{1}{2}(-\mathbf Q^{-\top}\mathbf A^\top\boldsymbol\lambda-\mathbf Q^{-\top}\boldsymbol p-\mathbf Q^{-1}\mathbf A^\top\boldsymbol\lambda-\mathbf Q^{-1}\boldsymbol p+2\mathbf Q^{-1}\boldsymbol\mu) - \boldsymbol y = 0\,,\tag{4.2}\\ +\end{align}\] + +<p>where $\mathbf Q^{-\top} \equiv (\mathbf Q^{-1})^\top$. +Left-multiplying $(4.2)$ by $\mathbf A$ and adding it to $(4.1)$ yields</p> + +\[\mathbf A\boldsymbol y=\boldsymbol b\,.\tag{5}\] + +<p>This holds since positive definite matrices are symmetric. +It follows from $(4.2)$ that</p> + +\[-\mathbf Q\boldsymbol y = \mathbf A^\top\boldsymbol\lambda-\boldsymbol\mu+\boldsymbol p\,.\tag{6.1}\] + +<p>or</p> + +\[\boldsymbol y = -\mathbf Q^{-1}(\mathbf A^\top\boldsymbol\lambda-\boldsymbol\mu+\boldsymbol p)\,.\tag{6.2}\] + +<p>Plugging $(6.1)$ and $(6.2)$ back to $(3)$ gives</p> + +\[\begin{aligned} +\hat L(\boldsymbol\lambda,\boldsymbol\mu,\boldsymbol y) +&= \frac{1}{2}(\mathbf A^\top\boldsymbol\lambda+\boldsymbol p-\boldsymbol\mu)^\top\mathbf Q^{-1}\mathbf A^\top\boldsymbol\lambda+\boldsymbol p-\boldsymbol\mu - (\mathbf A^\top\boldsymbol\lambda-\boldsymbol\mu)^\top\mathbf Q^{-1}(\mathbf A^\top\boldsymbol\lambda+\boldsymbol p-\boldsymbol\mu)\\ +&= \frac{1}{2}(-\mathbf Q\boldsymbol y)^\top\mathbf Q^{-1}(-\mathbf Q\boldsymbol y)-(-\mathbf Q\boldsymbol y-\boldsymbol p)^\top\mathbf Q^{-1}(-\mathbf Q\boldsymbol y)\\ +&= -\frac{1}{2}\boldsymbol y^\top\mathbf Q\boldsymbol y-\boldsymbol p^\top\boldsymbol y\,.\\ +\end{aligned}\] + +<p>Together with Equation $(5)$ and $y_i \ge 0$, we have the dual of the dual formulation:</p> + +\[\max_{\boldsymbol y}-\frac{1}{2}\boldsymbol y^\top\mathbf Q\boldsymbol y-\boldsymbol p^\top\boldsymbol y\,;\quad\text{s.t. }\mathbf A\boldsymbol y=\boldsymbol b,\ y_i \ge 0\,.\] + +<p>Clearly, this is equivalent to the original QP.</p> + + </div> +<a class="u-url" href="/2023/08/05/dual-of-dual-of-qp.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2023/09/10/make-use-of-openmp-via-cython-on-mac.html b/2023/09/10/make-use-of-openmp-via-cython-on-mac.html new file mode 100644 index 000000000..0e19ade12 --- /dev/null +++ b/2023/09/10/make-use-of-openmp-via-cython-on-mac.html @@ -0,0 +1,208 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Make use of openmp via cython on macOS | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Make use of openmp via cython on macOS"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="Abstract"> +<meta property="og:description" content="Abstract"> +<link rel="canonical" href="https://kkew3.github.io/2023/09/10/make-use-of-openmp-via-cython-on-mac.html"> +<meta property="og:url" content="https://kkew3.github.io/2023/09/10/make-use-of-openmp-via-cython-on-mac.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2023-09-10T08:49:00+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Make use of openmp via cython on macOS"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2023-09-10T08:49:00+00:00","datePublished":"2023-09-10T08:49:00+00:00","description":"Abstract","headline":"Make use of openmp via cython on macOS","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2023/09/10/make-use-of-openmp-via-cython-on-mac.html"},"url":"https://kkew3.github.io/2023/09/10/make-use-of-openmp-via-cython-on-mac.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Make use of openmp via cython on macOS</h1> + <span><a href="https://kkew3.github.io/tags/dev--cython"><code class="highlighter-rouge"><nobr>dev/cython</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2023-09-10T08:49:00+00:00" itemprop="datePublished">Sep 10, 2023 at 08:49:00 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <h2 id="abstract">Abstract</h2> + +<p>This post gives a concise example on how to use <a href="https://www.openmp.org">OpenMP</a> in <a href="https://cython.readthedocs.io/en/latest/index.html">Cython</a> on macOS.</p> + +<h2 id="prerequisite">Prerequisite</h2> + +<p>Install OpenMP.</p> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>brew <span class="nb">install </span>libomp +</code></pre></div></div> + +<p>Install <a href="https://numpy.org/">numpy</a> (used in the example) and Cython.</p> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>conda <span class="nb">install </span>numpy cython +</code></pre></div></div> + +<p>My Cython version is <code class="language-plaintext highlighter-rouge">3.0.0</code>.</p> + +<h2 id="example">Example</h2> + +<p>In <code class="language-plaintext highlighter-rouge">test.pyx</code>, we implement the <a href="https://gregorygundersen.com/blog/2020/02/09/log-sum-exp/">log-sum-exp trick</a> in Cython.</p> + +<div class="language-pyrex highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">from</span> <span class="nn">cython.parallel</span> <span class="kn">cimport</span> <span class="n">prange</span> +<span class="kn">from</span> <span class="nn">libc.math</span> <span class="kn">cimport</span> <span class="n">exp</span><span class="p">,</span> <span class="n">log</span><span class="p">,</span> <span class="n">fmax</span> +<span class="kn">cimport</span> <span class="nn">cython</span> + + +<span class="o">@</span><span class="n">cython</span><span class="p">.</span><span class="nf">boundscheck</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span> +<span class="o">@</span><span class="n">cython</span><span class="p">.</span><span class="nf">wraparound</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span> +<span class="k">cdef</span> <span class="kt">double</span> <span class="nf">c_max</span><span class="p">(</span> + <span class="kt">int</span> <span class="n">N</span><span class="p">,</span> + <span class="n">double</span> <span class="o">*</span><span class="n">a</span><span class="p">,</span> +<span class="p">)</span> <span class="k">nogil</span><span class="p">:</span> + <span class="k">cdef</span> <span class="kt">int</span> <span class="n">i</span> + <span class="k">cdef</span> <span class="kt">double</span> <span class="n">b</span> <span class="o">=</span> <span class="n">a</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> + <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">N</span><span class="p">):</span> + <span class="n">b</span> <span class="o">=</span> <span class="nf">fmax</span><span class="p">(</span><span class="n">b</span><span class="p">,</span> <span class="kt">a</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> + <span class="k">return</span> <span class="n">b</span> + + +<span class="o">@</span><span class="n">cython</span><span class="p">.</span><span class="nf">boundscheck</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span> +<span class="o">@</span><span class="n">cython</span><span class="p">.</span><span class="nf">wraparound</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span> +<span class="k">cdef</span> <span class="kt">double</span> <span class="nf">c_logsumexp</span><span class="p">(</span> + <span class="kt">int</span> <span class="n">N</span><span class="p">,</span> + <span class="n">double</span> <span class="o">*</span><span class="n">a</span><span class="p">,</span> +<span class="p">)</span> <span class="k">nogil</span><span class="p">:</span> + <span class="k">cdef</span> <span class="kt">int</span> <span class="n">i</span> + <span class="k">cdef</span> <span class="kt">double</span> <span class="n">b</span> <span class="o">=</span> <span class="nf">c_max</span><span class="p">(</span><span class="n">N</span><span class="p">,</span> <span class="n">a</span><span class="p">)</span> + <span class="k">cdef</span> <span class="kt">double</span> <span class="n">x</span> <span class="o">=</span> <span class="mf">0.0</span> + <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nf">prange</span><span class="p">(</span><span class="n">N</span><span class="p">):</span> + <span class="n">x</span> <span class="o">+=</span> <span class="nf">exp</span><span class="p">(</span><span class="kt">a</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">-</span> <span class="n">b</span><span class="p">)</span> + <span class="n">x</span> <span class="o">=</span> <span class="n">b</span> <span class="o">+</span> <span class="nf">log</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> + <span class="k">return</span> <span class="n">x</span> + + +<span class="k">def</span> <span class="nf">logsumexp</span><span class="p">(</span><span class="kt">double</span> <span class="p">[::</span><span class="mi">1</span><span class="p">]</span> <span class="n">a</span><span class="p">):</span> + <span class="k">return</span> <span class="nf">c_logsumexp</span><span class="p">(</span><span class="n">a</span><span class="p">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="o">&</span><span class="n">a</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> +</code></pre></div></div> + +<p>Note how to write the <code class="language-plaintext highlighter-rouge">setup.py</code>:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">from</span> <span class="nn">setuptools</span> <span class="kn">import</span> <span class="n">Extension</span><span class="p">,</span> <span class="n">setup</span> +<span class="kn">from</span> <span class="nn">Cython.Build</span> <span class="kn">import</span> <span class="n">cythonize</span> + + +<span class="n">extensions</span> <span class="o">=</span> <span class="p">[</span> + <span class="n">Extension</span><span class="p">(</span> + <span class="s">'test'</span><span class="p">,</span> + <span class="n">sources</span><span class="o">=</span><span class="p">[</span><span class="s">'test.pyx'</span><span class="p">],</span> + <span class="n">extra_compile_args</span><span class="o">=</span><span class="p">[</span><span class="s">'-Xpreprocessor'</span><span class="p">,</span> <span class="s">'-fopenmp'</span><span class="p">],</span> + <span class="n">extra_link_args</span><span class="o">=</span><span class="p">[</span><span class="s">'-lomp'</span><span class="p">],</span> + <span class="p">),</span> +<span class="p">]</span> + +<span class="n">setup</span><span class="p">(</span> + <span class="n">ext_modules</span><span class="o">=</span><span class="n">cythonize</span><span class="p">(</span><span class="n">extensions</span><span class="p">,</span> <span class="n">language_level</span><span class="o">=</span><span class="s">'3'</span><span class="p">),</span> + <span class="n">zip_safe</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> +<span class="p">)</span> +</code></pre></div></div> + +<p>The <code class="language-plaintext highlighter-rouge">-Xpreprocessor</code> is required for the openmp pragmas to be <a href="https://iscinumpy.gitlab.io/post/omp-on-high-sierra/">processed</a>.</p> + +<h2 id="build">Build</h2> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>python3 setup.py build_ext <span class="nt">--inplace</span> +</code></pre></div></div> + +<p>After the build, <code class="language-plaintext highlighter-rouge">ls -F</code> output on my mac:</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>build/ setup.py test.c test.cpython-39-darwin.so* test.pyx +</code></pre></div></div> + +<h2 id="test">Test</h2> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>python3 <span class="nt">-m</span> timeit <span class="nt">-s</span> <span class="s1">'from scipy.special import logsumexp; import numpy as np; a = np.random.randn(1000)'</span> <span class="s1">'logsumexp(a)'</span> +python3 <span class="nt">-m</span> timeit <span class="nt">-s</span> <span class="s1">'from test import logsumexp; import numpy as np; a = np.random.randn(1000)'</span> <span class="s1">'logsumexp(a)'</span> +</code></pre></div></div> + +<p>The output:</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>10000 loops, best of 5: 32.1 usec per loop +50000 loops, best of 5: 6.66 usec per loop +</code></pre></div></div> + + </div> +<a class="u-url" href="/2023/09/10/make-use-of-openmp-via-cython-on-mac.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2023/09/24/verify-permutation-equivalence-of-multihead-attention-in-pytorch.html b/2023/09/24/verify-permutation-equivalence-of-multihead-attention-in-pytorch.html new file mode 100644 index 000000000..eec29869b --- /dev/null +++ b/2023/09/24/verify-permutation-equivalence-of-multihead-attention-in-pytorch.html @@ -0,0 +1,146 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Verify permutation equivalence of Multi-Head Attention in PyTorch | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Verify permutation equivalence of Multi-Head Attention in PyTorch"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="It’s well known that Multi-Head Attention is permutation equivalent (e.g. here). Let’s verify it in PyTorch."> +<meta property="og:description" content="It’s well known that Multi-Head Attention is permutation equivalent (e.g. here). Let’s verify it in PyTorch."> +<link rel="canonical" href="https://kkew3.github.io/2023/09/24/verify-permutation-equivalence-of-multihead-attention-in-pytorch.html"> +<meta property="og:url" content="https://kkew3.github.io/2023/09/24/verify-permutation-equivalence-of-multihead-attention-in-pytorch.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2023-09-24T08:54:32+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Verify permutation equivalence of Multi-Head Attention in PyTorch"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2023-09-24T08:54:32+00:00","datePublished":"2023-09-24T08:54:32+00:00","description":"It’s well known that Multi-Head Attention is permutation equivalent (e.g. here). Let’s verify it in PyTorch.","headline":"Verify permutation equivalence of Multi-Head Attention in PyTorch","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2023/09/24/verify-permutation-equivalence-of-multihead-attention-in-pytorch.html"},"url":"https://kkew3.github.io/2023/09/24/verify-permutation-equivalence-of-multihead-attention-in-pytorch.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Verify permutation equivalence of Multi-Head Attention in PyTorch</h1> + <span><a href="https://kkew3.github.io/tags/dev--pytorch"><code class="highlighter-rouge"><nobr>dev/pytorch</nobr></code></a> | <a href="https://kkew3.github.io/tags/ml"><code class="highlighter-rouge"><nobr>machine learning</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2023-09-24T08:54:32+00:00" itemprop="datePublished">Sep 24, 2023 at 08:54:32 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>It’s well known that <a href="https://arxiv.org/abs/1706.03762">Multi-Head Attention</a> is permutation equivalent (e.g. <a href="https://uvadlc-notebooks.readthedocs.io/en/latest/tutorial_notebooks/tutorial6/Transformers_and_MHAttention.html">here</a>). +Let’s verify it in PyTorch.</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">torch</span> +<span class="kn">from</span> <span class="nn">torch</span> <span class="kn">import</span> <span class="n">nn</span> + +<span class="n">batch_size</span> <span class="o">=</span> <span class="mi">16</span> +<span class="n">seq_length</span> <span class="o">=</span> <span class="mi">10</span> +<span class="n">embed_dim</span> <span class="o">=</span> <span class="mi">384</span> +<span class="n">n_heads</span> <span class="o">=</span> <span class="mi">8</span> + +<span class="n">attn</span> <span class="o">=</span> <span class="n">nn</span><span class="p">.</span><span class="n">MultiheadAttention</span><span class="p">(</span><span class="n">embed_dim</span><span class="p">,</span> <span class="n">n_heads</span><span class="p">,</span> <span class="n">batch_first</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> +<span class="n">X</span> <span class="o">=</span> <span class="n">torch</span><span class="p">.</span><span class="n">rand</span><span class="p">(</span><span class="n">batch_size</span><span class="p">,</span> <span class="n">seq_length</span><span class="p">,</span> <span class="n">embed_dim</span><span class="p">)</span> +<span class="n">o</span> <span class="o">=</span> <span class="n">torch</span><span class="p">.</span><span class="n">randperm</span><span class="p">(</span><span class="n">seq_length</span><span class="p">)</span> +<span class="n">z1</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">attn</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">X</span><span class="p">,</span> <span class="n">X</span><span class="p">)</span> +<span class="n">z2</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">attn</span><span class="p">(</span><span class="n">X</span><span class="p">[:,</span> <span class="n">o</span><span class="p">],</span> <span class="n">X</span><span class="p">[:,</span> <span class="n">o</span><span class="p">],</span> <span class="n">X</span><span class="p">[:,</span> <span class="n">o</span><span class="p">])</span> +<span class="k">print</span><span class="p">(</span><span class="n">torch</span><span class="p">.</span><span class="n">allclose</span><span class="p">(</span><span class="n">z1</span><span class="p">[:,</span> <span class="n">o</span><span class="p">],</span> <span class="n">z2</span><span class="p">))</span> +</code></pre></div></div> + +<p>Almost certainly, it will print a <code class="language-plaintext highlighter-rouge">False</code>. +What’s going wrong? +It turns out that PyTorch uses <code class="language-plaintext highlighter-rouge">torch.float32</code> by default. +Let’s increase the precision to <code class="language-plaintext highlighter-rouge">torch.float64</code>:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">torch</span> +<span class="kn">from</span> <span class="nn">torch</span> <span class="kn">import</span> <span class="n">nn</span> + +<span class="n">batch_size</span> <span class="o">=</span> <span class="mi">16</span> +<span class="n">seq_length</span> <span class="o">=</span> <span class="mi">10</span> +<span class="n">embed_dim</span> <span class="o">=</span> <span class="mi">384</span> +<span class="n">n_heads</span> <span class="o">=</span> <span class="mi">8</span> + +<span class="n">attn</span> <span class="o">=</span> <span class="n">nn</span><span class="p">.</span><span class="n">MultiheadAttention</span><span class="p">(</span><span class="n">embed_dim</span><span class="p">,</span> <span class="n">n_heads</span><span class="p">,</span> <span class="n">batch_first</span><span class="o">=</span><span class="bp">True</span><span class="p">).</span><span class="n">to</span><span class="p">(</span><span class="n">torch</span><span class="p">.</span><span class="n">float64</span><span class="p">)</span> +<span class="n">X</span> <span class="o">=</span> <span class="n">torch</span><span class="p">.</span><span class="n">rand</span><span class="p">(</span><span class="n">batch_size</span><span class="p">,</span> <span class="n">seq_length</span><span class="p">,</span> <span class="n">embed_dim</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">torch</span><span class="p">.</span><span class="n">float64</span><span class="p">)</span> +<span class="n">o</span> <span class="o">=</span> <span class="n">torch</span><span class="p">.</span><span class="n">randperm</span><span class="p">(</span><span class="n">seq_length</span><span class="p">)</span> +<span class="n">z1</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">attn</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">X</span><span class="p">,</span> <span class="n">X</span><span class="p">)</span> +<span class="n">z2</span><span class="p">,</span> <span class="n">_</span> <span class="o">=</span> <span class="n">attn</span><span class="p">(</span><span class="n">X</span><span class="p">[:,</span> <span class="n">o</span><span class="p">],</span> <span class="n">X</span><span class="p">[:,</span> <span class="n">o</span><span class="p">],</span> <span class="n">X</span><span class="p">[:,</span> <span class="n">o</span><span class="p">])</span> +<span class="k">print</span><span class="p">(</span><span class="n">torch</span><span class="p">.</span><span class="n">allclose</span><span class="p">(</span><span class="n">z1</span><span class="p">[:,</span> <span class="n">o</span><span class="p">],</span> <span class="n">z2</span><span class="p">))</span> +</code></pre></div></div> + +<p>It should print <code class="language-plaintext highlighter-rouge">True</code> now.</p> + + </div> +<a class="u-url" href="/2023/09/24/verify-permutation-equivalence-of-multihead-attention-in-pytorch.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2023/10/04/estimate-expectation-of-function-of-random-variable.html b/2023/10/04/estimate-expectation-of-function-of-random-variable.html new file mode 100644 index 000000000..1dc00ba59 --- /dev/null +++ b/2023/10/04/estimate-expectation-of-function-of-random-variable.html @@ -0,0 +1,456 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Estimate the expectation of the function of a random variable | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Estimate the expectation of the function of a random variable"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="First prepare the functions we’ll use later. The implementations can be tested by py.test."> +<meta property="og:description" content="First prepare the functions we’ll use later. The implementations can be tested by py.test."> +<link rel="canonical" href="https://kkew3.github.io/2023/10/04/estimate-expectation-of-function-of-random-variable.html"> +<meta property="og:url" content="https://kkew3.github.io/2023/10/04/estimate-expectation-of-function-of-random-variable.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2023-10-04T07:36:32+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Estimate the expectation of the function of a random variable"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2023-10-04T07:36:32+00:00","datePublished":"2023-10-04T07:36:32+00:00","description":"First prepare the functions we’ll use later. The implementations can be tested by py.test.","headline":"Estimate the expectation of the function of a random variable","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2023/10/04/estimate-expectation-of-function-of-random-variable.html"},"url":"https://kkew3.github.io/2023/10/04/estimate-expectation-of-function-of-random-variable.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +<script>MathJax={"tex":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]]},"svg":{"fontCache":"global"}}</script><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Estimate the expectation of the function of a random variable</h1> + <span><a href="https://kkew3.github.io/tags/math--prob"><code class="highlighter-rouge"><nobr>math/probability</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2023-10-04T07:36:32+00:00" itemprop="datePublished">Oct 4, 2023 at 07:36:32 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>First prepare the functions we’ll use later. +The implementations can be tested by <a href="https://docs.pytest.org/en/7.4.x/">py.test</a>.</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># %load expectation_of_function.py +</span><span class="kn">from</span> <span class="nn">functools</span> <span class="kn">import</span> <span class="n">partial</span> + +<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="n">np</span> +<span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">logsumexp</span> +<span class="kn">from</span> <span class="nn">scipy</span> <span class="kn">import</span> <span class="n">stats</span> + + +<span class="k">def</span> <span class="nf">softmax</span><span class="p">(</span><span class="n">x</span><span class="p">):</span> + <span class="n">b</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="nb">max</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">axis</span><span class="o">=-</span><span class="mi">1</span><span class="p">,</span> <span class="n">keepdims</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> + <span class="n">z</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">exp</span><span class="p">(</span><span class="n">x</span> <span class="o">-</span> <span class="n">b</span><span class="p">)</span> + <span class="k">return</span> <span class="n">z</span> <span class="o">/</span> <span class="n">np</span><span class="p">.</span><span class="nb">sum</span><span class="p">(</span><span class="n">z</span><span class="p">,</span> <span class="n">axis</span><span class="o">=-</span><span class="mi">1</span><span class="p">,</span> <span class="n">keepdims</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">softmax_jac</span><span class="p">(</span><span class="n">x</span><span class="p">):</span> + <span class="n">s</span> <span class="o">=</span> <span class="n">softmax</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> + <span class="n">I</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">eye</span><span class="p">(</span><span class="n">x</span><span class="p">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> + <span class="k">return</span> <span class="n">s</span><span class="p">[:,</span> <span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">]</span> <span class="o">*</span> <span class="p">(</span><span class="n">I</span> <span class="o">-</span> <span class="n">s</span><span class="p">[</span><span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">,</span> <span class="p">:])</span> + + +<span class="k">def</span> <span class="nf">test_softmax_jac</span><span class="p">():</span> + <span class="n">n</span><span class="p">,</span> <span class="n">d</span> <span class="o">=</span> <span class="mi">100</span><span class="p">,</span> <span class="mi">100</span> + <span class="n">X</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">random</span><span class="p">.</span><span class="n">randn</span><span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="n">d</span><span class="p">)</span> + <span class="n">I</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">eye</span><span class="p">(</span><span class="n">d</span><span class="p">)</span> + <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">):</span> + <span class="n">s</span> <span class="o">=</span> <span class="n">softmax</span><span class="p">(</span><span class="n">X</span><span class="p">[</span><span class="n">j</span><span class="p">])</span> + <span class="n">expected</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">empty</span><span class="p">((</span><span class="n">d</span><span class="p">,</span> <span class="n">d</span><span class="p">))</span> + <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">d</span><span class="p">):</span> + <span class="n">expected</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">s</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">*</span> <span class="p">(</span><span class="n">I</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">-</span> <span class="n">s</span><span class="p">)</span> + <span class="k">assert</span> <span class="n">np</span><span class="p">.</span><span class="n">allclose</span><span class="p">(</span><span class="n">softmax_jac</span><span class="p">(</span><span class="n">X</span><span class="p">[</span><span class="n">j</span><span class="p">]),</span> <span class="n">expected</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">softmax_hess</span><span class="p">(</span><span class="n">x</span><span class="p">):</span> + <span class="n">s</span> <span class="o">=</span> <span class="n">softmax</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> + <span class="n">a1</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">outer</span><span class="p">(</span><span class="n">s</span><span class="p">,</span> <span class="n">s</span><span class="p">)</span> <span class="o">-</span> <span class="n">np</span><span class="p">.</span><span class="n">diag</span><span class="p">(</span><span class="n">s</span><span class="p">)</span> + <span class="n">a2</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">eye</span><span class="p">(</span><span class="n">x</span><span class="p">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">-</span> <span class="n">s</span><span class="p">[</span><span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">,</span> <span class="p">:]</span> + <span class="n">a3</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">matmul</span><span class="p">(</span><span class="n">a2</span><span class="p">[:,</span> <span class="p">:,</span> <span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">],</span> <span class="n">a2</span><span class="p">[:,</span> <span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">,</span> <span class="p">:])</span> + <span class="n">a4</span> <span class="o">=</span> <span class="n">a1</span><span class="p">[</span><span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">,</span> <span class="p">:,</span> <span class="p">:]</span> <span class="o">+</span> <span class="n">a3</span> + <span class="k">return</span> <span class="n">s</span><span class="p">[:,</span> <span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">,</span> <span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">]</span> <span class="o">*</span> <span class="n">a4</span> + + +<span class="k">def</span> <span class="nf">test_softmax_hess</span><span class="p">():</span> + <span class="n">n</span><span class="p">,</span> <span class="n">d</span> <span class="o">=</span> <span class="mi">100</span><span class="p">,</span> <span class="mi">100</span> + <span class="n">X</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">random</span><span class="p">.</span><span class="n">randn</span><span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="n">d</span><span class="p">)</span> + <span class="n">I</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">eye</span><span class="p">(</span><span class="n">d</span><span class="p">)</span> + <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">):</span> + <span class="n">s</span> <span class="o">=</span> <span class="n">softmax</span><span class="p">(</span><span class="n">X</span><span class="p">[</span><span class="n">j</span><span class="p">])</span> + <span class="n">expected</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">empty</span><span class="p">((</span><span class="n">d</span><span class="p">,</span> <span class="n">d</span><span class="p">,</span> <span class="n">d</span><span class="p">))</span> + <span class="k">for</span> <span class="n">k</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">d</span><span class="p">):</span> + <span class="n">expected</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">=</span> <span class="n">s</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">*</span> <span class="p">(</span> + <span class="n">np</span><span class="p">.</span><span class="n">outer</span><span class="p">(</span><span class="n">s</span><span class="p">,</span> <span class="n">s</span><span class="p">)</span> <span class="o">-</span> <span class="n">np</span><span class="p">.</span><span class="n">diag</span><span class="p">(</span><span class="n">s</span><span class="p">)</span> <span class="o">+</span> <span class="n">np</span><span class="p">.</span><span class="n">outer</span><span class="p">(</span><span class="n">I</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">-</span> <span class="n">s</span><span class="p">,</span> <span class="n">I</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> <span class="o">-</span> <span class="n">s</span><span class="p">))</span> + <span class="k">assert</span> <span class="n">np</span><span class="p">.</span><span class="n">allclose</span><span class="p">(</span><span class="n">softmax_hess</span><span class="p">(</span><span class="n">X</span><span class="p">[</span><span class="n">j</span><span class="p">]),</span> <span class="n">expected</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">logsoftmax</span><span class="p">(</span><span class="n">x</span><span class="p">):</span> + <span class="k">return</span> <span class="n">x</span> <span class="o">-</span> <span class="n">logsumexp</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">axis</span><span class="o">=-</span><span class="mi">1</span><span class="p">,</span> <span class="n">keepdims</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">logsoftmax_jac</span><span class="p">(</span><span class="n">x</span><span class="p">):</span> + <span class="n">s</span> <span class="o">=</span> <span class="n">softmax</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> + <span class="n">I</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">eye</span><span class="p">(</span><span class="n">x</span><span class="p">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> + <span class="k">return</span> <span class="n">I</span> <span class="o">-</span> <span class="n">s</span><span class="p">[</span><span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">,</span> <span class="p">:]</span> + + +<span class="k">def</span> <span class="nf">logsoftmax_hess</span><span class="p">(</span><span class="n">x</span><span class="p">):</span> + <span class="n">s</span> <span class="o">=</span> <span class="n">softmax</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> + <span class="k">return</span> <span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="n">outer</span><span class="p">(</span><span class="n">s</span><span class="p">,</span> <span class="n">s</span><span class="p">)</span> <span class="o">-</span> <span class="n">np</span><span class="p">.</span><span class="n">diag</span><span class="p">(</span><span class="n">s</span><span class="p">))[</span><span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">]</span> + + +<span class="c1"># Deprecated +</span><span class="k">def</span> <span class="nf">expectation_logsoftmax_approx_at_mu</span><span class="p">(</span><span class="n">mu</span><span class="p">,</span> <span class="n">Sigma</span><span class="p">):</span> + <span class="n">s</span> <span class="o">=</span> <span class="n">softmax</span><span class="p">(</span><span class="n">mu</span><span class="p">)</span> + <span class="n">ls</span> <span class="o">=</span> <span class="n">logsoftmax</span><span class="p">(</span><span class="n">mu</span><span class="p">)</span> + <span class="k">return</span> <span class="n">ls</span> <span class="o">+</span> <span class="n">np</span><span class="p">.</span><span class="n">trace</span><span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="n">matmul</span><span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="n">outer</span><span class="p">(</span><span class="n">s</span><span class="p">,</span> <span class="n">s</span><span class="p">)</span> <span class="o">-</span> <span class="n">np</span><span class="p">.</span><span class="n">diag</span><span class="p">(</span><span class="n">s</span><span class="p">),</span> <span class="n">Sigma</span><span class="p">))</span> <span class="o">/</span> <span class="mi">2</span> + + +<span class="k">def</span> <span class="nf">sigmoid</span><span class="p">(</span><span class="n">x</span><span class="p">):</span> + <span class="n">z</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">where</span><span class="p">(</span><span class="n">x</span> <span class="o">>=</span> <span class="mi">0</span><span class="p">,</span> <span class="n">np</span><span class="p">.</span><span class="n">exp</span><span class="p">(</span><span class="o">-</span><span class="n">x</span><span class="p">),</span> <span class="n">np</span><span class="p">.</span><span class="n">exp</span><span class="p">(</span><span class="n">x</span><span class="p">))</span> + <span class="k">return</span> <span class="n">np</span><span class="p">.</span><span class="n">where</span><span class="p">(</span><span class="n">x</span> <span class="o">>=</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">1</span> <span class="o">/</span> <span class="p">(</span><span class="mi">1</span> <span class="o">+</span> <span class="n">z</span><span class="p">),</span> <span class="n">z</span> <span class="o">/</span> <span class="p">(</span><span class="mi">1</span> <span class="o">+</span> <span class="n">z</span><span class="p">))</span> + + +<span class="k">def</span> <span class="nf">test_sigmoid</span><span class="p">():</span> + <span class="n">n</span> <span class="o">=</span> <span class="mi">1000</span> + <span class="n">x</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">random</span><span class="p">.</span><span class="n">randn</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> + <span class="n">expected</span> <span class="o">=</span> <span class="p">[</span><span class="n">sigmoid</span><span class="p">(</span><span class="n">x</span><span class="p">[</span><span class="n">j</span><span class="p">])</span> <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">)]</span> + <span class="k">assert</span> <span class="n">np</span><span class="p">.</span><span class="n">allclose</span><span class="p">(</span><span class="n">sigmoid</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="n">expected</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">sigmoid_jac</span><span class="p">(</span><span class="n">x</span><span class="p">):</span> + <span class="n">z</span> <span class="o">=</span> <span class="n">sigmoid</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> + <span class="k">return</span> <span class="n">z</span> <span class="o">*</span> <span class="p">(</span><span class="mi">1</span> <span class="o">-</span> <span class="n">z</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">sigmoid_hess</span><span class="p">(</span><span class="n">x</span><span class="p">):</span> + <span class="n">z</span> <span class="o">=</span> <span class="n">sigmoid</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> + <span class="k">return</span> <span class="n">z</span> <span class="o">*</span> <span class="p">(</span><span class="mi">1</span> <span class="o">-</span> <span class="n">z</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="mi">1</span> <span class="o">-</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">z</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">logsigmoid</span><span class="p">(</span><span class="n">x</span><span class="p">):</span> + <span class="k">return</span> <span class="o">-</span><span class="n">np</span><span class="p">.</span><span class="n">logaddexp</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="o">-</span><span class="n">x</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">logsigmoid_jac</span><span class="p">(</span><span class="n">x</span><span class="p">):</span> + <span class="k">return</span> <span class="mi">1</span> <span class="o">-</span> <span class="n">sigmoid</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">logsigmoid_hess</span><span class="p">(</span><span class="n">x</span><span class="p">):</span> + <span class="n">z</span> <span class="o">=</span> <span class="n">sigmoid</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> + <span class="k">return</span> <span class="n">z</span> <span class="o">*</span> <span class="p">(</span><span class="n">z</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> + + +<span class="c1"># pylint: disable=too-many-arguments +</span><span class="k">def</span> <span class="nf">expectation_approx</span><span class="p">(</span><span class="n">mu</span><span class="p">,</span> <span class="n">Sigma</span><span class="p">,</span> <span class="n">a</span><span class="p">,</span> <span class="n">fun</span><span class="p">,</span> <span class="n">jac</span><span class="p">,</span> <span class="n">hess</span><span class="p">):</span> + <span class="n">f</span> <span class="o">=</span> <span class="n">fun</span><span class="p">(</span><span class="n">a</span><span class="p">)</span> + <span class="n">J</span> <span class="o">=</span> <span class="n">jac</span><span class="p">(</span><span class="n">a</span><span class="p">)</span> + <span class="n">H</span> <span class="o">=</span> <span class="n">hess</span><span class="p">(</span><span class="n">a</span><span class="p">)</span> + <span class="n">d</span> <span class="o">=</span> <span class="n">mu</span> <span class="o">-</span> <span class="n">a</span> + <span class="k">if</span> <span class="n">f</span><span class="p">.</span><span class="n">ndim</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span> + <span class="n">a1</span> <span class="o">=</span> <span class="n">f</span> + <span class="n">a2</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">dot</span><span class="p">(</span><span class="n">J</span><span class="p">,</span> <span class="n">d</span><span class="p">)</span> + <span class="n">a3</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">ravel</span><span class="p">(</span> + <span class="n">np</span><span class="p">.</span><span class="n">matmul</span><span class="p">(</span> + <span class="n">np</span><span class="p">.</span><span class="n">matmul</span><span class="p">(</span><span class="n">d</span><span class="p">[</span><span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">,</span> <span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">,</span> <span class="p">:],</span> <span class="n">H</span><span class="p">),</span> <span class="n">d</span><span class="p">[</span><span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">,</span> <span class="p">:,</span> + <span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">]))</span> + <span class="n">a4</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">trace</span><span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="n">matmul</span><span class="p">(</span><span class="n">H</span><span class="p">,</span> <span class="n">Sigma</span><span class="p">[</span><span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">]),</span> <span class="n">axis1</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">axis2</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span> + <span class="k">return</span> <span class="n">a1</span> <span class="o">+</span> <span class="n">a2</span> <span class="o">+</span> <span class="p">(</span><span class="n">a3</span> <span class="o">+</span> <span class="n">a4</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span> + <span class="n">a1</span> <span class="o">=</span> <span class="n">f</span> + <span class="n">a2</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">dot</span><span class="p">(</span><span class="n">J</span><span class="p">,</span> <span class="n">d</span><span class="p">)</span> + <span class="n">a3</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">dot</span><span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="n">dot</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="n">H</span><span class="p">),</span> <span class="n">d</span><span class="p">)</span> + <span class="n">a4</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">dot</span><span class="p">(</span><span class="n">H</span><span class="p">,</span> <span class="n">Sigma</span><span class="p">)</span> + <span class="k">if</span> <span class="n">a4</span><span class="p">.</span><span class="n">ndim</span> <span class="o">></span> <span class="mi">0</span><span class="p">:</span> + <span class="n">a4</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">trace</span><span class="p">(</span><span class="n">a4</span><span class="p">)</span> + <span class="k">return</span> <span class="n">a1</span> <span class="o">+</span> <span class="n">a2</span> <span class="o">+</span> <span class="p">(</span><span class="n">a3</span> <span class="o">+</span> <span class="n">a4</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span> + + +<span class="k">def</span> <span class="nf">test_expectation_approx</span><span class="p">():</span> + <span class="n">n</span><span class="p">,</span> <span class="n">d</span> <span class="o">=</span> <span class="mi">100</span><span class="p">,</span> <span class="mi">100</span> + <span class="n">mu</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">random</span><span class="p">.</span><span class="n">randn</span><span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="n">d</span><span class="p">)</span> + <span class="n">Sigma</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">random</span><span class="p">.</span><span class="n">randn</span><span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="n">d</span><span class="p">,</span> <span class="n">d</span><span class="p">)</span> + <span class="n">Sigma</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">matmul</span><span class="p">(</span><span class="n">Sigma</span><span class="p">,</span> <span class="n">np</span><span class="p">.</span><span class="n">transpose</span><span class="p">(</span><span class="n">Sigma</span><span class="p">,</span> <span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">)))</span> + <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">):</span> + <span class="n">actual</span> <span class="o">=</span> <span class="n">expectation_approx</span><span class="p">(</span><span class="n">mu</span><span class="p">[</span><span class="n">j</span><span class="p">],</span> <span class="n">Sigma</span><span class="p">[</span><span class="n">j</span><span class="p">],</span> <span class="n">mu</span><span class="p">[</span><span class="n">j</span><span class="p">],</span> <span class="n">logsoftmax</span><span class="p">,</span> + <span class="n">logsoftmax_jac</span><span class="p">,</span> <span class="n">logsoftmax_hess</span><span class="p">)</span> + <span class="n">expected</span> <span class="o">=</span> <span class="n">expectation_logsoftmax_approx_at_mu</span><span class="p">(</span><span class="n">mu</span><span class="p">[</span><span class="n">j</span><span class="p">],</span> <span class="n">Sigma</span><span class="p">[</span><span class="n">j</span><span class="p">])</span> + <span class="k">assert</span> <span class="n">np</span><span class="p">.</span><span class="n">allclose</span><span class="p">(</span><span class="n">actual</span><span class="p">,</span> <span class="n">expected</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">expectation_MC</span><span class="p">(</span><span class="n">fun</span><span class="p">,</span> <span class="n">rvs</span><span class="p">,</span> <span class="n">n</span><span class="p">):</span> + <span class="n">X</span> <span class="o">=</span> <span class="n">rvs</span><span class="p">(</span><span class="n">size</span><span class="o">=</span><span class="n">n</span><span class="p">)</span> + <span class="k">return</span> <span class="n">np</span><span class="p">.</span><span class="n">mean</span><span class="p">(</span><span class="n">fun</span><span class="p">(</span><span class="n">X</span><span class="p">),</span> <span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">multivariate_normal_rvs</span><span class="p">(</span><span class="n">mean</span><span class="p">,</span> <span class="n">cov</span><span class="p">):</span> + <span class="k">return</span> <span class="n">partial</span><span class="p">(</span><span class="n">stats</span><span class="p">.</span><span class="n">multivariate_normal</span><span class="p">.</span><span class="n">rvs</span><span class="p">,</span> <span class="n">mean</span><span class="o">=</span><span class="n">mean</span><span class="p">,</span> <span class="n">cov</span><span class="o">=</span><span class="n">cov</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">gamma_rvs</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span> + <span class="k">return</span> <span class="n">partial</span><span class="p">(</span><span class="n">stats</span><span class="p">.</span><span class="n">gamma</span><span class="p">.</span><span class="n">rvs</span><span class="p">,</span> <span class="n">a</span><span class="o">=</span><span class="n">a</span><span class="p">,</span> <span class="n">scale</span><span class="o">=</span><span class="mi">1</span> <span class="o">/</span> <span class="n">b</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">gamma_mean</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span> + <span class="k">return</span> <span class="n">a</span> <span class="o">/</span> <span class="n">b</span> + + +<span class="k">def</span> <span class="nf">gamma_mode</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span> + <span class="k">return</span> <span class="p">(</span><span class="n">a</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> <span class="o">/</span> <span class="n">b</span> + + +<span class="k">def</span> <span class="nf">gamma_cov</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">):</span> + <span class="k">return</span> <span class="n">a</span> <span class="o">/</span> <span class="n">b</span><span class="o">**</span><span class="mi">2</span> + + +<span class="k">def</span> <span class="nf">dirichlet_rvs</span><span class="p">(</span><span class="n">alpha</span><span class="p">):</span> + <span class="k">return</span> <span class="n">partial</span><span class="p">(</span><span class="n">stats</span><span class="p">.</span><span class="n">dirichlet</span><span class="p">.</span><span class="n">rvs</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="n">alpha</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">dirichlet_mean</span><span class="p">(</span><span class="n">alpha</span><span class="p">):</span> + <span class="n">alpha0</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="nb">sum</span><span class="p">(</span><span class="n">alpha</span><span class="p">)</span> + <span class="k">return</span> <span class="n">alpha</span> <span class="o">/</span> <span class="n">alpha0</span> + + +<span class="k">def</span> <span class="nf">dirichlet_mode</span><span class="p">(</span><span class="n">alpha</span><span class="p">):</span> + <span class="n">K</span> <span class="o">=</span> <span class="n">alpha</span><span class="p">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> + <span class="n">alpha0</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="nb">sum</span><span class="p">(</span><span class="n">alpha</span><span class="p">)</span> + <span class="k">return</span> <span class="p">(</span><span class="n">alpha</span> <span class="o">-</span> <span class="mi">1</span><span class="p">)</span> <span class="o">/</span> <span class="p">(</span><span class="n">alpha0</span> <span class="o">-</span> <span class="n">K</span><span class="p">)</span> + + +<span class="k">def</span> <span class="nf">dirichlet_cov</span><span class="p">(</span><span class="n">alpha</span><span class="p">):</span> + <span class="n">K</span> <span class="o">=</span> <span class="n">alpha</span><span class="p">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> + <span class="n">alpha0</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="nb">sum</span><span class="p">(</span><span class="n">alpha</span><span class="p">)</span> + <span class="k">return</span> <span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="n">eye</span><span class="p">(</span><span class="n">K</span><span class="p">)</span> <span class="o">*</span> <span class="n">alpha</span> <span class="o">*</span> <span class="n">alpha0</span> <span class="o">-</span> <span class="n">np</span><span class="p">.</span><span class="n">outer</span><span class="p">(</span><span class="n">alpha</span><span class="p">,</span> <span class="n">alpha</span><span class="p">))</span> <span class="o">/</span> <span class="p">(</span> + <span class="n">alpha0</span><span class="o">**</span><span class="mi">2</span> <span class="o">*</span> <span class="p">(</span><span class="n">alpha0</span> <span class="o">+</span> <span class="mi">1</span><span class="p">))</span> +</code></pre></div></div> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">from</span> <span class="nn">matplotlib</span> <span class="kn">import</span> <span class="n">pyplot</span> <span class="k">as</span> <span class="n">plt</span> +</code></pre></div></div> + +<p>We’d like to estimate $\mathbb E_{\boldsymbol x \sim p_X(\boldsymbol x)}[f(\boldsymbol x)]$. +The idea is to approximate the expectation by the 2nd-order Taylor expansion.</p> + +<p>Assume that the Tayler series is expanded at $\boldsymbol x = \boldsymbol a$:</p> + +\[\begin{aligned} + f(\boldsymbol x) &= f(\boldsymbol a) + \nabla f(\boldsymbol a)^\top(\boldsymbol x-\boldsymbol a) + \frac{1}{2}(\boldsymbol x-\boldsymbol a)^\top\mathbf H f(\boldsymbol a)(\boldsymbol x-\boldsymbol a)+R_2(\boldsymbol x)\\ + \mathbb E[f(\boldsymbol x)] &\approx f(\boldsymbol a) + \nabla f(\boldsymbol a)^\top (\boldsymbol\mu-\boldsymbol a) + \frac{1}{2}\big((\boldsymbol\mu-\boldsymbol a)^\top \mathbf H f(\boldsymbol a) (\boldsymbol\mu-\boldsymbol a) + \operatorname{tr}(\mathbf H f(\boldsymbol a) \boldsymbol\Sigma)\big)\,,\\ +\end{aligned}\] + +<p>with error bound (see definition <a href="https://myweb.uiowa.edu/pbreheny/7110/wiki/taylor-series.html#multivariable">here</a>; and Little-o notation <a href="https://mathworld.wolfram.com/Little-ONotation.html">here</a>):</p> + +\[\begin{aligned} + R_2(\boldsymbol x) &\in o(\|\boldsymbol x-\boldsymbol a\|^2)\\ + \mathbb E[R_2(\boldsymbol x)] &\in o(\|\boldsymbol\mu-\boldsymbol a\|^2 + \operatorname{tr}(\boldsymbol\Sigma))\,.\\ +\end{aligned}\] + +<p>It seems that if the Tayler series is not expanded at the mean, the error bound will increase.</p> + +<p>Give it a try on $\mathbb E_{x \sim \text{Exp}(\lambda)}[\log\operatorname{sigmoid}(x)]$, where $\text{Exp}(\lambda)$ is the exponential distribution, or Gamma distribution with parameter $a=1$. +The Monte Carlo result is taken as the groundtruth:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">a</span><span class="p">,</span> <span class="n">b</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span> +<span class="n">expected</span> <span class="o">=</span> <span class="n">expectation_MC</span><span class="p">(</span><span class="n">logsigmoid</span><span class="p">,</span> <span class="n">gamma_rvs</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">),</span> <span class="mi">100000</span><span class="p">)</span> +<span class="n">approx_at_mu</span> <span class="o">=</span> <span class="n">expectation_approx</span><span class="p">(</span><span class="n">gamma_mean</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">),</span> <span class="n">gamma_cov</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">),</span> <span class="n">gamma_mean</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">),</span> + <span class="n">logsigmoid</span><span class="p">,</span> <span class="n">logsigmoid_jac</span><span class="p">,</span> <span class="n">logsigmoid_hess</span><span class="p">)</span> +<span class="n">approx_at_mode</span> <span class="o">=</span> <span class="n">expectation_approx</span><span class="p">(</span><span class="n">gamma_mean</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">),</span> <span class="n">gamma_cov</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">),</span> <span class="n">gamma_mode</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">),</span> + <span class="n">logsigmoid</span><span class="p">,</span> <span class="n">logsigmoid_jac</span><span class="p">,</span> <span class="n">logsigmoid_hess</span><span class="p">)</span> +<span class="n">np</span><span class="p">.</span><span class="nb">abs</span><span class="p">(</span><span class="n">approx_at_mu</span> <span class="o">-</span> <span class="n">expected</span><span class="p">),</span> <span class="n">np</span><span class="p">.</span><span class="nb">abs</span><span class="p">(</span><span class="n">approx_at_mode</span> <span class="o">-</span> <span class="n">expected</span><span class="p">)</span> +</code></pre></div></div> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>(0.025421238663924095, 0.05700076508490559) +</code></pre></div></div> + +<p>Okay, so we’d better expand the Taylor series at mean.</p> + +<p>So now the expectation approximation reduces to</p> + +\[\mathbb E[f(\boldsymbol x)] \approx f(\boldsymbol\mu) + \frac{1}{2}\operatorname{tr}(\mathbf H f(\boldsymbol\mu) \boldsymbol\Sigma)\,,\] + +<p>by plugging in $\boldsymbol a=\boldsymbol\mu$, and with error bound</p> + +\[R_2(\boldsymbol x) \in o(\operatorname{tr}(\boldsymbol\Sigma))\,.\] + +<p>We may now verify that the error is indeed positively related to the trace of the covariance. +Take the approximation of $\mathbb E_{\boldsymbol x \sim \mathcal N(\boldsymbol\mu,\boldsymbol\Sigma)}[\log\operatorname{softmax}(\boldsymbol x)]$ as an example, and again regards the Monte Carlo result as the groundtruth:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">d</span> <span class="o">=</span> <span class="mi">50</span> +<span class="n">mu</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">random</span><span class="p">.</span><span class="n">randn</span><span class="p">(</span><span class="n">d</span><span class="p">)</span> +<span class="n">Sigma</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">random</span><span class="p">.</span><span class="n">randn</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="n">d</span><span class="p">)</span> +<span class="c1"># make the covariance positive semi-definite +</span><span class="n">Sigma</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">dot</span><span class="p">(</span><span class="n">Sigma</span><span class="p">.</span><span class="n">T</span><span class="p">,</span> <span class="n">Sigma</span><span class="p">)</span> + +<span class="n">expected</span> <span class="o">=</span> <span class="n">expectation_MC</span><span class="p">(</span><span class="n">logsoftmax</span><span class="p">,</span> <span class="n">multivariate_normal_rvs</span><span class="p">(</span><span class="n">mu</span><span class="p">,</span> <span class="n">Sigma</span><span class="p">),</span> <span class="mi">100000</span><span class="p">)</span> +<span class="n">approx</span> <span class="o">=</span> <span class="n">expectation_approx</span><span class="p">(</span><span class="n">mu</span><span class="p">,</span> <span class="n">Sigma</span><span class="p">,</span> <span class="n">mu</span><span class="p">,</span> <span class="n">logsoftmax</span><span class="p">,</span> <span class="n">logsoftmax_jac</span><span class="p">,</span> <span class="n">logsoftmax_hess</span><span class="p">)</span> +<span class="n">np</span><span class="p">.</span><span class="n">trace</span><span class="p">(</span><span class="n">Sigma</span><span class="p">),</span> <span class="n">np</span><span class="p">.</span><span class="n">mean</span><span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="nb">abs</span><span class="p">(</span><span class="n">approx</span> <span class="o">-</span> <span class="n">expected</span><span class="p">))</span> +</code></pre></div></div> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>(2534.8991641540433, 11.581681866513225) +</code></pre></div></div> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Sigma</span> <span class="o">/=</span> <span class="mi">1000</span> + +<span class="n">expected</span> <span class="o">=</span> <span class="n">expectation_MC</span><span class="p">(</span><span class="n">logsoftmax</span><span class="p">,</span> <span class="n">multivariate_normal_rvs</span><span class="p">(</span><span class="n">mu</span><span class="p">,</span> <span class="n">Sigma</span><span class="p">),</span> <span class="mi">100000</span><span class="p">)</span> +<span class="n">approx</span> <span class="o">=</span> <span class="n">expectation_approx</span><span class="p">(</span><span class="n">mu</span><span class="p">,</span> <span class="n">Sigma</span><span class="p">,</span> <span class="n">mu</span><span class="p">,</span> <span class="n">logsoftmax</span><span class="p">,</span> <span class="n">logsoftmax_jac</span><span class="p">,</span> <span class="n">logsoftmax_hess</span><span class="p">)</span> +<span class="n">np</span><span class="p">.</span><span class="n">trace</span><span class="p">(</span><span class="n">Sigma</span><span class="p">),</span> <span class="n">np</span><span class="p">.</span><span class="n">mean</span><span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="nb">abs</span><span class="p">(</span><span class="n">approx</span> <span class="o">-</span> <span class="n">expected</span><span class="p">))</span> +</code></pre></div></div> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>(2.5348991641540435, 0.0006679801955036791) +</code></pre></div></div> + +<p>The mean error drops by 25000 times as the trace decreases by 1000 times.</p> + +<p>Now take $\mathbb E_{\boldsymbol x \sim \text{Dirichlet}(\boldsymbol\alpha)}[\log\operatorname{softmax}(\boldsymbol x)]$ as another example:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">d</span> <span class="o">=</span> <span class="mi">5</span> +<span class="n">alpha</span> <span class="o">=</span> <span class="mi">6</span> <span class="o">/</span> <span class="n">d</span> <span class="o">*</span> <span class="n">np</span><span class="p">.</span><span class="n">ones</span><span class="p">(</span><span class="n">d</span><span class="p">)</span> +<span class="n">mu</span> <span class="o">=</span> <span class="n">dirichlet_mean</span><span class="p">(</span><span class="n">alpha</span><span class="p">)</span> +<span class="n">Sigma</span> <span class="o">=</span> <span class="n">dirichlet_cov</span><span class="p">(</span><span class="n">alpha</span><span class="p">)</span> + +<span class="n">expected</span> <span class="o">=</span> <span class="n">expectation_MC</span><span class="p">(</span><span class="n">logsoftmax</span><span class="p">,</span> <span class="n">dirichlet_rvs</span><span class="p">(</span><span class="n">alpha</span><span class="p">),</span> <span class="mi">100000</span><span class="p">)</span> +<span class="n">approx</span> <span class="o">=</span> <span class="n">expectation_approx</span><span class="p">(</span><span class="n">mu</span><span class="p">,</span> <span class="n">Sigma</span><span class="p">,</span> <span class="n">mu</span><span class="p">,</span> <span class="n">logsoftmax</span><span class="p">,</span> <span class="n">logsoftmax_jac</span><span class="p">,</span> <span class="n">logsoftmax_hess</span><span class="p">)</span> +<span class="n">np</span><span class="p">.</span><span class="n">trace</span><span class="p">(</span><span class="n">Sigma</span><span class="p">),</span> <span class="n">np</span><span class="p">.</span><span class="n">mean</span><span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="nb">abs</span><span class="p">(</span><span class="n">approx</span> <span class="o">-</span> <span class="n">expected</span><span class="p">))</span> +</code></pre></div></div> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>(0.11428571428571428, 0.0005659672760450097) +</code></pre></div></div> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">d</span> <span class="o">=</span> <span class="mi">5</span> +<span class="n">alpha</span> <span class="o">=</span> <span class="mi">60</span> <span class="o">/</span> <span class="n">d</span> <span class="o">*</span> <span class="n">np</span><span class="p">.</span><span class="n">ones</span><span class="p">(</span><span class="n">d</span><span class="p">)</span> +<span class="n">mu</span> <span class="o">=</span> <span class="n">dirichlet_mean</span><span class="p">(</span><span class="n">alpha</span><span class="p">)</span> +<span class="n">Sigma</span> <span class="o">=</span> <span class="n">dirichlet_cov</span><span class="p">(</span><span class="n">alpha</span><span class="p">)</span> + +<span class="n">expected</span> <span class="o">=</span> <span class="n">expectation_MC</span><span class="p">(</span><span class="n">logsoftmax</span><span class="p">,</span> <span class="n">dirichlet_rvs</span><span class="p">(</span><span class="n">alpha</span><span class="p">),</span> <span class="mi">100000</span><span class="p">)</span> +<span class="n">approx</span> <span class="o">=</span> <span class="n">expectation_approx</span><span class="p">(</span><span class="n">mu</span><span class="p">,</span> <span class="n">Sigma</span><span class="p">,</span> <span class="n">mu</span><span class="p">,</span> <span class="n">logsoftmax</span><span class="p">,</span> <span class="n">logsoftmax_jac</span><span class="p">,</span> <span class="n">logsoftmax_hess</span><span class="p">)</span> +<span class="n">np</span><span class="p">.</span><span class="n">trace</span><span class="p">(</span><span class="n">Sigma</span><span class="p">),</span> <span class="n">np</span><span class="p">.</span><span class="n">mean</span><span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="nb">abs</span><span class="p">(</span><span class="n">approx</span> <span class="o">-</span> <span class="n">expected</span><span class="p">))</span> +</code></pre></div></div> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>(0.013114754098360656, 0.0001473556430732881) +</code></pre></div></div> + +<p>The mean error drops three times as the trace decreases by ten times.</p> + +<p>Hence, the error is certainly positively related to the trace of the covariance.</p> + +<p>To conclude the notebook, assuming that the underlying distribution is multivariate Gaussian, let’s see if the approximation conforms to intuition when $f$ is sigmoid or softmax – to see if the expectation fails within the range of sigmoid or softmax.</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">mu</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">array</span><span class="p">(</span><span class="mf">1.7</span><span class="p">)</span> +<span class="n">Sigma</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">logspace</span><span class="p">(</span><span class="o">-</span><span class="mi">7</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">10</span><span class="p">)</span> +<span class="n">approxes</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">array</span><span class="p">([</span><span class="n">expectation_approx</span><span class="p">(</span><span class="n">mu</span><span class="p">,</span> <span class="n">Sigma</span><span class="p">[</span><span class="n">j</span><span class="p">],</span> <span class="n">mu</span><span class="p">,</span> <span class="n">sigmoid</span><span class="p">,</span> <span class="n">sigmoid_jac</span><span class="p">,</span> <span class="n">sigmoid_hess</span><span class="p">)</span> + <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Sigma</span><span class="p">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">])])</span> +<span class="n">expected</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">array</span><span class="p">([</span><span class="n">expectation_MC</span><span class="p">(</span><span class="n">sigmoid</span><span class="p">,</span> <span class="n">multivariate_normal_rvs</span><span class="p">(</span><span class="n">mu</span><span class="p">,</span> <span class="n">Sigma</span><span class="p">[</span><span class="n">j</span><span class="p">]),</span> <span class="mi">100000</span><span class="p">)</span> + <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Sigma</span><span class="p">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">])])</span> +<span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="p">.</span><span class="n">subplots</span><span class="p">()</span> +<span class="n">ax</span><span class="p">.</span><span class="n">plot</span><span class="p">(</span><span class="n">Sigma</span><span class="p">,</span> <span class="n">approxes</span><span class="p">,</span> <span class="n">marker</span><span class="o">=</span><span class="s">'o'</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s">'approximation'</span><span class="p">)</span> +<span class="n">ax</span><span class="p">.</span><span class="n">plot</span><span class="p">(</span><span class="n">Sigma</span><span class="p">,</span> <span class="n">expected</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s">'--'</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s">'red'</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s">'groundtruth'</span><span class="p">)</span> +<span class="n">ax</span><span class="p">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="sa">r</span><span class="s">'$\operatorname{tr}(\Sigma)$'</span><span class="p">)</span> +<span class="n">ax</span><span class="p">.</span><span class="n">set_xscale</span><span class="p">(</span><span class="s">'log'</span><span class="p">)</span> +<span class="n">ax</span><span class="p">.</span><span class="n">legend</span><span class="p">()</span> +<span class="n">ax</span><span class="p">.</span><span class="n">grid</span><span class="p">()</span> +</code></pre></div></div> + +<p><img src="/assets/posts_imgs/2023-10-04/output_11_0.png" alt="output_11_0"></p> + +<p>For sigmoid, after the trace of the covariance exceeds 1.0, the approximation starts to deviate from the groundtruth.</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">d</span> <span class="o">=</span> <span class="mi">384</span> +<span class="n">mu</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">random</span><span class="p">.</span><span class="n">randn</span><span class="p">(</span><span class="n">d</span><span class="p">)</span> +<span class="n">Sigma</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">random</span><span class="p">.</span><span class="n">randn</span><span class="p">(</span><span class="n">d</span><span class="p">,</span> <span class="n">d</span><span class="p">)</span> +<span class="n">Sigma</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">dot</span><span class="p">(</span><span class="n">Sigma</span><span class="p">.</span><span class="n">T</span><span class="p">,</span> <span class="n">Sigma</span><span class="p">)</span> +<span class="n">a</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">logspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">7</span><span class="p">,</span> <span class="mi">8</span><span class="p">)[::</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> +<span class="n">approxes</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">stack</span><span class="p">([</span><span class="n">expectation_approx</span><span class="p">(</span><span class="n">mu</span><span class="p">,</span> <span class="n">Sigma</span> <span class="o">/</span> <span class="n">a</span><span class="p">[</span><span class="n">j</span><span class="p">],</span> <span class="n">mu</span><span class="p">,</span> <span class="n">softmax</span><span class="p">,</span> <span class="n">softmax_jac</span><span class="p">,</span> <span class="n">softmax_hess</span><span class="p">)</span> + <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">a</span><span class="p">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">])])</span> +<span class="n">expected</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">stack</span><span class="p">([</span><span class="n">expectation_MC</span><span class="p">(</span><span class="n">softmax</span><span class="p">,</span> <span class="n">multivariate_normal_rvs</span><span class="p">(</span><span class="n">mu</span><span class="p">,</span> <span class="n">Sigma</span> <span class="o">/</span> <span class="n">a</span><span class="p">[</span><span class="n">j</span><span class="p">]),</span> <span class="mi">100000</span><span class="p">)</span> + <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">a</span><span class="p">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">])])</span> +<span class="n">traces</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">trace</span><span class="p">(</span><span class="n">Sigma</span><span class="p">[</span><span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">]</span> <span class="o">/</span> <span class="n">a</span><span class="p">[:,</span> <span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">,</span> <span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">],</span> <span class="n">axis1</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">axis2</span><span class="o">=</span><span class="mi">2</span><span class="p">)</span> +<span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="p">.</span><span class="n">subplots</span><span class="p">()</span> +<span class="n">ax</span><span class="p">.</span><span class="n">plot</span><span class="p">(</span><span class="n">traces</span><span class="p">,</span> <span class="n">np</span><span class="p">.</span><span class="n">mean</span><span class="p">(</span><span class="n">approxes</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">),</span> <span class="n">color</span><span class="o">=</span><span class="s">'blue'</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.8</span><span class="p">,</span> <span class="n">marker</span><span class="o">=</span><span class="s">'o'</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s">'approximation'</span><span class="p">)</span> +<span class="n">ax</span><span class="p">.</span><span class="n">fill_between</span><span class="p">(</span><span class="n">traces</span><span class="p">,</span> <span class="n">np</span><span class="p">.</span><span class="nb">max</span><span class="p">(</span><span class="n">approxes</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">),</span> <span class="n">np</span><span class="p">.</span><span class="nb">min</span><span class="p">(</span><span class="n">approxes</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">),</span> <span class="n">color</span><span class="o">=</span><span class="s">'blue'</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.2</span><span class="p">)</span> +<span class="n">ax</span><span class="p">.</span><span class="n">plot</span><span class="p">(</span><span class="n">traces</span><span class="p">,</span> <span class="n">np</span><span class="p">.</span><span class="n">mean</span><span class="p">(</span><span class="n">expected</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">),</span> <span class="n">color</span><span class="o">=</span><span class="s">'red'</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.8</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s">'--'</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s">'groundtruth'</span><span class="p">)</span> +<span class="n">ax</span><span class="p">.</span><span class="n">fill_between</span><span class="p">(</span><span class="n">traces</span><span class="p">,</span> <span class="n">np</span><span class="p">.</span><span class="nb">max</span><span class="p">(</span><span class="n">expected</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">),</span> <span class="n">np</span><span class="p">.</span><span class="nb">min</span><span class="p">(</span><span class="n">expected</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">),</span> <span class="n">color</span><span class="o">=</span><span class="s">'red'</span><span class="p">,</span> <span class="n">alpha</span><span class="o">=</span><span class="mf">0.2</span><span class="p">)</span> +<span class="n">ax</span><span class="p">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="sa">r</span><span class="s">'$\operatorname{tr}(\Sigma)$'</span><span class="p">)</span> +<span class="n">ax</span><span class="p">.</span><span class="n">set_xscale</span><span class="p">(</span><span class="s">'log'</span><span class="p">)</span> +<span class="n">ax</span><span class="p">.</span><span class="n">legend</span><span class="p">()</span> +<span class="n">ax</span><span class="p">.</span><span class="n">grid</span><span class="p">()</span> +</code></pre></div></div> + +<p><img src="/assets/posts_imgs/2023-10-04/output_13_0.png" alt="output_13_0"></p> + +<p>For softmax, after the trace of the covariance exceeds 1000, the range of the expectation starts to be counterintuitive.</p> + + </div> +<a class="u-url" href="/2023/10/04/estimate-expectation-of-function-of-random-variable.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2023/10/06/dimensionality-reduction-by-svd.html b/2023/10/06/dimensionality-reduction-by-svd.html new file mode 100644 index 000000000..cfdeef114 --- /dev/null +++ b/2023/10/06/dimensionality-reduction-by-svd.html @@ -0,0 +1,152 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Dimensionality reduction by SVD | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Dimensionality reduction by SVD"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="Let $\mathbf X \in \mathbb R^{m \times d}$ be data matrix where the $t$-th row is the $t$-th item in the dataset. One may achieve dimensionality reduction from $\mathbf X$ to $\tilde{\mathbf X}$, by computing the SVD: $\mathbf X = \mathbf U \mathbf S \mathbf V^\top$, and let $\tilde{\mathbf X} = \mathbf U_k\mathbf S_k$, where $\mathbf U_k$ is the first $k$ columns of $\mathbf U$ and $\mathbf S_k$ is a diagonal matrix of the first $k$ diagonal elements of $\mathbf S$. The idea behind this process can be viewed as either the classic MDS or PCA."> +<meta property="og:description" content="Let $\mathbf X \in \mathbb R^{m \times d}$ be data matrix where the $t$-th row is the $t$-th item in the dataset. One may achieve dimensionality reduction from $\mathbf X$ to $\tilde{\mathbf X}$, by computing the SVD: $\mathbf X = \mathbf U \mathbf S \mathbf V^\top$, and let $\tilde{\mathbf X} = \mathbf U_k\mathbf S_k$, where $\mathbf U_k$ is the first $k$ columns of $\mathbf U$ and $\mathbf S_k$ is a diagonal matrix of the first $k$ diagonal elements of $\mathbf S$. The idea behind this process can be viewed as either the classic MDS or PCA."> +<link rel="canonical" href="https://kkew3.github.io/2023/10/06/dimensionality-reduction-by-svd.html"> +<meta property="og:url" content="https://kkew3.github.io/2023/10/06/dimensionality-reduction-by-svd.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2023-10-06T08:43:30+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Dimensionality reduction by SVD"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2023-10-06T08:43:30+00:00","datePublished":"2023-10-06T08:43:30+00:00","description":"Let $\\mathbf X \\in \\mathbb R^{m \\times d}$ be data matrix where the $t$-th row is the $t$-th item in the dataset. One may achieve dimensionality reduction from $\\mathbf X$ to $\\tilde{\\mathbf X}$, by computing the SVD: $\\mathbf X = \\mathbf U \\mathbf S \\mathbf V^\\top$, and let $\\tilde{\\mathbf X} = \\mathbf U_k\\mathbf S_k$, where $\\mathbf U_k$ is the first $k$ columns of $\\mathbf U$ and $\\mathbf S_k$ is a diagonal matrix of the first $k$ diagonal elements of $\\mathbf S$. The idea behind this process can be viewed as either the classic MDS or PCA.","headline":"Dimensionality reduction by SVD","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2023/10/06/dimensionality-reduction-by-svd.html"},"url":"https://kkew3.github.io/2023/10/06/dimensionality-reduction-by-svd.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +<script>MathJax={"tex":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]]},"svg":{"fontCache":"global"}}</script><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Dimensionality reduction by SVD</h1> + <span><a href="https://kkew3.github.io/tags/math--la"><code class="highlighter-rouge"><nobr>math/linear algebra</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2023-10-06T08:43:30+00:00" itemprop="datePublished">Oct 6, 2023 at 08:43:30 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>Let $\mathbf X \in \mathbb R^{m \times d}$ be data matrix where the $t$-th row is the $t$-th item in the dataset. +One may achieve dimensionality reduction from $\mathbf X$ to $\tilde{\mathbf X}$, by computing the SVD: $\mathbf X = \mathbf U \mathbf S \mathbf V^\top$, and let $\tilde{\mathbf X} = \mathbf U_k\mathbf S_k$, where $\mathbf U_k$ is the first $k$ columns of $\mathbf U$ and $\mathbf S_k$ is a diagonal matrix of the first $k$ diagonal elements of $\mathbf S$. +The idea behind this process can be viewed as either the classic MDS or PCA.</p> + +<p>In classic MDS, one wants to maintain as much as possible the inner product matrix $\mathbf X\mathbf X^\top = \sum_{j=1}^r \sigma_j^2 \boldsymbol u_j \boldsymbol u_j^\top$ where $\sigma_j$’s have been sorted in descending order. +Clearly, one may perform low-rank approximation of $\mathbf X$ by $\tilde{\mathbf X} = \mathbf U_k \mathbf S_k$ such that $\mathbf X \mathbf X^\top \approx \tilde{\mathbf X}\tilde{\mathbf X}^\top$.</p> + +<p>In PCA, one aims to find the orthonormal transformation matrix $\mathbf V_k$, which is the first $k$ columns of the eigenvectors of the covariance matrix $\mathbf X^\top \mathbf X$ (up to a constant) where the eigenvalues have been sorted in descending order, and then reaches the low-dimensional representation $\mathbf X \mathbf V_k$, which is identical to $\mathbf U_k \mathbf S_k$.</p> + +<p>One point to note is that, if the data matrix is arranged as $\mathbf X’ \in \mathbb R^{d \times m}$, where each column is a vector in the dataset, and let $\mathbf X’ = \mathbf U \mathbf S \mathbf V^\top$ instead, then the low-dimensional representation will be $\mathbf S_k \mathbf V_k^\top$. +Let’s derive this with PCA: +The covariance matrix is now $\mathbf X’ \mathbf X^{\prime\top}$ and so the transformed data matrix is $\mathbf U^\top \mathbf X’$. +By SVD, clearly it equals $\mathbf S_k V_k^\top$.</p> + +<p>As a matter of fact, if we denote $\mathbf X=\mathbf U_1 \mathbf S_1 \mathbf V_1^\top$ and $\mathbf X^\top = \mathbf V_2 \mathbf S_2 \mathbf U_2^\top$, then it should turn out that $(\mathbf U_1 \mathbf S_1)^\top = \mathbf S_2 \mathbf U_2^\top$. +Let’s write Python3 code to verify this:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="n">np</span> + +<span class="n">X</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">random</span><span class="p">.</span><span class="n">randn</span><span class="p">(</span><span class="mi">1000</span><span class="p">,</span> <span class="mi">100</span><span class="p">)</span> + +<span class="n">U1</span><span class="p">,</span> <span class="n">S1</span><span class="p">,</span> <span class="n">VT1</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">linalg</span><span class="p">.</span><span class="n">svd</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">full_matrices</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span> +<span class="n">V2</span><span class="p">,</span> <span class="n">S2</span><span class="p">,</span> <span class="n">UT2</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">linalg</span><span class="p">.</span><span class="n">svd</span><span class="p">(</span><span class="n">X</span><span class="p">.</span><span class="n">T</span><span class="p">,</span> <span class="n">full_matrices</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span> +<span class="k">assert</span> <span class="n">np</span><span class="p">.</span><span class="n">allclose</span><span class="p">((</span><span class="n">U1</span> <span class="o">@</span> <span class="n">np</span><span class="p">.</span><span class="n">diag</span><span class="p">(</span><span class="n">S1</span><span class="p">)).</span><span class="n">T</span><span class="p">,</span> <span class="n">np</span><span class="p">.</span><span class="n">diag</span><span class="p">(</span><span class="n">S2</span><span class="p">)</span> <span class="o">@</span> <span class="n">UT2</span><span class="p">)</span> +</code></pre></div></div> + +<p>It could occurs that the assertion fails. +The reason is that given diagonal matrix $\mathbf Q$ where its diagonal elements be either $1$ or $-1$, and given SVD $\mathbf X = \mathbf U \mathbf S \mathbf V^\top$, the following holds for any such $\mathbf Q$: $\mathbf X = \mathbf U \mathbf Q \mathbf S \mathbf Q^\top \mathbf V^\top$. +We need to take into account this case. +Rewriting the code as:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="n">np</span> + +<span class="n">X</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">random</span><span class="p">.</span><span class="n">randn</span><span class="p">(</span><span class="mi">1000</span><span class="p">,</span> <span class="mi">100</span><span class="p">)</span> + +<span class="n">U1</span><span class="p">,</span> <span class="n">S1</span><span class="p">,</span> <span class="n">VT1</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">linalg</span><span class="p">.</span><span class="n">svd</span><span class="p">(</span><span class="n">X</span><span class="p">,</span> <span class="n">full_matrices</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span> +<span class="n">V2</span><span class="p">,</span> <span class="n">S2</span><span class="p">,</span> <span class="n">UT2</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">linalg</span><span class="p">.</span><span class="n">svd</span><span class="p">(</span><span class="n">X</span><span class="p">.</span><span class="n">T</span><span class="p">,</span> <span class="n">full_matrices</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span> +<span class="c1"># assert np.allclose((U1 @ np.diag(S1)).T, np.diag(S2) @ UT2) +</span> +<span class="n">q</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">mean</span><span class="p">(</span><span class="n">U1</span> <span class="o">/</span> <span class="n">UT2</span><span class="p">.</span><span class="n">T</span><span class="p">,</span> <span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span> +<span class="k">assert</span> <span class="n">np</span><span class="p">.</span><span class="n">allclose</span><span class="p">(</span><span class="n">q</span><span class="p">,</span> <span class="n">U1</span> <span class="o">/</span> <span class="n">UT2</span><span class="p">.</span><span class="n">T</span><span class="p">)</span> +<span class="n">Q</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">diag</span><span class="p">(</span><span class="n">q</span><span class="p">)</span> +<span class="k">assert</span> <span class="n">np</span><span class="p">.</span><span class="n">allclose</span><span class="p">((</span><span class="n">U1</span> <span class="o">@</span> <span class="n">np</span><span class="p">.</span><span class="n">diag</span><span class="p">(</span><span class="n">S1</span><span class="p">)).</span><span class="n">T</span><span class="p">,</span> <span class="n">np</span><span class="p">.</span><span class="n">diag</span><span class="p">(</span><span class="n">S2</span><span class="p">)</span> <span class="o">@</span> <span class="n">Q</span> <span class="o">@</span> <span class="n">UT2</span><span class="p">)</span> +</code></pre></div></div> + +<p>We should now pass the assertion.</p> + + </div> +<a class="u-url" href="/2023/10/06/dimensionality-reduction-by-svd.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2023/11/03/map-estimation-cov-gmm.html b/2023/11/03/map-estimation-cov-gmm.html new file mode 100644 index 000000000..06fd98c29 --- /dev/null +++ b/2023/11/03/map-estimation-cov-gmm.html @@ -0,0 +1,169 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Maximum a posteriori estimation of the covariance in Gaussian Mixture models | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Maximum a posteriori estimation of the covariance in Gaussian Mixture models"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="plate diagram of a Gaussian Mixture model"> +<meta property="og:description" content="plate diagram of a Gaussian Mixture model"> +<link rel="canonical" href="https://kkew3.github.io/2023/11/03/map-estimation-cov-gmm.html"> +<meta property="og:url" content="https://kkew3.github.io/2023/11/03/map-estimation-cov-gmm.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2023-11-03T08:03:17+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Maximum a posteriori estimation of the covariance in Gaussian Mixture models"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2023-11-03T08:03:17+00:00","datePublished":"2023-11-03T08:03:17+00:00","description":"plate diagram of a Gaussian Mixture model","headline":"Maximum a posteriori estimation of the covariance in Gaussian Mixture models","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2023/11/03/map-estimation-cov-gmm.html"},"url":"https://kkew3.github.io/2023/11/03/map-estimation-cov-gmm.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +<script>MathJax={"tex":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]]},"svg":{"fontCache":"global"}}</script><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Maximum a posteriori estimation of the covariance in Gaussian Mixture models</h1> + <span><a href="https://kkew3.github.io/tags/math--prob"><code class="highlighter-rouge"><nobr>math/probability</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2023-11-03T08:03:17+00:00" itemprop="datePublished">Nov 3, 2023 at 08:03:17 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <center> +<img src="/assets/posts_imgs/2023-11-03/plate.jpg" alt="plate diagram of a GMM"> +<p><em>plate diagram of a Gaussian Mixture model</em></p> +</center> + +<p>The goal is to maximize $\log P(\boldsymbol\Sigma \mid \mathbf x, \boldsymbol\mu,\boldsymbol\alpha)$. +$T$ is the number of samples. +$K$ is the number of Gaussian components. +The dataset is $\mathbf X \triangleq \{\boldsymbol x_t\}_{t=1}^T$.</p> + +<p>By expectation-maximization paradigm:</p> + +\[\begin{aligned} + \log P(\boldsymbol\Sigma \mid \mathbf X, \boldsymbol\mu,\boldsymbol\alpha) + &= \log P(\mathbf X \mid \boldsymbol\Sigma,\boldsymbol\mu,\boldsymbol\alpha) + \log P(\boldsymbol\Sigma) + \text{constant}\\ + &= \sum_{t=1}^T \log P(\boldsymbol x_t \mid \boldsymbol\Sigma,\boldsymbol\mu,\boldsymbol\alpha) + \log P(\boldsymbol\Sigma) + \text{constant}\\ + &= \sum_{t=1}^T \log \sum_{k=1}^K P(\boldsymbol x_t,Z_t=k \mid \boldsymbol\Sigma,\boldsymbol\mu,\boldsymbol\alpha) + \log \sum_{k=1}^K P(\boldsymbol\Sigma_k) + \text{constant}\\ + &\ge \sum_{t=1}^T \sum_{k=1}^K P(Z_t=k \mid \mathbf X) \log \left[ \frac{P(\boldsymbol x_t, Z_t=k \mid \boldsymbol\Sigma,\boldsymbol\mu,\boldsymbol\alpha)}{P(Z_t=k \mid \mathbf X)} \right] + \sum_{k=1}^K \log P(\boldsymbol\Sigma_k)\,.\\ +\end{aligned}\] + +<p>It’s straightforward to compute $P(Z_t=k \mid \mathbf X)$ using Bayes law at E-step. +Denote it as $r_{tk}$. +The part we need to maximize at M-step is:</p> + +\[Q(\boldsymbol\Sigma,\boldsymbol\mu,\boldsymbol\alpha) += \sum_{t=1}^T \sum_{k=1}^K r_{tk} [\log P(Z_t=k \mid \boldsymbol\alpha) + \log \mathcal N(\boldsymbol x_t \mid \boldsymbol\Sigma_k,\boldsymbol\mu_k)] + \sum_{k=1}^K \log P(\boldsymbol\Sigma_k)\,.\] + +<p>Note that</p> + +\[\log\mathcal N(\boldsymbol x_t \mid \boldsymbol\Sigma_k,\boldsymbol\mu_k) += \frac{1}{2}\log\det \boldsymbol\Sigma_k^{-1} - \frac{1}{2}(\boldsymbol x_t-\boldsymbol\mu_k)^\top \boldsymbol\Sigma_k^{-1} (\boldsymbol x_t-\boldsymbol\mu_k) + \text{constant}\,,\] + +<p>that we’ll not focus on the MLE of $\boldsymbol\alpha$ (by Lagrangian multiplier) and $\boldsymbol\mu$, and that the optimization for different $k$’s are independent, we may further simplify the equation to</p> + +\[Q(\boldsymbol\Sigma_k) = \sum_{t=1}^T r_{tk} \left[ \frac{1}{2}\log\det \boldsymbol\Sigma_k^{-1} - \frac{1}{2}(\boldsymbol x_t-\boldsymbol\mu_k)^\top \boldsymbol\Sigma_k^{-1}(\boldsymbol x_t-\boldsymbol\mu_k) \right] + P(\boldsymbol\Sigma_k)\,.\] + +<p>Using properties of the trace operator,</p> + +\[Q(\boldsymbol\Sigma_k) = \frac{1}{2}\sum_{t=1}^T r_{tk} [\log\det \boldsymbol\Sigma_k^{-1} - \operatorname{tr}(\mathbf S_{tk} \boldsymbol\Sigma_k^{-1})] + P(\boldsymbol\Sigma_k)\,,\] + +<p>where $S_{tk} \triangleq (\boldsymbol x_t-\boldsymbol\mu_k)(\boldsymbol x_t-\boldsymbol\mu_k)^\top$. +For the conjugate prior $P(\boldsymbol\Sigma_k)$, we choose the inverse Wishart distribution:</p> + +\[\operatorname{IW}(\boldsymbol\Sigma_k \mid \mathbf S_0^{-1},\nu_0) \propto (\det \boldsymbol\Sigma_k)^{-N_0/2}\exp\left(-\frac{1}{2}\operatorname{tr}(\mathbf S_0 \boldsymbol\Sigma_k^{-1})\right)\,,\] + +<p>where $N_0 \triangleq \nu_0 + D + 1$, and $D$ be the dimension of $\boldsymbol x_t$. +Thus,</p> + +\[Q(\boldsymbol\Sigma_k) = \frac{1}{2}\sum_{t=1}^T r_{tk} [\log\det \boldsymbol\Sigma_k^{-1} - \operatorname{tr}(\mathbf S_{tk} \boldsymbol\Sigma_k^{-1})] + \frac{1}{2}[N_0 \log\det \boldsymbol\Sigma_k^{-1} - \operatorname{tr}(\mathbf S_0 \boldsymbol\Sigma_k^{-1})]\,.\] + +<p>Computing the partial derivative of $Q$ with respect to $\Sigma_k^{-1}$ and equating the partial derivative to zero, we have:</p> + +\[\begin{aligned} + 0 &= \frac{\partial Q}{\partial \boldsymbol\Sigma_k^{-1}}\\ + &= \frac{1}{2}\sum_{t=1}^T r_{tk} (\boldsymbol\Sigma_k^\top - \mathbf S_{tk}^\top) + \frac{1}{2} (N_0 \boldsymbol\Sigma_k^\top - \mathbf S_0^\top)\\ + &= \frac{1}{2} \sum_{t=1}^T r_{tk} (\boldsymbol\Sigma_k-\mathbf S_{tk}) + \frac{1}{2}(N_0 \boldsymbol\Sigma_k-\mathbf S_0)\\ + \boldsymbol\Sigma_k &= \frac{\mathbf S_0 + \sum_{t=1}^T r_{tk} \mathbf S_{tk}}{N_0 + \sum_{t=1}^T r_{tk}}\,.\\ +\end{aligned}\] + +<p><strong>Further reading</strong>:</p> + +<p>Section 4.6.2 and 11.4.2.8 of: +<em>Kevin P Murphy. Machine learning: a probabilistic perspective. MIT press, 2012.</em></p> + + </div> +<a class="u-url" href="/2023/11/03/map-estimation-cov-gmm.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2023/11/28/toss-coin.html b/2023/11/28/toss-coin.html new file mode 100644 index 000000000..ad52139db --- /dev/null +++ b/2023/11/28/toss-coin.html @@ -0,0 +1,274 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Estimate the head probability of a coin | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Estimate the head probability of a coin"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="The problem"> +<meta property="og:description" content="The problem"> +<link rel="canonical" href="https://kkew3.github.io/2023/11/28/toss-coin.html"> +<meta property="og:url" content="https://kkew3.github.io/2023/11/28/toss-coin.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2023-11-28T11:55:37+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Estimate the head probability of a coin"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2023-11-28T11:55:37+00:00","datePublished":"2023-11-28T11:55:37+00:00","description":"The problem","headline":"Estimate the head probability of a coin","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2023/11/28/toss-coin.html"},"url":"https://kkew3.github.io/2023/11/28/toss-coin.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +<script>MathJax={"tex":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]]},"svg":{"fontCache":"global"}}</script><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Estimate the head probability of a coin</h1> + <span><a href="https://kkew3.github.io/tags/math--prob"><code class="highlighter-rouge"><nobr>math/probability</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2023-11-28T11:55:37+00:00" itemprop="datePublished">Nov 28, 2023 at 11:55:37 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <h2 id="the-problem">The problem</h2> + +<p>Toss a coin $T$ times. +Let $X=\{x_1,\dots,x_T\} \in \{+,-\}^T$ be the result. +Let $N_+ = \sum_{t=1}^T\mathbb I(x_t=+)$, $N_- = \sum_{t=1}^T\mathbb I(x_t=-)$. +Let $P(x=+ \mid \theta)$ be the probability that the coin shows head in a toss. +How to estimate $\theta$ from $X$?</p> + +<h2 id="mle">MLE</h2> + +\[\arg\max \log P(X \mid \theta) = \arg\max \big(N_+\log\theta + N_-\log(1-\theta)\big)\,.\] + +<p>Taking derivative w.r.t. $\theta$ and letting it equal to zero yields</p> + +\[\theta = \frac{N_+}{N_+ + N_-}\,.\] + +<p>As can be easily observed, it overfit when there’s not enough data(, e.g. when $N_+=6$, $N_-=0$).</p> + +<h2 id="map">MAP</h2> + +<p>Apply a beta prior $P(\theta \mid a, b) = \mathrm{Beta}(\theta \mid a, b)$. +Set $a = b = 2$ so that it’s proper.</p> + +\[\arg\max \log P(\theta \mid X, a, b) = \arg\max \big(\log P(\theta \mid a, b) + \log P(X \mid \theta)\big)\,.\] + +<p>Similarly, this yields</p> + +\[\theta = \frac{N_+ + a - 1}{N_+ + N_- + a + b - 2} = \frac{N_+ + 1}{N_+ + N_- + 2}\,.\] + +<p>This is also called Laplace smoothing.</p> + +<h2 id="full-bayesian">Full Bayesian</h2> + +<p>Apply a prior $P(\theta \mid a, b) = \mathrm{Beta}(\theta \mid a, b)$, and find the posterior:</p> + +\[P(\theta \mid X, a, b) = \frac{P(\theta \mid a, b) P(X \mid \theta)}{\int_0^1 P(\theta \mid a, b) P(X \mid \theta) \mathrm d \theta}\,.\] + +<p>To address the integral, notice that</p> + +\[\int_0^1 x^\alpha (1-x)^\beta \mathrm dx = B(\alpha+1,\beta+1) = \frac{\Gamma(\alpha+1)\Gamma(\beta+1)}{\Gamma(\alpha+\beta+2)}\,,\] + +<p>where $B(\cdot,\cdot)$ is the beta function, and $\Gamma(\cdot)$ is the gamma function. +Therefore,</p> + +\[P(\theta \mid X, a, b) = \mathrm{Beta}(\theta \mid N_+ + a, N_- + b)\,.\] + +<p>Now it’s straightforward to estimate the uncertainty in $\theta$ given $a$ and $b$.</p> + +<h2 id="empirical-bayes">Empirical Bayes</h2> + +<p>Here we abuse the term “empirical Bayes” since it original refers to a graphic model like this:</p> + +<p><img src="/assets/posts_imgs/2023-11-28/classic_empirical_bayes.jpg" alt="empirical bayes"></p> + +<p>Whereas the model we are using is like this:</p> + +<p><img src="/assets/posts_imgs/2023-11-28/coin_with_prior.jpg" alt="coin model"></p> + +<p>Since the derivation is similar (use of EM), we’ll continue with that notation.</p> + +<p>Again, apply a beta prior $P(\theta \mid a, b)$, but now we regard $(a,b)$ as unknown parameters. +By EM, the auxiliary function $Q$ is,</p> + +\[\log P(X \mid a, b) \ge Q(P, \tilde P) = \int_0^1 P(\theta \mid X, a^{(t-1)}, b^{(t-1)}) \log \tilde P(X, \theta \mid a, b) \mathrm d \theta\,,\] + +<p>where at E-step, we have already computed $P(\theta \mid X, a^{(t-1)}, b^{(t-1)})$. +Factorizing the logarithm,</p> + +\[\log \tilde P(X,\theta \mid a,b) = \log \tilde P(\theta \mid a,b) + \log \tilde P(X \mid \theta)\,,\] + +<p>we notece that the second term on the r.h.s. does not rely on $a,b$. +Therefore, we need only to optimize over the first term. +So now the auxiliary function reduces to</p> + +\[\begin{aligned} +Q(P, \tilde P) +&= \int_0^1 P(\theta \mid X, a^{(t-1)},b^{(t-1)}) \log \tilde P(\theta \mid a, b)\\ +&= \int_0^1 \mathrm{Beta}(\theta \mid N_+ + a^{(t-1)}, N_- + b^{(t-1)}) \log \mathrm{Beta}(\theta \mid a, b)\,.\\ +\end{aligned}\] + +<p>Taking partial derivative w.r.t. $a$ on both sides:</p> + +\[\begin{aligned} +\frac{\partial Q}{\partial a} +&= \frac{\partial}{\partial a} \int_0^1 \mathrm{Beta}(\theta \mid N_++a^{(t-1)},N_-+b^{(t-1)}) \log \mathrm{Beta}(\theta \mid a,b)\\ +&= \frac{\partial}{\partial a}\int_0^1 \mathrm{Beta}(\theta \mid N_++a^{(t-1)},N_-+b^{(t-1)}) [(a-1)\log\theta + (b-1)\log(1-\theta) - \log B(a,b)] \mathrm d \theta\\ +&= \int_0^1 \mathrm{Beta}(\theta \mid N_++a^{(t-1)},N_-+b^{(t-1)}) \frac{\partial}{\partial a} [(a-1)\log\theta + (b-1)\log(1-\theta) - \log B(a,b)] \mathrm d \theta\\ +&= \int_0^1 \mathrm{Beta}(\theta \mid N_++a^{(t-1)},N_-+b^{(t-1)}) \left[\log\theta - \frac{\partial}{\partial a}\log B(a,b)\right] \mathrm d\theta\\ +&= \int_0^1 \mathrm{Beta}(\theta \mid N_++a^{(t-1)},N_-+b^{(t-1)}) \log\theta \,\mathrm d\theta - \frac{\partial}{\partial a}\log B(a,b)\int_0^1 \mathrm{Beta}(\theta \mid N_++a^{(t-1)},N_-+b^{(t-1)}) \,\mathrm d\theta\\ +&= \frac{1}{B(N_++a^{(t-1)},N_-+b^{(t-1)})} \int_0^1 \theta^{N_++a^{(t-1)}-1} (1-\theta)^{N_-+b^{(t-1)}-1} \log\theta \,\mathrm d\theta - \frac{\partial}{\partial a} \log B(a,b)\,.\\ +\end{aligned}\] + +<p>Notice that</p> + +\[\int_0^1 x^{\alpha-1} (1-x)^{\beta-1} \log x \,\mathrm d x = B(\alpha,\beta)(\psi(\alpha)-\psi(\alpha+\beta))\,,\] + +<p>where $\psi(x) \triangleq \frac{\partial}{\partial x}\log\Gamma(x)$. +We may using the same notation $\psi$ to expand the log-derivative of beta function. +Thus,</p> + +\[\frac{\partial Q}{\partial a} = \psi(N_++a^{(t-1)})-\psi(N_++a^{(t-1)}+N_-+b^{(t-1)}) - (\psi(a) - \psi(a+b))\,.\] + +<p>Similarly,</p> + +\[\frac{\partial Q}{\partial b} = \psi(N_-+b^{(t-1)}) - \psi(N_++a^{(t-1)}+N_-+b^{(t-1)}) - (\psi(b)-\psi(a+b))\,.\] + +<p>Setting initial value $a^{(0)}=b^{(0)}=1$, we may find optimal solution for $a$ and $b$.</p> + +<p><strong>BUT REALLY</strong>, <em>here</em> we may compute directly $\log P(X \mid a, b)$ due to the conjugate beta prior!</p> + +<p>It turns out that</p> + +\[L(a,b) \triangleq \log P(X \mid a, b) = \log\frac{B(N_++a,N_-+b)}{B(a,b)}\,.\] + +<p>Hence,</p> + +\[\begin{cases} +\frac{\partial L}{\partial a} = \psi(N_++a) + \psi(a+b) - \psi(a) - \psi(N_++N_-+a+b)\\ +\frac{\partial L}{\partial b} = \psi(N_-+b) + \psi(a+b) - \psi(b) - \psi(N_++N_-+a+b)\\ +\end{cases}\] + +<p>Coding time:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="n">np</span> +<span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">digamma</span><span class="p">,</span> <span class="n">betaln</span> +<span class="kn">from</span> <span class="nn">scipy.optimize</span> <span class="kn">import</span> <span class="n">minimize</span> + +<span class="c1"># the log-likelihood +</span><span class="k">def</span> <span class="nf">fun</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="n">n</span><span class="p">):</span> + <span class="n">a</span><span class="p">,</span> <span class="n">b</span> <span class="o">=</span> <span class="n">x</span> + <span class="c1"># the minus sign is because we are doing gradient descent (not ascent) +</span> <span class="k">return</span> <span class="o">-</span><span class="p">(</span><span class="n">betaln</span><span class="p">(</span><span class="n">p</span> <span class="o">+</span> <span class="n">a</span><span class="p">,</span> <span class="n">n</span> <span class="o">+</span> <span class="n">b</span><span class="p">)</span> <span class="o">-</span> <span class="n">betaln</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">))</span> + +<span class="k">def</span> <span class="nf">jac</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="n">n</span><span class="p">):</span> + <span class="n">a</span><span class="p">,</span> <span class="n">b</span> <span class="o">=</span> <span class="n">x</span> + <span class="c1"># the minus sign is because we are doing gradient descent (not ascent) +</span> <span class="n">ja</span> <span class="o">=</span> <span class="o">-</span><span class="p">(</span><span class="n">digamma</span><span class="p">(</span><span class="n">p</span> <span class="o">+</span> <span class="n">a</span><span class="p">)</span> <span class="o">+</span> <span class="n">digamma</span><span class="p">(</span><span class="n">a</span> <span class="o">+</span> <span class="n">b</span><span class="p">)</span> <span class="o">-</span> <span class="n">digamma</span><span class="p">(</span><span class="n">a</span><span class="p">)</span> + <span class="o">-</span> <span class="n">digamma</span><span class="p">(</span><span class="n">p</span> <span class="o">+</span> <span class="n">n</span> <span class="o">+</span> <span class="n">a</span> <span class="o">+</span> <span class="n">b</span><span class="p">))</span> + <span class="n">jb</span> <span class="o">=</span> <span class="o">-</span><span class="p">(</span><span class="n">digamma</span><span class="p">(</span><span class="n">n</span> <span class="o">+</span> <span class="n">b</span><span class="p">)</span> <span class="o">+</span> <span class="n">digamma</span><span class="p">(</span><span class="n">a</span> <span class="o">+</span> <span class="n">b</span><span class="p">)</span> <span class="o">-</span> <span class="n">digamma</span><span class="p">(</span><span class="n">b</span><span class="p">)</span> + <span class="o">-</span> <span class="n">digamma</span><span class="p">(</span><span class="n">p</span> <span class="o">+</span> <span class="n">n</span> <span class="o">+</span> <span class="n">a</span> <span class="o">+</span> <span class="n">b</span><span class="p">))</span> + <span class="k">return</span> <span class="n">np</span><span class="p">.</span><span class="n">array</span><span class="p">([</span><span class="n">ja</span><span class="p">,</span> <span class="n">jb</span><span class="p">])</span> + +<span class="c1"># Suppose N+ = 6 and N- = 0: +</span><span class="k">print</span><span class="p">(</span><span class="n">minimize</span><span class="p">(</span><span class="n">fun</span><span class="p">,</span> <span class="n">np</span><span class="p">.</span><span class="n">ones</span><span class="p">(</span><span class="mi">2</span><span class="p">),</span> <span class="n">args</span><span class="o">=</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">method</span><span class="o">=</span><span class="s">'L-BFGS-B'</span><span class="p">,</span> <span class="n">jac</span><span class="o">=</span><span class="n">jac</span><span class="p">,</span> + <span class="n">bounds</span><span class="o">=</span><span class="p">[(</span><span class="mf">1e-10</span><span class="p">,</span> <span class="bp">None</span><span class="p">),</span> <span class="p">(</span><span class="mf">1e-10</span><span class="p">,</span> <span class="bp">None</span><span class="p">)]))</span> +</code></pre></div></div> + +<p>The optimization result is:</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>message: CONVERGENCE: NORM_OF_PROJECTED_GRADIENT_<=_PGTOL + success: True + status: 0 + fun: 1.6934720292738348e-10 + x: [ 1.817e+00 1.000e-10] + nit: 2 + jac: [-5.917e-11 1.693e+00] + nfev: 3 + njev: 3 + hess_inv: <2x2 LbfgsInvHessProduct with dtype=float64> +</code></pre></div></div> + +<p>From the result, the mean of the prior distribution goes to 1.0 (from left), the mode does not exists, and the density at 1.0 goes to infinity. +Such prior will drive $\theta$ to 1. +We observe that the model has severly overfit, exactly the same case if we were using simple <a href="mle"><strong>MLE</strong></a>.</p> + +<h2 id="conclusion">Conclusion</h2> + +<p>In conclusion, data-driven approach to set hyperparameters (e.g. empirical Bayes) (, at least in this example,) works only when there are enough well-sampled data.</p> + + </div> +<a class="u-url" href="/2023/11/28/toss-coin.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2024/01/05/type-assertion-numba-trick.html b/2024/01/05/type-assertion-numba-trick.html new file mode 100644 index 000000000..2c8659093 --- /dev/null +++ b/2024/01/05/type-assertion-numba-trick.html @@ -0,0 +1,122 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Assert variable types in numba | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Assert variable types in numba"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="To assert that a variable is of any specific type, e.g., float32[:], one may apply this trick that makes use of numba signature:"> +<meta property="og:description" content="To assert that a variable is of any specific type, e.g., float32[:], one may apply this trick that makes use of numba signature:"> +<link rel="canonical" href="https://kkew3.github.io/2024/01/05/type-assertion-numba-trick.html"> +<meta property="og:url" content="https://kkew3.github.io/2024/01/05/type-assertion-numba-trick.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2024-01-05T09:04:32+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Assert variable types in numba"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-01-05T09:04:32+00:00","datePublished":"2024-01-05T09:04:32+00:00","description":"To assert that a variable is of any specific type, e.g., float32[:], one may apply this trick that makes use of numba signature:","headline":"Assert variable types in numba","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2024/01/05/type-assertion-numba-trick.html"},"url":"https://kkew3.github.io/2024/01/05/type-assertion-numba-trick.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Assert variable types in numba</h1> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2024-01-05T09:04:32+00:00" itemprop="datePublished">Jan 5, 2024 at 09:04:32 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>To assert that a variable is of any specific type, e.g., <code class="language-plaintext highlighter-rouge">float32[:]</code>, one may apply this trick that makes use of <a href="https://numba.pydata.org/numba-doc/latest/reference/types.html"><code class="language-plaintext highlighter-rouge">numba</code> signature</a>:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">numba</span> <span class="k">as</span> <span class="n">nb</span> + + +<span class="c1"># Define an auxiliary function that admits only the type you +# want to assert, e.g. float32[:] +</span><span class="n">assert_f32_1d</span> <span class="o">=</span> <span class="n">nb</span><span class="p">.</span><span class="n">njit</span><span class="p">(</span><span class="n">nb</span><span class="p">.</span><span class="n">none</span><span class="p">(</span><span class="n">nb</span><span class="p">.</span><span class="n">float32</span><span class="p">[:]))(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="bp">None</span><span class="p">)</span> + +<span class="k">def</span> <span class="nf">function_to_debug_type</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">z</span><span class="p">):</span> + <span class="p">...</span> + <span class="n">some_variable</span> <span class="o">=</span> <span class="p">...</span> + <span class="p">...</span> + <span class="c1"># If `some_variable` is not of type float32[:], numba will +</span> <span class="c1"># point it out. +</span> <span class="n">assert_f32_1d</span><span class="p">(</span><span class="n">some_variable</span><span class="p">)</span> +</code></pre></div></div> + + </div> +<a class="u-url" href="/2024/01/05/type-assertion-numba-trick.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2024/01/26/attempt-fully-differentiable-nnomp-alternative.html b/2024/01/26/attempt-fully-differentiable-nnomp-alternative.html new file mode 100644 index 000000000..78bfb92d8 --- /dev/null +++ b/2024/01/26/attempt-fully-differentiable-nnomp-alternative.html @@ -0,0 +1,174 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>An attempt to build fully differentiable alternative of (non-negative) matching pursuit algorithm for solving L0-sparsity dictionary learning | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="An attempt to build fully differentiable alternative of (non-negative) matching pursuit algorithm for solving L0-sparsity dictionary learning"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="Introduction"> +<meta property="og:description" content="Introduction"> +<link rel="canonical" href="https://kkew3.github.io/2024/01/26/attempt-fully-differentiable-nnomp-alternative.html"> +<meta property="og:url" content="https://kkew3.github.io/2024/01/26/attempt-fully-differentiable-nnomp-alternative.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2024-01-26T04:14:34+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="An attempt to build fully differentiable alternative of (non-negative) matching pursuit algorithm for solving L0-sparsity dictionary learning"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-01-26T04:14:34+00:00","datePublished":"2024-01-26T04:14:34+00:00","description":"Introduction","headline":"An attempt to build fully differentiable alternative of (non-negative) matching pursuit algorithm for solving L0-sparsity dictionary learning","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2024/01/26/attempt-fully-differentiable-nnomp-alternative.html"},"url":"https://kkew3.github.io/2024/01/26/attempt-fully-differentiable-nnomp-alternative.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +<script>MathJax={"tex":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]]},"svg":{"fontCache":"global"}}</script><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">An attempt to build fully differentiable alternative of (non-negative) matching pursuit algorithm for solving L0-sparsity dictionary learning</h1> + <span><a href="https://kkew3.github.io/tags/ml--dict"><code class="highlighter-rouge"><nobr>machine learning/dictionary learning</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2024-01-26T04:14:34+00:00" itemprop="datePublished">Jan 26, 2024 at 04:14:34 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <h2 id="introduction">Introduction</h2> + +<p>In sparse dictionary learning, sparse coding and dictionary update are solved in an alternating manner (<a href="https://www.khoury.northeastern.edu/home/eelhami/courses/EE290A/K-SVD_Elad.pdf">Aharon et al., 2006</a>). +In sparse coding stage, the following problem is solved given the dictionary $\mathbf D \in \mathbb R^{d \times n}$ and signals $y_j \in \mathbb R^d$:</p> + +\[\min_{x_j}\ \|y_j-\mathbf D x_j\|_2^2 \quad \text{s.t. } \|x\|_0 \le K\,,\tag{1}\] + +<p>where $K$ is the sparsity. +Sometimes, there’s an additional constraint $x_j \succeq 0$ if non-negative sparse coding is required. +Since $L_0$ constraint is intractable to optimize exactly, either approximate greedy algorithm like (non-negative) orthogonal matching pursuit (<a href="https://dspace.mit.edu/bitstream/handle/1721.1/72024/Wang_Orthogonal%20Matching.pdf">Cai & Wang, 2011</a>; <a href="https://ieeexplore.ieee.org/abstract/document/7012095">Yaghoobi et al., 2015</a>; <a href="https://hal.science/hal-02049424/file/paper1_hal.pdf">Nguyen et al., 2019</a>), or relaxation of $L_0$ to $L_1$ sparsity as (non-negative) basis pursuit (<a href="http://redwood.psych.cornell.edu/discussion/papers/chen_donoho_BP_intro.pdf">Chen & Donoho, 1994</a>; <a href="https://dl.acm.org/doi/abs/10.5555/3104322.3104374">Gregor & LeCun, 2010</a>; <a href="https://mayhhu.github.io/ch/pdf/2018_L1-NNSO-Optim_ZHYW.pdf">Zhang et al., 2018</a>; <a href="https://arxiv.org/pdf/2106.00058">Tolooshams & Ba, 2022</a>) are regarded as idiomatic solutions.</p> + +<h2 id="proposed-method">Proposed method</h2> + +<p>(<a href="https://arxiv.org/pdf/1712.01312.pdf">Louizos et al., 2018</a>) suggests a novel approach to handle the intractability of $L_0$ constraint. +Instead of tackling the $L_0$ constraint directly, the authors address the expectation of the $L_0$ norms by introducing Bernoulli random variables. +In the parlance of the sparse coding problem (1),</p> + +\[\min_{x_j,\pi_j}\ \mathbb E_{q(z_j \mid \pi_j)}\left[\|y_j - \mathbf D (x_j' \odot z_j)\|_2^2\right] \quad \text{s.t. } \mathbf 1^\top \pi_j \le K\,,\tag{2}\] + +<p>where $x_j$ has been reparameterized as $x_j’ \odot z_j$, and for each $i$, $z_{ji} \sim \mathrm{Bernoulli}(\pi_{ji})$, $x_{ji}’ \in \mathbb R$, the symbol $\odot$ denotes elementwise product. +Note that Equation (2.1) can be trivially extend to non-negative sparse coding case by reparameterization $x_j := \exp(x_j’) \odot z_j$ or $x_j := \mathrm{softplus}(x_j’) \odot z_j$, where $\mathrm{softplus}(\cdot) = \log(1 + \exp(\cdot))$. +(<a href="https://arxiv.org/pdf/1712.01312.pdf">Louizos et al., 2018</a>) further introduces a smoother on the discrete random variable $z_j$ to allow for reparameterization trick (<a href="https://arxiv.org/abs/1312.6114">Kingma & Welling, 2014</a>; <a href="http://proceedings.mlr.press/v32/rezende14.pdf">Rezende et al., 2014</a>), and the expectation in Equation (2) can be estimated by Monte Carlo sampling.</p> + +<p>To solve the constrained minimization in Equation (2), it’s natural to proceed using Lagrangian multiplier and optimize under bound constraint only:</p> + +\[\min_{x_j,\pi_j}\max_{\lambda_j \ge 0}\ \mathbb E_{q(z_j \mid \pi_j)}\left[\|y_j - \mathbf D (x_j' \odot z_j)\|_2^2\right] + \lambda_j(\mathbf 1^\top \pi_j - K)\,.\tag{3}\] + +<p>On the one hand, one may optimize $x_j,\pi_j,\lambda_j$ jointly via gradient descent. +However, it’s worthy noting that one must perform gradient <em>ascent</em> on $\lambda_j$, which can be achieved by negating its gradient before the descent step. +On the other hand, <a href="https://www.stat.cmu.edu/~ryantibs/convexopt-F18/lectures/dual-ascent.pdf">dual gradient ascent</a> can be adopted. +Here, given fixed $\lambda_j$, the objective (3) is minimized till a critical point; then given fixed $x_j$ and $\pi_j$, $\lambda_j$ is updated with one-step gradient ascent; finally, iterate.</p> + +<p>In practice, potentially a great number of signals are required to be sparse coded given the dictionary:</p> + +\[\min_{\boldsymbol x,\boldsymbol\pi}\max_{\boldsymbol\lambda \succeq 0}\ \sum_{j=1}^m \left\{\mathbb E_{q(z_j \mid \pi_j)}\left[\|y_j - \mathbf D (x_j' \odot z_j)\|_2^2\right] + \lambda_j(\mathbf 1^\top \pi_j - K)\right\}\,.\tag{4}\] + +<p>It’s not uncommon that all the variables to optimize, especially $\{x_j,\pi_j\}_{j=1}^m$, are unable to fit into memory, thus failing to run gradient descent. +Notice that for each $j$, the optimal solution $(x_j^\ast,\pi_j^\ast)$ are related to $(y_j,\lambda_j)$; that is, $x_j^\ast = x(y_j,\lambda_j)$, $\pi_j^\ast = \pi(y_j,\lambda_j)$. +Therefore, I propose to perform amortized inference: to use a neural network $f$ parameterized by $\boldsymbol\phi$ that takes as input $(y_j,\lambda_j)$ to predict $x_j$ and $\pi_j$. +I found the use of ReLU activation in such network promotes training the most. +The objective (4) now becomes:</p> + +\[\min_{\boldsymbol\phi} \max_{\boldsymbol\lambda \succeq 0}\ \sum_{j=1}^m \left\{\mathbb E_{q(z_j \mid \boldsymbol\phi)} \left[\|y_j - \mathbf D (f_x(y_j,\lambda_j;\boldsymbol\phi) \odot z_j)\|_2^2\right] + \lambda_j (\mathbf 1^\top f_\pi(y_j,\lambda_j;\boldsymbol\phi) - K)\right\}\,.\tag{5}\] + +<p>With dictionary learning, the dictionary need to be learned. +Using the objective (5), I found it preferable to optimize using the procedure below:</p> + +<ol> + <li>Given $\boldsymbol\lambda$, <strong>reinitialize</strong> $\boldsymbol\phi$, and jointly learn $\boldsymbol\phi$ and $\mathbf D$ until stationary point.</li> + <li>Given $\boldsymbol\phi$ and $\mathbf D$, perform one-step gradient ascent on $\boldsymbol\lambda$.</li> + <li>Iterate.</li> +</ol> + +<p>I found the reinitialization step on the amortized network critically important. +Without it, the network tends to predict all-zero and eventually learns nothing. +However, the dictionary needs to be initialized only at the very beginning.</p> + +<h2 id="experiments">Experiments</h2> + +<p>For dictionary learning without non-negativity constraint on sparse coding, I compared against (<a href="https://csaws.cs.technion.ac.il/~ronrubin/Publications/KSVD-OMP-v2.pdf">Rubinstein et al., 2008</a>) in image denoising. +My proposed fully differentiable solution converges slower and denoises poorer than K-SVD supported by batch OMP.</p> + +<p>For dictionary learning <em>with</em> non-negative constraint on sparse coding, I compare against (<a href="https://hal.science/hal-02049424/file/paper1_hal.pdf">Nguyen et al., 2019</a>) in exploration of atoms of discourse, which is known to admit a non-negative sparse coding form (<a href="https://arxiv.org/abs/1601.03764">Arora et al., 2018</a>). +While being faster, my proposed method still performs worse than non-negative OMP, in that the learned dictionary atoms are mostly not atoms of discourse.</p> + +<p>Hence, this is the main reason why I record my attempt here in a post rather than write a paper. +Perhaps, the proposed method is promising, but it’s not well-prepared yet.</p> + + + </div> +<a class="u-url" href="/2024/01/26/attempt-fully-differentiable-nnomp-alternative.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2024/02/01/make-faded-color-wallpaper-for-mac.html b/2024/02/01/make-faded-color-wallpaper-for-mac.html new file mode 100644 index 000000000..37e0ed326 --- /dev/null +++ b/2024/02/01/make-faded-color-wallpaper-for-mac.html @@ -0,0 +1,235 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>使用 matplotlib 制作用于 macOS 的渐变色桌面 | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="使用 matplotlib 制作用于 macOS 的渐变色桌面"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="最近我喜欢上了纯色桌面,显得干净整洁。然而我发现一个问题,就是 Dock 在一些颜色下会变得不容易辨识。经过实验,Dock 在黑色下显得最清楚,但是使用纯黑色作桌面我感觉不是很美观。我希望有一个渐变色桌面,其中大部分是我想要的某种颜色,然后从偏底部至底部渐变为黑色,从而使 Dock 更清楚。然而 macOS 并没有提供这样的桌面。于是我决定使用 Python 的 matplotlib 自己画一个这样的桌面。"> +<meta property="og:description" content="最近我喜欢上了纯色桌面,显得干净整洁。然而我发现一个问题,就是 Dock 在一些颜色下会变得不容易辨识。经过实验,Dock 在黑色下显得最清楚,但是使用纯黑色作桌面我感觉不是很美观。我希望有一个渐变色桌面,其中大部分是我想要的某种颜色,然后从偏底部至底部渐变为黑色,从而使 Dock 更清楚。然而 macOS 并没有提供这样的桌面。于是我决定使用 Python 的 matplotlib 自己画一个这样的桌面。"> +<link rel="canonical" href="https://kkew3.github.io/2024/02/01/make-faded-color-wallpaper-for-mac.html"> +<meta property="og:url" content="https://kkew3.github.io/2024/02/01/make-faded-color-wallpaper-for-mac.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2024-02-01T03:22:51+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="使用 matplotlib 制作用于 macOS 的渐变色桌面"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-02-01T03:22:51+00:00","datePublished":"2024-02-01T03:22:51+00:00","description":"最近我喜欢上了纯色桌面,显得干净整洁。然而我发现一个问题,就是 Dock 在一些颜色下会变得不容易辨识。经过实验,Dock 在黑色下显得最清楚,但是使用纯黑色作桌面我感觉不是很美观。我希望有一个渐变色桌面,其中大部分是我想要的某种颜色,然后从偏底部至底部渐变为黑色,从而使 Dock 更清楚。然而 macOS 并没有提供这样的桌面。于是我决定使用 Python 的 matplotlib 自己画一个这样的桌面。","headline":"使用 matplotlib 制作用于 macOS 的渐变色桌面","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2024/02/01/make-faded-color-wallpaper-for-mac.html"},"url":"https://kkew3.github.io/2024/02/01/make-faded-color-wallpaper-for-mac.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">使用 matplotlib 制作用于 macOS 的渐变色桌面</h1> + <span><a href="https://kkew3.github.io/tags/os--macos"><code class="highlighter-rouge"><nobr>os/macOS</nobr></code></a> | <a href="https://kkew3.github.io/tags/misc"><code class="highlighter-rouge"><nobr>misc</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2024-02-01T03:22:51+00:00" itemprop="datePublished">Feb 1, 2024 at 03:22:51 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>最近我喜欢上了纯色桌面,显得干净整洁。然而我发现一个问题,就是 Dock 在一些颜色下会变得不容易辨识。经过实验,Dock 在黑色下显得最清楚,但是使用纯黑色作桌面我感觉不是很美观。我希望有一个渐变色桌面,其中大部分是我想要的某种颜色,然后从偏底部至底部渐变为黑色,从而使 Dock 更清楚。然而 macOS 并没有提供这样的桌面。于是我决定使用 Python 的 <a href="https://matplotlib.org/"><code class="language-plaintext highlighter-rouge">matplotlib</code></a> 自己画一个这样的桌面。</p> + +<p>思路是:</p> + +<ol> + <li>使用 <code class="language-plaintext highlighter-rouge">system_profiler SPDisplaysDataType | grep Resolution</code> 获取屏幕的像素上的长宽;</li> + <li>使用 <code class="language-plaintext highlighter-rouge">matplotlib.pyplot.cm.colors.LinearSegmentedColormap</code> 制作一个由我想要的颜色渐变为黑色的 colormap;</li> + <li>构造一个以第 1 步为长宽、以第 2 步为 colormap 的矩阵,使其颜色满足上述渐变色要求;</li> + <li>保存为图片。</li> +</ol> + +<p>主要问题出在第 4 步。我先去掉坐标轴,以为就没问题了,然而之后发现保存的图总是有一圈白色边框,怎么都去不掉(我尝试了<a href="https://stackoverflow.com/q/37809697/7881370">这个问题</a>下的若干评论)。最终我采用了<a href="https://stackoverflow.com/a/37812313/7881370">这个回答</a>的写法,虽然并不清楚原理 😅。总之问题就算解决了吧。</p> + +<p>完整代码如下:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">#!/usr/bin/env python3 +</span><span class="kn">import</span> <span class="nn">argparse</span> +<span class="kn">from</span> <span class="nn">pathlib</span> <span class="kn">import</span> <span class="n">Path</span> +<span class="kn">import</span> <span class="nn">subprocess</span> +<span class="kn">import</span> <span class="nn">re</span> + +<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="n">np</span> +<span class="kn">import</span> <span class="nn">matplotlib</span> + +<span class="n">matplotlib</span><span class="p">.</span><span class="n">use</span><span class="p">(</span><span class="s">'Agg'</span><span class="p">)</span> +<span class="kn">from</span> <span class="nn">matplotlib</span> <span class="kn">import</span> <span class="n">pyplot</span> <span class="k">as</span> <span class="n">plt</span> + + +<span class="k">def</span> <span class="nf">generate_wallpaper</span><span class="p">(</span> + <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> + <span class="n">primary_color_rgb</span><span class="p">,</span> + <span class="n">start_fade_position</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span> + <span class="n">force_save</span><span class="p">:</span> <span class="nb">bool</span><span class="p">,</span> +<span class="p">):</span> + <span class="s">""" + Save faded color as wallpaper. + + :param name: the name to save + :param primary_color_rgb: the RGB 3-tuple of uint8 value range + :param start_fade_position: the position to start fading + :param force_save: ``True`` to overwrite existing files + """</span> + <span class="n">whs</span> <span class="o">=</span> <span class="p">[]</span> + + <span class="c1"># 第 1 步,获取屏幕长宽 +</span> <span class="n">proc</span> <span class="o">=</span> <span class="n">subprocess</span><span class="p">.</span><span class="n">run</span><span class="p">([</span><span class="s">'system_profiler'</span><span class="p">,</span> <span class="s">'SPDisplaysDataType'</span><span class="p">],</span> + <span class="n">text</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> + <span class="n">capture_output</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> + <span class="n">check</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> + <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">re</span><span class="p">.</span><span class="n">findall</span><span class="p">(</span><span class="sa">r</span><span class="s">'(.*)\n'</span><span class="p">,</span> <span class="n">proc</span><span class="p">.</span><span class="n">stdout</span><span class="p">):</span> + <span class="n">m</span> <span class="o">=</span> <span class="n">re</span><span class="p">.</span><span class="n">search</span><span class="p">(</span><span class="sa">r</span><span class="s">'Resolution: (\d+) x (\d+)'</span><span class="p">,</span> <span class="n">line</span><span class="p">)</span> + <span class="k">if</span> <span class="n">m</span><span class="p">:</span> + <span class="n">whs</span><span class="p">.</span><span class="n">append</span><span class="p">((</span><span class="nb">int</span><span class="p">(</span><span class="n">m</span><span class="p">.</span><span class="n">group</span><span class="p">(</span><span class="mi">1</span><span class="p">)),</span> <span class="nb">int</span><span class="p">(</span><span class="n">m</span><span class="p">.</span><span class="n">group</span><span class="p">(</span><span class="mi">2</span><span class="p">))))</span> + + <span class="c1"># 第 2 步,构造渐变色 colormap +</span> <span class="n">colors</span> <span class="o">=</span> <span class="p">[</span><span class="n">np</span><span class="p">.</span><span class="n">asarray</span><span class="p">(</span><span class="n">primary_color_rgb</span><span class="p">)</span> <span class="o">/</span> <span class="mi">255</span><span class="p">,</span> <span class="n">np</span><span class="p">.</span><span class="n">zeros</span><span class="p">(</span><span class="mi">3</span><span class="p">)]</span> + <span class="n">cmap</span> <span class="o">=</span> <span class="n">plt</span><span class="p">.</span><span class="n">cm</span><span class="p">.</span><span class="n">colors</span><span class="p">.</span><span class="n">LinearSegmentedColormap</span><span class="p">.</span><span class="n">from_list</span><span class="p">(</span> + <span class="s">'colormap'</span><span class="p">,</span> <span class="n">colors</span><span class="p">,</span> <span class="n">N</span><span class="o">=</span><span class="mi">256</span><span class="p">)</span> + <span class="k">for</span> <span class="n">j</span><span class="p">,</span> <span class="p">(</span><span class="n">w</span><span class="p">,</span> <span class="n">h</span><span class="p">)</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">whs</span><span class="p">,</span> <span class="mi">1</span><span class="p">):</span> + <span class="c1"># 第 3 步,构造矩阵 +</span> <span class="n">image</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">zeros</span><span class="p">((</span><span class="n">h</span><span class="p">,</span> <span class="n">w</span><span class="p">))</span> + <span class="n">start</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">h</span> <span class="o">*</span> <span class="n">start_fade_position</span><span class="p">)</span> + <span class="n">steps</span> <span class="o">=</span> <span class="n">h</span> <span class="o">-</span> <span class="n">start</span> + <span class="c1"># 使用 linspace 构造渐变色 +</span> <span class="n">image</span><span class="p">[</span><span class="n">start</span><span class="p">:]</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">steps</span><span class="p">)[:,</span> <span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">]</span> + + <span class="c1"># 这里是不知道为什么能 work 的部分 +</span> <span class="n">sizes</span> <span class="o">=</span> <span class="n">image</span><span class="p">.</span><span class="n">shape</span><span class="p">[::</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> + <span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="p">.</span><span class="n">figure</span><span class="p">()</span> + <span class="n">fig</span><span class="p">.</span><span class="n">set_size_inches</span><span class="p">(</span><span class="mf">1.</span> <span class="o">*</span> <span class="n">sizes</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">/</span> <span class="n">sizes</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="mi">1</span><span class="p">,</span> <span class="n">forward</span> <span class="o">=</span> <span class="bp">False</span><span class="p">)</span> + <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="p">.</span><span class="n">Axes</span><span class="p">(</span><span class="n">fig</span><span class="p">,</span> <span class="p">[</span><span class="mf">0.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">])</span> + <span class="n">ax</span><span class="p">.</span><span class="n">set_axis_off</span><span class="p">()</span> + <span class="n">fig</span><span class="p">.</span><span class="n">add_axes</span><span class="p">(</span><span class="n">ax</span><span class="p">)</span> + <span class="n">ax</span><span class="p">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">image</span><span class="p">,</span> <span class="n">cmap</span><span class="o">=</span><span class="n">cmap</span><span class="p">,</span> <span class="n">aspect</span><span class="o">=</span><span class="s">'auto'</span><span class="p">)</span> + + <span class="c1"># 保存为图片 +</span> <span class="n">tofile</span> <span class="o">=</span> <span class="n">Path</span><span class="p">(</span><span class="sa">f</span><span class="s">'</span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s">_</span><span class="si">{</span><span class="n">j</span><span class="si">}</span><span class="s">.jpg'</span><span class="p">)</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">force_save</span> <span class="ow">and</span> <span class="n">tofile</span><span class="p">.</span><span class="n">exists</span><span class="p">():</span> + <span class="k">raise</span> <span class="nb">FileExistsError</span> + <span class="n">fig</span><span class="p">.</span><span class="n">savefig</span><span class="p">(</span><span class="n">tofile</span><span class="p">,</span> <span class="n">dpi</span><span class="o">=</span><span class="n">sizes</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> + <span class="n">plt</span><span class="p">.</span><span class="n">close</span><span class="p">(</span><span class="n">fig</span><span class="p">)</span> + + +<span class="c1"># 一些命令行参数 +</span><span class="k">def</span> <span class="nf">make_parser</span><span class="p">():</span> + <span class="n">parser</span> <span class="o">=</span> <span class="n">argparse</span><span class="p">.</span><span class="n">ArgumentParser</span><span class="p">(</span> + <span class="n">description</span><span class="o">=</span><span class="s">'Generate faded color wallpaper.'</span><span class="p">)</span> + <span class="n">parser</span><span class="p">.</span><span class="n">add_argument</span><span class="p">(</span> + <span class="s">'-n'</span><span class="p">,</span> <span class="s">'--name'</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s">'default to "wallpaper"'</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s">'wallpaper'</span><span class="p">)</span> + <span class="n">parser</span><span class="p">.</span><span class="n">add_argument</span><span class="p">(</span> + <span class="s">'-c'</span><span class="p">,</span> + <span class="s">'--color'</span><span class="p">,</span> + <span class="n">nargs</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> + <span class="n">metavar</span><span class="o">=</span><span class="p">(</span><span class="s">'R'</span><span class="p">,</span> <span class="s">'G'</span><span class="p">,</span> <span class="s">'B'</span><span class="p">),</span> + <span class="nb">type</span><span class="o">=</span><span class="nb">int</span><span class="p">,</span> + <span class="n">help</span><span class="o">=</span><span class="s">'default to black'</span><span class="p">,</span> + <span class="n">default</span><span class="o">=</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">])</span> + <span class="n">parser</span><span class="p">.</span><span class="n">add_argument</span><span class="p">(</span> + <span class="s">'-p'</span><span class="p">,</span> + <span class="s">'--fade-start-position'</span><span class="p">,</span> + <span class="nb">type</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span> + <span class="n">help</span><span class="o">=</span><span class="s">'default to 0.0'</span><span class="p">,</span> + <span class="n">default</span><span class="o">=</span><span class="mf">0.0</span><span class="p">)</span> + <span class="n">parser</span><span class="p">.</span><span class="n">add_argument</span><span class="p">(</span> + <span class="s">'-f'</span><span class="p">,</span> + <span class="s">'--force'</span><span class="p">,</span> + <span class="n">action</span><span class="o">=</span><span class="s">'store_true'</span><span class="p">,</span> + <span class="n">help</span><span class="o">=</span><span class="s">'force overwrite existing files'</span><span class="p">)</span> + <span class="k">return</span> <span class="n">parser</span> + + +<span class="k">def</span> <span class="nf">main</span><span class="p">():</span> + <span class="n">args</span> <span class="o">=</span> <span class="n">make_parser</span><span class="p">().</span><span class="n">parse_args</span><span class="p">()</span> + <span class="n">generate_wallpaper</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">name</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">color</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">fade_start_position</span><span class="p">,</span> + <span class="n">args</span><span class="p">.</span><span class="n">force</span><span class="p">)</span> + + +<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">'__main__'</span><span class="p">:</span> + <span class="n">main</span><span class="p">()</span> +</code></pre></div></div> + +<p>来跑一个试试:</p> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># 以上代码保存为 wallpaper_gen.py</span> +python3 wallpaper_gen.py <span class="nt">-c</span> 0 54 9 <span class="nt">-p</span> 0.7 +</code></pre></div></div> + +<p>生成的图如下:</p> + +<p><img src="/assets/posts_imgs/2024-02-01/darkgreen.jpg" alt="darkgreen"></p> + + </div> +<a class="u-url" href="/2024/02/01/make-faded-color-wallpaper-for-mac.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2024/02/04/host-python-packages-jekyll-github-pages.html b/2024/02/04/host-python-packages-jekyll-github-pages.html new file mode 100644 index 000000000..3aff72608 --- /dev/null +++ b/2024/02/04/host-python-packages-jekyll-github-pages.html @@ -0,0 +1,154 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Host Python packages with Jekyll on GitHub Pages | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Host Python packages with Jekyll on GitHub Pages"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="I have a collection of Python packages, either hosted locally or on GitHub, dedicated to my own use, and I don’t feel like uploading them to PyPI. However, it soon becomes a pain when I need to install one of them to my virtual environment, since they all scatter about my disk, and I have to cd to the corresponding project directory and do pip install .. It would be preferable to stay in my current repository, and do pip install .... If the package is already hosted on GitHub, like alfred_fzf_helper, I may do pip install git+https://github.com/kkew3/alfred_fzf_helper.git directly. This is not good enough, since I still need to memorize the URL, and it’s not convenient, if not impossible, to specify the version requirements."> +<meta property="og:description" content="I have a collection of Python packages, either hosted locally or on GitHub, dedicated to my own use, and I don’t feel like uploading them to PyPI. However, it soon becomes a pain when I need to install one of them to my virtual environment, since they all scatter about my disk, and I have to cd to the corresponding project directory and do pip install .. It would be preferable to stay in my current repository, and do pip install .... If the package is already hosted on GitHub, like alfred_fzf_helper, I may do pip install git+https://github.com/kkew3/alfred_fzf_helper.git directly. This is not good enough, since I still need to memorize the URL, and it’s not convenient, if not impossible, to specify the version requirements."> +<link rel="canonical" href="https://kkew3.github.io/2024/02/04/host-python-packages-jekyll-github-pages.html"> +<meta property="og:url" content="https://kkew3.github.io/2024/02/04/host-python-packages-jekyll-github-pages.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2024-02-04T09:31:26+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Host Python packages with Jekyll on GitHub Pages"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-02-04T09:31:26+00:00","datePublished":"2024-02-04T09:31:26+00:00","description":"I have a collection of Python packages, either hosted locally or on GitHub, dedicated to my own use, and I don’t feel like uploading them to PyPI. However, it soon becomes a pain when I need to install one of them to my virtual environment, since they all scatter about my disk, and I have to cd to the corresponding project directory and do pip install .. It would be preferable to stay in my current repository, and do pip install .... If the package is already hosted on GitHub, like alfred_fzf_helper, I may do pip install git+https://github.com/kkew3/alfred_fzf_helper.git directly. This is not good enough, since I still need to memorize the URL, and it’s not convenient, if not impossible, to specify the version requirements.","headline":"Host Python packages with Jekyll on GitHub Pages","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2024/02/04/host-python-packages-jekyll-github-pages.html"},"url":"https://kkew3.github.io/2024/02/04/host-python-packages-jekyll-github-pages.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Host Python packages with Jekyll on GitHub Pages</h1> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2024-02-04T09:31:26+00:00" itemprop="datePublished">Feb 4, 2024 at 09:31:26 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>I have a collection of Python packages, either hosted locally or on GitHub, dedicated to my own use, and I don’t feel like uploading them to <a href="https://pypi.org/">PyPI</a>. +However, it soon becomes a pain when I need to install one of them to my virtual environment, since they all scatter about my disk, and I have to <code class="language-plaintext highlighter-rouge">cd</code> to the corresponding project directory and do <code class="language-plaintext highlighter-rouge">pip install .</code>. +It would be preferable to stay in my current repository, and do <code class="language-plaintext highlighter-rouge">pip install ...</code>. +If the package is already hosted on GitHub, like <a href="https://github.com/kkew3/alfred_fzf_helper">alfred_fzf_helper</a>, I may do <code class="language-plaintext highlighter-rouge">pip install git+https://github.com/kkew3/alfred_fzf_helper.git</code> directly. +This is not good enough, since I still need to memorize the URL, and it’s not convenient, if not impossible, to specify the version requirements.</p> + +<p>Luckily, hosting a private Python package repository is possible, and freely available with Jekyll and GitHub Pages. +Following <a href="https://packaging.python.org/en/latest/guides/hosting-your-own-index/">this guide</a>, after making a directory <code class="language-plaintext highlighter-rouge">pip</code> under the root of my site, I put my Python source distribution tarballs into it. +After some googling, I find that Jekyll does not support autoindexing out-of-the-box. +If I push the tarballs onto GitHub, <code class="language-plaintext highlighter-rouge">pip</code> won’t be able to find the source distributions.</p> + +<p>I will exploit the <code class="language-plaintext highlighter-rouge">--find-links</code> option of <code class="language-plaintext highlighter-rouge">pip install</code> instead. +What we need, then, is simply an HTML page that lists all the URLs to the tarballs hosted. +With simple Liquid, I loop over all static files under <code class="language-plaintext highlighter-rouge">pip</code> directory and list them in an unordered list:</p> + +<div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code>--- +layout: default +--- + +<h1>Index of <span class="p">{{</span><span class="w"> </span><span class="nv">page</span><span class="p">.</span><span class="nv">path</span><span class="w"> </span><span class="p">}}</span></h1> +<ul> + <span class="p">{%</span><span class="w"> </span><span class="nt">assign</span><span class="w"> </span><span class="nv">pip_packages</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">site</span><span class="p">.</span><span class="nv">static_files</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">where</span><span class="p">:</span><span class="w"> </span><span class="s2">"pip_package"</span><span class="p">,</span><span class="w"> </span><span class="kc">true</span><span class="w"> </span><span class="p">%}</span> + <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">pip_packages</span><span class="w"> </span><span class="p">%}</span> + <li><a href="<span class="p">{{</span><span class="w"> </span><span class="nv">site</span><span class="p">.</span><span class="nv">baseurl</span><span class="w"> </span><span class="p">}}{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">path</span><span class="w"> </span><span class="p">}}</span>"><span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">path</span><span class="w"> </span><span class="p">}}</span></a></li> + <span class="p">{%</span><span class="w"> </span><span class="nt">endfor</span><span class="w"> </span><span class="p">%}</span> +</ul> +</code></pre></div></div> + +<p>where <code class="language-plaintext highlighter-rouge">pip_package</code> is defined in <code class="language-plaintext highlighter-rouge">_config.yml</code> like this (see <a href="https://jekyllrb.com/docs/static-files/#add-front-matter-to-static-files">here</a> for more details):</p> + +<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">defaults</span><span class="pi">:</span> + <span class="pi">-</span> <span class="na">scope</span><span class="pi">:</span> + <span class="na">path</span><span class="pi">:</span> <span class="s2">"</span><span class="s">pip"</span> + <span class="na">values</span><span class="pi">:</span> + <span class="na">pip_package</span><span class="pi">:</span> <span class="no">true</span> +</code></pre></div></div> + +<p>Finally, I insert the following lines to <code class="language-plaintext highlighter-rouge">~/.config/pip/pip.conf</code>:</p> + +<div class="language-ini highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">[install]</span> +<span class="py">find-links</span> <span class="p">=</span> <span class="s">https://kkew3.github.io/pip</span> +</code></pre></div></div> + +<p>To check if it works, create a virtual environment (omitted below) and install one of the hosted package:</p> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip <span class="nb">install</span> <span class="s2">"alfred-fzf-helper>=0.2"</span> +</code></pre></div></div> + +<p>It works!</p> + + </div> +<a class="u-url" href="/2024/02/04/host-python-packages-jekyll-github-pages.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2024/02/11/quad-approximate-sigmoid-derivative.html b/2024/02/11/quad-approximate-sigmoid-derivative.html new file mode 100644 index 000000000..906698498 --- /dev/null +++ b/2024/02/11/quad-approximate-sigmoid-derivative.html @@ -0,0 +1,128 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Piecewise quadratic approximation of sigmoid(z) (1-sigmoid(z)) | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Piecewise quadratic approximation of sigmoid(z) (1-sigmoid(z))"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="This post shows an approach that approximates $\sigma(z)(1-\sigma(z))$ using piecewise quadratic function, where $\sigma(z)$ is defined to be $1/(1+\exp(-z))$, a.k.a. the sigmoid function."> +<meta property="og:description" content="This post shows an approach that approximates $\sigma(z)(1-\sigma(z))$ using piecewise quadratic function, where $\sigma(z)$ is defined to be $1/(1+\exp(-z))$, a.k.a. the sigmoid function."> +<link rel="canonical" href="https://kkew3.github.io/2024/02/11/quad-approximate-sigmoid-derivative.html"> +<meta property="og:url" content="https://kkew3.github.io/2024/02/11/quad-approximate-sigmoid-derivative.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2024-02-11T08:52:41+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Piecewise quadratic approximation of sigmoid(z) (1-sigmoid(z))"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-02-11T08:52:41+00:00","datePublished":"2024-02-11T08:52:41+00:00","description":"This post shows an approach that approximates $\\sigma(z)(1-\\sigma(z))$ using piecewise quadratic function, where $\\sigma(z)$ is defined to be $1/(1+\\exp(-z))$, a.k.a. the sigmoid function.","headline":"Piecewise quadratic approximation of sigmoid(z) (1-sigmoid(z))","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2024/02/11/quad-approximate-sigmoid-derivative.html"},"url":"https://kkew3.github.io/2024/02/11/quad-approximate-sigmoid-derivative.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +<script>MathJax={"tex":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]]},"svg":{"fontCache":"global"}}</script><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Piecewise quadratic approximation of sigmoid(z) (1-sigmoid(z))</h1> + <span><a href="https://kkew3.github.io/tags/math--approx"><code class="highlighter-rouge"><nobr>math/approximation</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2024-02-11T08:52:41+00:00" itemprop="datePublished">Feb 11, 2024 at 08:52:41 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>This post shows an approach that approximates $\sigma(z)(1-\sigma(z))$ using piecewise quadratic function, where $\sigma(z)$ is defined to be $1/(1+\exp(-z))$, a.k.a. the sigmoid function.</p> + +<p>First, notice that $\sigma(z)(1-\sigma(z)) \approx \log(1+\exp(h - a z^2))$ for certain choice of $h$ and $a$:</p> + +<p><img src="/assets/posts_imgs/2024-02-11/dsigma-softplus.png" alt="softplus approximate dsigma"></p> + +<p>Second, the approximator $\log(1+\exp(\cdot))$ is called a <a href="https://paperswithcode.com/method/softplus">softplus</a>. +So it’s natural to proceed: $\log(1+\exp(h - a z^2)) \approx \max(0, h - a z^2)$. +Our goal, then, is to choose the height parameter $h$ and width parameter $a$ such that $\sigma(z)(1-\sigma(z)) \approx \max(0, h - a z^2)$.</p> + +<p>The height parameter is straightforward to estimate. +We need only to match the max of $\sigma(z)(1-\sigma(z))$ to $h$. +Hence, $h := \sigma(0)(1-\sigma(0))$.</p> + +<p>Noticing that both the original function and the approximator are nonnegative, we may match up their integrals:</p> + +\[\int_{-\infty}^\infty \sigma(z)(1-\sigma(z))\,\mathrm d z = \int_{-\infty}^\infty \max(0, h - a z^2)\,\mathrm d z\] + +<p>where the left hand side is 1. +Plugging in the value of $h$, this equation solves to $a := \frac{16}{9}(\sigma(0)(1-\sigma(0)))^3$.</p> + +<p><img src="/assets/posts_imgs/2024-02-11/dsigma-maxquad.png" alt="max quad approximate dsigma"></p> + + </div> +<a class="u-url" href="/2024/02/11/quad-approximate-sigmoid-derivative.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2024/02/26/simple-numerical-matrix-inversion.html b/2024/02/26/simple-numerical-matrix-inversion.html new file mode 100644 index 000000000..d99d440ad --- /dev/null +++ b/2024/02/26/simple-numerical-matrix-inversion.html @@ -0,0 +1,149 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>A simple numerical method to compute matrix inversion | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="A simple numerical method to compute matrix inversion"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="I need to do matrix inversion in C recently; so I did some research on how to implement it. While the requirement later proves unnecessary, I want to jot down my efforts on this subject for future reference."> +<meta property="og:description" content="I need to do matrix inversion in C recently; so I did some research on how to implement it. While the requirement later proves unnecessary, I want to jot down my efforts on this subject for future reference."> +<link rel="canonical" href="https://kkew3.github.io/2024/02/26/simple-numerical-matrix-inversion.html"> +<meta property="og:url" content="https://kkew3.github.io/2024/02/26/simple-numerical-matrix-inversion.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2024-02-26T10:57:01+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="A simple numerical method to compute matrix inversion"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-02-26T10:57:01+00:00","datePublished":"2024-02-26T10:57:01+00:00","description":"I need to do matrix inversion in C recently; so I did some research on how to implement it. While the requirement later proves unnecessary, I want to jot down my efforts on this subject for future reference.","headline":"A simple numerical method to compute matrix inversion","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2024/02/26/simple-numerical-matrix-inversion.html"},"url":"https://kkew3.github.io/2024/02/26/simple-numerical-matrix-inversion.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">A simple numerical method to compute matrix inversion</h1> + <span><a href="https://kkew3.github.io/tags/math--la"><code class="highlighter-rouge"><nobr>math/linear algebra</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2024-02-26T10:57:01+00:00" itemprop="datePublished">Feb 26, 2024 at 10:57:01 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>I need to do matrix inversion in C recently; so I did some research on how to implement it. +While the requirement later proves unnecessary, I want to jot down my efforts on this subject for future reference.</p> + +<p>(<a href="https://ntrs.nasa.gov/api/citations/19920002505/downloads/19920002505.pdf">Pan & Schreiber, 1992</a>) proposed CUINV algorithm based on <a href="https://aalexan3.math.ncsu.edu/articles/mat-inv-rep.pdf">Newton’s iteration</a>. +It’s fast and simple to implement. +Here’s my verbatim reimplementation in Python, which is simple(?) (see TODO in comment) to translate to C.</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="n">np</span> + +<span class="k">def</span> <span class="nf">cuinv</span><span class="p">(</span><span class="n">A</span><span class="p">,</span> <span class="n">maxiter</span><span class="p">,</span> <span class="n">tol</span><span class="p">):</span> + <span class="n">n</span> <span class="o">=</span> <span class="n">A</span><span class="p">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> + <span class="n">I</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">eye</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> + <span class="n">s</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">linalg</span><span class="p">.</span><span class="n">svd</span><span class="p">(</span><span class="n">A</span><span class="p">,</span> <span class="n">compute_uv</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span> <span class="c1"># TODO: how to implement this? +</span> <span class="n">a0</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">/</span> <span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="nb">min</span><span class="p">(</span><span class="n">s</span><span class="p">)</span><span class="o">**</span><span class="mi">2</span> <span class="o">+</span> <span class="n">np</span><span class="p">.</span><span class="nb">max</span><span class="p">(</span><span class="n">s</span><span class="p">)</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span> + <span class="n">X</span> <span class="o">=</span> <span class="n">a0</span> <span class="o">*</span> <span class="n">A</span><span class="p">.</span><span class="n">T</span> + <span class="n">X_prev</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">copy</span><span class="p">(</span><span class="n">X</span><span class="p">)</span> + <span class="n">T</span> <span class="o">=</span> <span class="n">X</span> <span class="o">@</span> <span class="n">A</span> + <span class="n">T2</span> <span class="o">=</span> <span class="bp">None</span> + <span class="n">t2_valid</span> <span class="o">=</span> <span class="bp">False</span> + <span class="n">diff</span> <span class="o">=</span> <span class="n">tol</span> <span class="o">+</span> <span class="mi">1</span> <span class="c1"># so that it runs at least one iteration +</span> + <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">maxiter</span><span class="p">):</span> + <span class="k">if</span> <span class="n">diff</span> <span class="o"><</span> <span class="n">tol</span><span class="p">:</span> + <span class="k">break</span> + <span class="n">X</span> <span class="o">=</span> <span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="n">I</span> <span class="o">-</span> <span class="n">T</span><span class="p">)</span> <span class="o">@</span> <span class="n">X</span> + <span class="k">if</span> <span class="n">t2_valid</span><span class="p">:</span> + <span class="n">T</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">T</span> <span class="o">-</span> <span class="n">T2</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">T</span> <span class="o">=</span> <span class="n">X</span> <span class="o">@</span> <span class="n">A</span> + <span class="n">t2_valid</span> <span class="o">=</span> <span class="bp">False</span> + <span class="k">if</span> <span class="n">np</span><span class="p">.</span><span class="n">trace</span><span class="p">(</span><span class="n">T</span><span class="p">)</span> <span class="o"><</span> <span class="n">n</span> <span class="o">-</span> <span class="mf">0.5</span><span class="p">:</span> + <span class="n">T2</span> <span class="o">=</span> <span class="n">T</span> <span class="o">@</span> <span class="n">T</span> + <span class="n">delta</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">linalg</span><span class="p">.</span><span class="n">norm</span><span class="p">(</span><span class="n">T</span> <span class="o">-</span> <span class="n">T2</span><span class="p">,</span> <span class="nb">ord</span><span class="o">=</span><span class="s">'fro'</span><span class="p">)</span> + <span class="k">if</span> <span class="n">delta</span> <span class="o">>=</span> <span class="mf">0.25</span><span class="p">:</span> + <span class="n">t2_valid</span> <span class="o">=</span> <span class="bp">True</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">rho</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">-</span> <span class="n">np</span><span class="p">.</span><span class="n">sqrt</span><span class="p">(</span><span class="mf">0.25</span> <span class="o">-</span> <span class="n">delta</span><span class="p">)</span> + <span class="n">X</span> <span class="o">=</span> <span class="mi">1</span> <span class="o">/</span> <span class="n">rho</span> <span class="o">*</span> <span class="p">(</span><span class="n">T2</span> <span class="o">-</span> <span class="p">(</span><span class="mi">2</span> <span class="o">+</span> <span class="n">rho</span><span class="p">)</span> <span class="o">*</span> <span class="n">T</span> <span class="o">+</span> <span class="p">(</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">rho</span><span class="p">)</span> <span class="o">*</span> <span class="n">I</span><span class="p">)</span> <span class="o">@</span> <span class="n">X</span> + <span class="n">T</span> <span class="o">=</span> <span class="n">X</span> <span class="o">@</span> <span class="n">A</span> + <span class="n">diff</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">linalg</span><span class="p">.</span><span class="n">norm</span><span class="p">(</span><span class="n">X</span> <span class="o">-</span> <span class="n">X_prev</span><span class="p">,</span> <span class="nb">ord</span><span class="o">=</span><span class="s">'fro'</span><span class="p">)</span> + <span class="n">X_prev</span> <span class="o">=</span> <span class="n">X</span> + <span class="k">return</span> <span class="n">X</span> +</code></pre></div></div> + + + </div> +<a class="u-url" href="/2024/02/26/simple-numerical-matrix-inversion.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2024/05/17/learn-bayesian-lr-from-imbalanced-data.html b/2024/05/17/learn-bayesian-lr-from-imbalanced-data.html new file mode 100644 index 000000000..437fb2acb --- /dev/null +++ b/2024/05/17/learn-bayesian-lr-from-imbalanced-data.html @@ -0,0 +1,419 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Learn Bayesian Logistic regression from imbalanced data | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Learn Bayesian Logistic regression from imbalanced data"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="Dataset"> +<meta property="og:description" content="Dataset"> +<link rel="canonical" href="https://kkew3.github.io/2024/05/17/learn-bayesian-lr-from-imbalanced-data.html"> +<meta property="og:url" content="https://kkew3.github.io/2024/05/17/learn-bayesian-lr-from-imbalanced-data.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2024-05-17T03:21:31+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Learn Bayesian Logistic regression from imbalanced data"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-05-17T03:21:31+00:00","datePublished":"2024-05-17T03:21:31+00:00","description":"Dataset","headline":"Learn Bayesian Logistic regression from imbalanced data","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2024/05/17/learn-bayesian-lr-from-imbalanced-data.html"},"url":"https://kkew3.github.io/2024/05/17/learn-bayesian-lr-from-imbalanced-data.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +<script>MathJax={"tex":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]]},"svg":{"fontCache":"global"}}</script><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Learn Bayesian Logistic regression from imbalanced data</h1> + <span><a href="https://kkew3.github.io/tags/ml--bayes"><code class="highlighter-rouge"><nobr>machine learning/bayesian</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2024-05-17T03:21:31+00:00" itemprop="datePublished">May 17, 2024 at 03:21:31 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <h2 id="dataset">Dataset</h2> + +<p><img src="/assets/posts_imgs/2024-05-17/dataset.png" alt="toy 2d dataset"></p> + +<p>Obviously, this is an imbalanced dataset. +A dumb classifier may assign “yellow” to all points and yield apparently satisfactory accuracy.</p> + +<h2 id="bayesian-logistic-regression">Bayesian Logistic regression</h2> + +<p>Denote the $k$-th component of the softmax of $\boldsymbol z$ as:</p> + +\[\mathcal S_k(\boldsymbol z) \triangleq \frac{\exp(z_k)}{\sum_{k'}\exp(z_{k'})}\,.\] + +<p>The likelihood is:</p> + +\[p(y=k \mid \boldsymbol x, \mathbf W, \boldsymbol b) = \mathcal S_k(\mathbf W \boldsymbol x + \boldsymbol b)\,,\] + +<p>where matrix $\mathbf W$ consists of $K$ weight vector $\boldsymbol w_k \in \mathbb R^d$, $\boldsymbol x \in \mathbb R^d$, and $\boldsymbol b \in \mathbb R^K$.</p> + +<p>For now, assign an uninformative Gaussian prior:</p> + +\[\forall k,\ \boldsymbol w_k \sim \mathcal N(0, \mathbf I)\,,\quad b_k \sim \mathcal N(0, 1)\,. +\tag{1}\] + +<p>The posterior (given the dataset $\mathcal D$) is:</p> + +\[p(\mathbf W, \boldsymbol b \mid \mathcal D) \propto \prod_{k=1}^K p(\boldsymbol w_k) p(b_k) \prod_{j=1}^m p(y_j \mid \boldsymbol x_j, \mathbf W, \boldsymbol b)\,. +\tag{2.1}\] + +<p>The predictive posterior is:</p> + +\[p(y \mid \boldsymbol x, \mathcal D) = \int p(y \mid \boldsymbol x, \mathbf W, \boldsymbol b) p(\mathbf W, \boldsymbol b \mid \mathcal D)\,\mathrm d \mathbf W \mathrm d \boldsymbol b\,. +\tag{2.2}\] + +<p>Although both (2.1) and (2.2) are intractable, we may find $q(\mathbf W, \boldsymbol b) \approx p(\mathbf W, \boldsymbol b \mid \mathcal D)$ by variational inference, and estimate the predictive posterior by Monte Carlo after plugging in $q$. +Since such procedure is out of scope, we won’t include details about it.</p> + +<p>Let’s see the decision boundary and the uncertainty (measured by entropy) of the Bayesian LR:</p> + +<p><img src="/assets/posts_imgs/2024-05-17/uninformative-db.png" alt="uninformative decision boundary"></p> + +<p><img src="/assets/posts_imgs/2024-05-17/uninformative-unc.png" alt="uninformative uncertainty"></p> + +<p>The model learns to be a dumb classifier!</p> + +<p>We may apply rescaling (a.k.a. threshold shifting) to the learned classifier, by dividing the predictive posterior by the class prior (i.e. the proportion of samples of class $k$ in all samples), and use it to make prediction. +The rescaled decision boundary and uncertainty are:</p> + +<p><img src="/assets/posts_imgs/2024-05-17/uninformative-rescaled-db.png" alt="uninformative rescaled decision boundary"></p> + +<p><img src="/assets/posts_imgs/2024-05-17/uninformative-rescaled-unc.png" alt="uninformative rescaled uncertainty"></p> + +<p>This benefits the minority class, but deteriorates the overall accuracy <em>a lot</em>.</p> + +<h2 id="strengthen-the-prior">Strengthen the prior</h2> + +<p>It turns out that if we strengthen the prior (by increasing its precision, or equivalently, decreasing its variance) of the intercepts in (1), things become much better. +The new prior is:</p> + +\[\forall k,\ b_k \sim \mathcal N(0, 10^{-6})\,. +\tag{3}\] + +<p>What we just encode into the prior reads:</p> + +<blockquote> + <p>I’m pretty sure that the two class weigh the same, despite the “purple” class appears inferior.</p> +</blockquote> + +<p>The result plots are:</p> + +<p><img src="/assets/posts_imgs/2024-05-17/precise-uninformative-db.png" alt="precise uninformative decision boundary"></p> + +<p><img src="/assets/posts_imgs/2024-05-17/precise-uninformative-unc.png" alt="precise uninformative uncertainty"></p> + +<h2 id="bias-the-prior">Bias the prior</h2> + +<p>What if we go further by biasing the classifier a little towards the minority class ($k=0$, “purple”)? +The new prior is:</p> + +\[b_0 \sim \mathcal N(2, 10^{-6})\,,\quad b_1 \sim \mathcal N(0, 10^{-6})\,. +\tag{4}\] + +<p>This prior reads:</p> + +<blockquote> + <p>I’m pretty sure there’re even a bit more “purple” class than “yellow” class a priori, despite they’re not sampled as much in the dataset.</p> +</blockquote> + +<p>The plots are now:</p> + +<p><img src="/assets/posts_imgs/2024-05-17/precise-biased-db.png" alt="precise biased decision boundary"></p> + +<p><img src="/assets/posts_imgs/2024-05-17/precise-biased-unc.png" alt="precise biased uncertainty"></p> + +<p>Pefect!</p> + +<h2 id="conclusion">Conclusion</h2> + +<p>In this post, we see that under Bayesian framework, Bayesian LR is able to naturally combat imbalanced dataset by adjusting its prior belief.</p> + +<p>This <a href="https://github.com/kkew3/bayeslr-imbalanced">codebase</a> generates all the figures in the post.</p> + +<h2 id="appendix">Appendix</h2> + +<p>Features and labels of the toy dataset.</p> + +<p>The features:</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>array([[-0.46601866, 1.18801609], + [ 0.53858625, 0.60716392], + [-0.97431137, 0.69753311], + [-1.09220402, 0.87799492], + [-2.03843356, 0.28665154], + [-0.34062009, 0.79352777], + [-1.16225216, 0.79350459], + [ 0.19419328, 1.60986703], + [ 0.41018415, 1.54828838], + [-0.61113336, 0.99020048], + [ 0.08837677, 0.95373644], + [-1.77183232, -0.12717568], + [-0.54560628, 1.07613052], + [-1.69901425, 0.55489764], + [-0.7449788 , 0.7519103 ], + [-1.84473763, 0.55248995], + [-0.50824943, 1.08964891], + [-1.35655196, 0.7102918 ], + [-0.71295569, 0.38030989], + [ 0.0582823 , 1.35158484], + [-2.74743505, -0.18849513], + [-2.36125827, -0.22542297], + [ 0.28512568, 1.52124326], + [-0.67059538, 0.61188467], + [-1.08310962, 0.57068698], + [-1.59421684, 0.32055693], + [-0.58608561, 0.98441983], + [ 0.91449962, 1.74231742], + [-1.78271812, 0.25676529], + [-0.30880495, 0.98633121], + [-0.80196522, 0.56542478], + [-1.64551419, 0.2527351 ], + [ 0.88404065, 1.80009243], + [ 0.07752252, 1.19103008], + [ 0.01499115, 1.35642701], + [-1.37772455, 0.58176578], + [-0.9893581 , 0.6000557 ], + [-0.20708577, 0.97773425], + [-0.97487675, 0.67788572], + [-0.84898247, 0.76214066], + [-2.87107864, 0.01823837], + [-1.52762479, 0.15224236], + [-1.19066619, 0.61716677], + [-0.78719074, 1.22733157], + [ 0.37887222, 1.38907542], + [-0.29892079, 1.20534091], + [-1.21904812, 0.45126808], + [-0.01954643, 1.00443244], + [-2.7534539 , -0.41174779], + [ 0.00290918, 1.19376387], + [-0.3465645 , 0.97372693], + [-0.38706669, 0.98612011], + [-0.3909804 , 1.1737113 ], + [ 0.67985963, 1.57038317], + [-1.5574845 , 0.38938231], + [-0.70276487, 0.84873314], + [-0.77152456, 1.24328845], + [-0.78685252, 0.71866813], + [-1.58251503, 0.47314274], + [-0.86990291, 1.01246542], + [-0.76296641, 1.03057172], + [-1.46908977, 0.50048994], + [ 0.41590518, 1.35808005], + [-0.23171796, 0.97466644], + [-0.35599838, 1.05651836], + [-1.86300113, 0.31105633], + [-1.06979785, 0.89343042], + [ 0.89051152, 1.36968058], + [-1.64250124, 0.5395521 ], + [ 0.19072792, 1.39594182], + [-0.68980859, 1.51412568], + [-0.66216014, 0.94064958], + [-1.98324693, 0.36500688], + [-1.77543305, 0.48759471], + [ 0.99143992, 1.53242166], + [-2.03402523, 0.27661546], + [-0.98138839, 0.86047666], + [ 0.86594322, 1.60352598], + [-1.25510995, 0.40788484], + [-1.28207069, 0.55164356], + [-0.50983219, 1.05505834], + [ 0.98003606, 0.56171673], + [-1.86097117, 0.44004685], + [-1.09945843, 0.63380337], + [-1.44294885, 0.18391039], + [-1.60512757, 0.25456073], + [ 0.5505329 , 1.63447114], + [-1.13622159, 0.87658095], + [-0.18029101, 0.98458234], + [-1.48031015, 0.3667454 ], + [ 0.94295697, 1.51965296], + [-1.94413955, 0.257857 ], + [-1.92812486, -0.15406208], + [-0.28437139, 0.8520255 ], + [-0.95551392, 0.28517945], + [-1.44252631, 0.5455637 ], + [-0.22064889, 1.33439538], + [-1.52749019, 0.50443876], + [ 0.757785 , 0.42124458], + [-0.49536512, 0.9627005 ]]) +</code></pre></div></div> + +<p>The labels:</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>array([1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 1]) +</code></pre></div></div> + + </div> +<a class="u-url" href="/2024/05/17/learn-bayesian-lr-from-imbalanced-data.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2024/06/13/leverage-ollama-in-iterm2-ai-integration.html b/2024/06/13/leverage-ollama-in-iterm2-ai-integration.html new file mode 100644 index 000000000..481ba8fb9 --- /dev/null +++ b/2024/06/13/leverage-ollama-in-iterm2-ai-integration.html @@ -0,0 +1,154 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Leverage Ollama in iTerm2 AI integration | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Leverage Ollama in iTerm2 AI integration"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="Introduction"> +<meta property="og:description" content="Introduction"> +<link rel="canonical" href="https://kkew3.github.io/2024/06/13/leverage-ollama-in-iterm2-ai-integration.html"> +<meta property="og:url" content="https://kkew3.github.io/2024/06/13/leverage-ollama-in-iterm2-ai-integration.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2024-06-13T14:46:53+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Leverage Ollama in iTerm2 AI integration"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-06-13T14:46:53+00:00","datePublished":"2024-06-13T14:46:53+00:00","description":"Introduction","headline":"Leverage Ollama in iTerm2 AI integration","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2024/06/13/leverage-ollama-in-iterm2-ai-integration.html"},"url":"https://kkew3.github.io/2024/06/13/leverage-ollama-in-iterm2-ai-integration.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Leverage Ollama in iTerm2 AI integration</h1> + <span><a href="https://kkew3.github.io/tags/os--macos"><code class="highlighter-rouge"><nobr>os/macOS</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2024-06-13T14:46:53+00:00" itemprop="datePublished">Jun 13, 2024 at 14:46:53 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <h2 id="introduction">Introduction</h2> + +<p>Recently, <a href="https://iterm2.com/">iTerm2</a> released version <a href="https://iterm2.com/downloads/stable/iTerm2-3_5_0.changelog">3.5.0</a>, which includes generative AI integration in OpenAI API. +<a href="https://ollama.com/">Ollama</a> is an open platform for large language models (LLM). +Starting from February 2024, Ollama has built-in <a href="https://ollama.com/blog/openai-compatibility">support</a> of OpenAI chat completions API. +Putting them together, we can <a href="https://gitlab.com/gnachman/iterm2/-/issues/11455">now</a> ask AI to compose commands for us seamlessly in iTerm2 interface, using Ollama bot locally.</p> + +<h2 id="configuration">Configuration</h2> + +<p>Here are the steps to start using the AI integration in iTerm2:</p> + +<ol> + <li>Install the AI plugin from <a href="https://iterm2.com/ai-plugin.html">iTerm2 site</a>.</li> + <li>In iTerm2 preferences, under <code class="language-plaintext highlighter-rouge">General</code> section and <code class="language-plaintext highlighter-rouge">AI</code> tab, enter “OpenAI API key” with anything non-empty, fill in the <a href="https://gitlab.com/gnachman/iterm2/-/wikis/AI-Prompt">AI prompt</a>, specify the model and the custom URL.</li> +</ol> + +<p>For example, mine is like below:</p> + +<ul> + <li>OpenAI API key: <code class="language-plaintext highlighter-rouge">abc</code> +</li> + <li>AI prompt: <code class="language-plaintext highlighter-rouge">Return commands suitable for copy/pasting into \(shell) on \(uname). Do NOT include commentary NOR Markdown triple-backtick code blocks as your whole response will be copied into my terminal automatically. If not otherwise specified, you should always give at most one line of command. The command should do this: \(ai.prompt)</code>.</li> + <li>Model: <code class="language-plaintext highlighter-rouge">codegemma:instruct</code>.</li> + <li>Token limit: <code class="language-plaintext highlighter-rouge">16384</code>.</li> + <li>Custom URL: <code class="language-plaintext highlighter-rouge">http://localhost/v1/chat/completions</code>.</li> + <li>Use legacy “completions” API: false.</li> +</ul> + +<p>Remarks:</p> + +<ul> + <li>If your Ollama runs on a server in WLAN, e.g. at IP address <code class="language-plaintext highlighter-rouge">192.168.0.107</code>, just replace the <code class="language-plaintext highlighter-rouge">localhost</code> in custom URL with that IP address.</li> + <li>Don’t forget to start Ollama by <code class="language-plaintext highlighter-rouge">ollama serve</code> before using iTerm2’s AI integration.</li> +</ul> + +<h2 id="workflow">Workflow</h2> + +<p>My favorite iTerm2 workflow after the configuration above:</p> + +<ol> + <li>Press <code class="language-plaintext highlighter-rouge">command + shift + .</code> to activate the composer.</li> + <li>Specify my need in plain English, and press <code class="language-plaintext highlighter-rouge">command + y</code> to send the input text to Ollama.</li> + <li>After a few seconds, the text should be replaced by Ollama’s response.</li> + <li>Press <code class="language-plaintext highlighter-rouge">shift + enter</code> to send the response to the terminal.</li> +</ol> + +<p>A demo:</p> + +<p><img src="/assets/posts_imgs/2024-06-13/iterm2-ai-demo.gif" alt="demo"></p> + + </div> +<a class="u-url" href="/2024/06/13/leverage-ollama-in-iterm2-ai-integration.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2024/07/06/compute-accuracy-from-f1-score.html b/2024/07/06/compute-accuracy-from-f1-score.html new file mode 100644 index 000000000..22a73430c --- /dev/null +++ b/2024/07/06/compute-accuracy-from-f1-score.html @@ -0,0 +1,237 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Compute accuracy from F1 score | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Compute accuracy from F1 score"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="I encountered a similar problem today as the one in this post, where I wish to find the accuracy given F1 score only. F1 score is well suited to my imbalanced classification problem, so I compute it during training; but I then find it difficult to interprete. There’s a surprising lack of relevant information when I searched the web. Luckily, it’s not a difficult task either."> +<meta property="og:description" content="I encountered a similar problem today as the one in this post, where I wish to find the accuracy given F1 score only. F1 score is well suited to my imbalanced classification problem, so I compute it during training; but I then find it difficult to interprete. There’s a surprising lack of relevant information when I searched the web. Luckily, it’s not a difficult task either."> +<link rel="canonical" href="https://kkew3.github.io/2024/07/06/compute-accuracy-from-f1-score.html"> +<meta property="og:url" content="https://kkew3.github.io/2024/07/06/compute-accuracy-from-f1-score.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2024-07-06T01:51:59+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Compute accuracy from F1 score"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-07-06T01:51:59+00:00","datePublished":"2024-07-06T01:51:59+00:00","description":"I encountered a similar problem today as the one in this post, where I wish to find the accuracy given F1 score only. F1 score is well suited to my imbalanced classification problem, so I compute it during training; but I then find it difficult to interprete. There’s a surprising lack of relevant information when I searched the web. Luckily, it’s not a difficult task either.","headline":"Compute accuracy from F1 score","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2024/07/06/compute-accuracy-from-f1-score.html"},"url":"https://kkew3.github.io/2024/07/06/compute-accuracy-from-f1-score.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +<script>MathJax={"tex":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]]},"svg":{"fontCache":"global"}}</script><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Compute accuracy from F1 score</h1> + <span><a href="https://kkew3.github.io/tags/ml"><code class="highlighter-rouge"><nobr>machine learning</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2024-07-06T01:51:59+00:00" itemprop="datePublished">Jul 6, 2024 at 01:51:59 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <p>I encountered a similar problem today as the one in <a href="https://stackoverflow.com/questions/42041078/calculating-accuracy-from-precision-recall-f1-score-scikit-learn">this</a> post, where I wish to find the accuracy given F1 score only. +F1 score is <a href="https://datascience.stackexchange.com/a/65342/153995">well suited</a> to my imbalanced classification problem, so I compute it during training; but I then find it difficult to interprete. +There’s a surprising lack of relevant information when I searched the web. +Luckily, it’s not a difficult task either.</p> + +<p>Since each F1 score corresponds to a range of accuracies, we may regard finding the accuracy given F1 score an optimization problem. +The process consists of two steps: 1) find the minimum accuracy; 2) find the maximum accuracy. To find the maximum, we may reduce it to finding the <em>negative</em> of the minimum of the <em>negative</em> accuracy. +Thus we will only handle step 1 below.</p> + +<p>Known constants:</p> + +<ul> + <li>$s_F$: the F1 score.</li> + <li>$r_P$ and $r_N$: the positive and negative class ratio.</li> +</ul> + +<p>Variables:</p> + +<ul> + <li>$r_{TP}$, $r_{TN}$, $r_{FP}$, $r_{FN}$: the true positive, true negative, false positive and false negative ratio (i.e. divided by the total sample count).</li> +</ul> + +<p>Objective: +$s_A = r_{TP} + r_{TN}$.</p> + +<p>Constraints:</p> + +<ul> + <li>$r_{TP} \ge 0$, $r_{TN} \ge 0$, $r_{FP} \ge 0$, $r_{FN} \ge 0$.</li> + <li>$r_{TP} + r_{FN} = r_P$, $r_{TN} + r_{FP} = r_N$.</li> + <li>$\frac{2 \cdot r_{TP} / (r_{TP} + r_{FP}) \cdot r_{TP} / (r_{TP} + r_{FN})}{r_{TP} / (r_{TP} + r_{FP}) + r_{TP} / (r_{TP} + r_{FN})} = s_F$. The left hand side is just the F1 score formula.</li> +</ul> + +<p>Python implementation:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># jax is not necessary, just that I don't want to spend time on finding +# partial derivative of the F1 score with respect to true positive, +# etc. +</span><span class="kn">import</span> <span class="nn">jax</span> +<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="n">np</span> +<span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">softmax</span> +<span class="kn">from</span> <span class="nn">scipy.optimize</span> <span class="kn">import</span> <span class="n">minimize</span> + +<span class="c1"># Used to avoid divid-by-zero error. +</span><span class="n">EPS</span> <span class="o">=</span> <span class="mf">1e-8</span> + +<span class="k">def</span> <span class="nf">f1_score_constraint</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">f1_score</span><span class="p">):</span> + <span class="s">""" + :param x: the array (tp, fp, tn, fn) + :param f1_score: the known F1 score + """</span> + <span class="n">tp</span><span class="p">,</span> <span class="n">fp</span><span class="p">,</span> <span class="n">fn</span> <span class="o">=</span> <span class="n">x</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">x</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span> <span class="n">x</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> + <span class="n">precision</span> <span class="o">=</span> <span class="n">tp</span> <span class="o">/</span> <span class="p">(</span><span class="n">tp</span> <span class="o">+</span> <span class="n">fp</span><span class="p">)</span> + <span class="n">recall</span> <span class="o">=</span> <span class="n">tp</span> <span class="o">/</span> <span class="p">(</span><span class="n">tp</span> <span class="o">+</span> <span class="n">fn</span><span class="p">)</span> + <span class="k">return</span> <span class="mi">2</span> <span class="o">*</span> <span class="p">(</span><span class="n">precision</span> <span class="o">*</span> <span class="n">recall</span><span class="p">)</span> <span class="o">/</span> <span class="p">(</span><span class="n">precision</span> <span class="o">+</span> <span class="n">recall</span><span class="p">)</span> <span class="o">-</span> <span class="n">f1_score</span> + + +<span class="k">def</span> <span class="nf">positive_sum_constraint</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">n_positive</span><span class="p">):</span> + <span class="s">""" + :param x: the array (tp, fp, tn, fn) + :param n_positive: the known positive class ratio + """</span> + <span class="n">tp</span><span class="p">,</span> <span class="n">fn</span> <span class="o">=</span> <span class="n">x</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">x</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> + <span class="k">return</span> <span class="n">tp</span> <span class="o">+</span> <span class="n">fn</span> <span class="o">-</span> <span class="n">n_positive</span> + + +<span class="k">def</span> <span class="nf">negative_sum_constraint</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">n_negative</span><span class="p">):</span> + <span class="s">""" + :param x: the array (tp, fp, tn, fn) + :param n_negative: the known negative class ratio + """</span> + <span class="n">tn</span><span class="p">,</span> <span class="n">fp</span> <span class="o">=</span> <span class="n">x</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">x</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> + <span class="k">return</span> <span class="n">tn</span> <span class="o">+</span> <span class="n">fp</span> <span class="o">-</span> <span class="n">n_negative</span> + + +<span class="k">def</span> <span class="nf">accuracy</span><span class="p">(</span><span class="n">x</span><span class="p">):</span> + <span class="s">""" + :param x: the array (tp, fp, tn, fn) + """</span> + <span class="n">tp</span><span class="p">,</span> <span class="n">tn</span> <span class="o">=</span> <span class="n">x</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">x</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> + <span class="k">return</span> <span class="n">tp</span> <span class="o">+</span> <span class="n">tn</span> + + +<span class="c1"># Ideally this should give a feasible solution. But in practice, I +# find it works fine even if it's not feasible. +</span><span class="k">def</span> <span class="nf">rand_init</span><span class="p">():</span> + <span class="k">return</span> <span class="n">softmax</span><span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="n">random</span><span class="p">.</span><span class="n">randn</span><span class="p">(</span><span class="mi">4</span><span class="p">))</span> + + +<span class="k">def</span> <span class="nf">find_min_accuracy_from_f1</span><span class="p">(</span><span class="n">f1_score</span><span class="p">,</span> <span class="n">n_positive</span><span class="p">,</span> <span class="n">n_negative</span><span class="p">):</span> + <span class="s">""" + :param f1_score: the known F1 socre + :param n_positive: the known positive class ratio + :param n_negative: the known negative class ratio + """</span> + <span class="n">res</span> <span class="o">=</span> <span class="n">minimize</span><span class="p">(</span> + <span class="n">accuracy</span><span class="p">,</span> + <span class="n">rand_init</span><span class="p">(),</span> + <span class="n">method</span><span class="o">=</span><span class="s">'SLSQP'</span><span class="p">,</span> + <span class="n">jac</span><span class="o">=</span><span class="n">jax</span><span class="p">.</span><span class="n">grad</span><span class="p">(</span><span class="n">accuracy</span><span class="p">),</span> + <span class="n">bounds</span><span class="o">=</span><span class="p">[(</span><span class="n">EPS</span><span class="p">,</span> <span class="bp">None</span><span class="p">),</span> <span class="p">(</span><span class="n">EPS</span><span class="p">,</span> <span class="bp">None</span><span class="p">),</span> <span class="p">(</span><span class="n">EPS</span><span class="p">,</span> <span class="bp">None</span><span class="p">),</span> <span class="p">(</span><span class="n">EPS</span><span class="p">,</span> <span class="bp">None</span><span class="p">)],</span> + <span class="n">constraints</span><span class="o">=</span><span class="p">[</span> + <span class="p">{</span> + <span class="s">'type'</span><span class="p">:</span> <span class="s">'eq'</span><span class="p">,</span> + <span class="s">'fun'</span><span class="p">:</span> <span class="n">f1_score_constraint</span><span class="p">,</span> + <span class="s">'jax'</span><span class="p">:</span> <span class="n">jax</span><span class="p">.</span><span class="n">grad</span><span class="p">(</span><span class="n">f1_score_constraint</span><span class="p">),</span> + <span class="s">'args'</span><span class="p">:</span> <span class="p">(</span><span class="n">f1_score</span><span class="p">,),</span> + <span class="p">},</span> + <span class="p">{</span> + <span class="s">'type'</span><span class="p">:</span> <span class="s">'eq'</span><span class="p">,</span> + <span class="s">'fun'</span><span class="p">:</span> <span class="n">positive_sum_constraint</span><span class="p">,</span> + <span class="s">'jac'</span><span class="p">:</span> <span class="n">jax</span><span class="p">.</span><span class="n">grad</span><span class="p">(</span><span class="n">positive_sum_constraint</span><span class="p">),</span> + <span class="s">'args'</span><span class="p">:</span> <span class="p">(</span><span class="n">n_positive</span><span class="p">,),</span> + <span class="p">},</span> + <span class="p">{</span> + <span class="s">'type'</span><span class="p">:</span> <span class="s">'eq'</span><span class="p">,</span> + <span class="s">'fun'</span><span class="p">:</span> <span class="n">negative_sum_constraint</span><span class="p">,</span> + <span class="s">'jac'</span><span class="p">:</span> <span class="n">jax</span><span class="p">.</span><span class="n">grad</span><span class="p">(</span><span class="n">negative_sum_constraint</span><span class="p">),</span> + <span class="s">'args'</span><span class="p">:</span> <span class="p">(</span><span class="n">n_negative</span><span class="p">,),</span> + <span class="p">},</span> + <span class="p">],</span> + <span class="n">options</span><span class="o">=</span><span class="p">{</span><span class="s">'maxiter'</span><span class="p">:</span> <span class="mi">1000</span><span class="p">},</span> + <span class="p">)</span> + <span class="k">return</span> <span class="n">res</span><span class="p">.</span><span class="n">fun</span> +</code></pre></div></div> + +<p>Calling the function <code class="language-plaintext highlighter-rouge">find_min_accuracy_from_f1</code> with data, we get the minimum possible accuracy given F1 score:</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>>>> find_min_accuracy_from_f1(0.457, 0.044, 0.9559) +0.8953 +</code></pre></div></div> + + </div> +<a class="u-url" href="/2024/07/06/compute-accuracy-from-f1-score.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2024/08/09/gamma-in-bn-vae.html b/2024/08/09/gamma-in-bn-vae.html new file mode 100644 index 000000000..8384cf0bf --- /dev/null +++ b/2024/08/09/gamma-in-bn-vae.html @@ -0,0 +1,139 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Effect of gamma in BN-VAE | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Effect of gamma in BN-VAE"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="Abstract"> +<meta property="og:description" content="Abstract"> +<link rel="canonical" href="https://kkew3.github.io/2024/08/09/gamma-in-bn-vae.html"> +<meta property="og:url" content="https://kkew3.github.io/2024/08/09/gamma-in-bn-vae.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2024-08-09T11:00:44+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Effect of gamma in BN-VAE"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-08-09T11:00:44+00:00","datePublished":"2024-08-09T11:00:44+00:00","description":"Abstract","headline":"Effect of gamma in BN-VAE","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2024/08/09/gamma-in-bn-vae.html"},"url":"https://kkew3.github.io/2024/08/09/gamma-in-bn-vae.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +<script>MathJax={"tex":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]]},"svg":{"fontCache":"global"}}</script><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Effect of gamma in BN-VAE</h1> + <span><a href="https://kkew3.github.io/tags/ml--bayes"><code class="highlighter-rouge"><nobr>machine learning/bayesian</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2024-08-09T11:00:44+00:00" itemprop="datePublished">Aug 9, 2024 at 11:00:44 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <h2 id="abstract">Abstract</h2> + +<p>This post discusses the effect of $\gamma$ in BN-VAE (<a href="https://arxiv.org/abs/2004.12585">Zhu et al., 2020</a>).</p> + +<h2 id="introduction">Introduction</h2> + +<p>BN-VAE (see more about it <a href="https://kexue.fm/archives/7381">here</a> (in Chinese)) attempts to solve KL vanishing problem (a.k.a. posterior collapse) in Gaussian-VAE by batch-normalizing the variational posterior mean, which casts a positive lower bound on the <a href="https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence">Kullback-Leibler divergence</a> term (over the dataset) in <a href="https://en.wikipedia.org/wiki/Evidence_lower_bound">ELBO</a>, thus avoiding KL vanishing problem. +The batch normalization procedure includes a fixed hyperparameter $\gamma \ge 0$, which controls the lower bound of the KL; the larger $\gamma$, the larger the lower bound. +When $\gamma=0$, KL vanishing occurs.</p> + +<p>Zhu et al. (2020) visualizes the distribution of the variational posterior mean when $\gamma$ equals 0.3 and 1. +What will happen if $\gamma > 1$? +How does $\gamma > 0$ solves the KL vanishing problem? +We’ll explore these questions below.</p> + +<h2 id="gamma1-introduces-posterior-hole-problem">$\gamma>1$ introduces posterior hole problem</h2> + +<p>Posterior hole problem happens when the aggregate variational posterior (a.k.a. average encoder distribution (<a href="https://approximateinference.org/2016/accepted/HoffmanJohnson2016.pdf">Hoffman & Johnson, 2016</a>)) does not match the prior. +When measured in KL divergence, this means:</p> + +\[D_{KL}(q_\phi(z) \parallel p(z)) > 0\] + +<p>Here, $q_\phi(z) = \sum_{i=1}^N \frac{1}{N} q_\phi(z \mid x_i)$ where $N$ is the dataset size, is the aggregate variational posterior.</p> + +<p>In Gaussian-VAE, the variational posterior $q_\phi(z \mid x_i) = \mathcal N(z \mid \mu_i, \sigma_i^2)$, where $(\mu_i,\sigma_i^2)$ are typically computed by a neural network called the inference network (<a href="https://arxiv.org/pdf/1312.6114">Kingma & Welling, 2013</a>) parameterized by $\phi$ given $x_i$; and $q_\phi(z \mid x_i)$ can usually be factorized into each dimension $j$ as $q_\phi(z \mid x_i) = \prod_{j=1}^d q_\phi(z_j \mid x_i)$, where each $q_\phi(z_j \mid x_i)$ is an univariate Gaussian parameterized by $(\mu_{ij}, \sigma_{ij}^2)$. +Thus, the aggregate variational posterior is an $N$-mixture of Gaussians whose mean, at each dimension $j$, is $\bar\mu_j = \frac{1}{N}\sum_{i=1}^N \mu_{ij}$ and variance is $\bar\sigma_j^2 = \frac{1}{N}\sum_{i=1}^N \sigma_{ij}^2$.</p> + +<p>If $q_\phi$ is transformed according to BN-VAE, then $\bar\mu_j = \beta$ where $\beta$ is a learnable parameter. +Furthermore, we have variance $\mathbb E_{q_\phi(z_j)}[z_j^2] - \mathbb E_{q_\phi(z_j)}[z_j]^2 = \gamma^2 + \bar\sigma^2$. +If we follow Zhu et al. (2020) to use a standard Gaussian $\mathcal N(z \mid \mathbf 0, \mathbf I)$ as prior $p$, then according to <a href="https://kkew3.github.io/2024/08/09/lower-bound-of-kl-divergence-between-any-density-and-gaussian.html">this post</a>, $D_{KL}(q_\phi(z) \parallel p(z)$, at each dimension $j$, will be lower bounded by $D_{KL}(q_0(z_j) \parallel p(z_j))$ where $q_0(z_j) = \mathcal N(z_j \mid \beta, \gamma^2 + \bar\sigma^2)$, which is consistently greater than zero when $\gamma > 1$ (<a href="https://arxiv.org/pdf/1901.03416">Razavi et al., 2019</a>). +It follows immediately (<a href="https://statproofbook.github.io/P/kl-add">Soch, Joram, et al., 2024</a>), that $D_{KL}(q_\phi(z) \parallel p(z)) \ge \sum_{j=1}^d D_{KL}(q_0(z_i) \parallel p(z_i)) > 0$.</p> + +<p><em>TO BE CONTINUED</em></p> + + </div> +<a class="u-url" href="/2024/08/09/gamma-in-bn-vae.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/2024/08/09/lower-bound-of-kl-divergence-between-any-density-and-gaussian.html b/2024/08/09/lower-bound-of-kl-divergence-between-any-density-and-gaussian.html new file mode 100644 index 000000000..23770fe45 --- /dev/null +++ b/2024/08/09/lower-bound-of-kl-divergence-between-any-density-and-gaussian.html @@ -0,0 +1,194 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Lower bound of KL divergence between any density and Gaussian | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Lower bound of KL divergence between any density and Gaussian"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="Abstract"> +<meta property="og:description" content="Abstract"> +<link rel="canonical" href="https://kkew3.github.io/2024/08/09/lower-bound-of-kl-divergence-between-any-density-and-gaussian.html"> +<meta property="og:url" content="https://kkew3.github.io/2024/08/09/lower-bound-of-kl-divergence-between-any-density-and-gaussian.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="article"> +<meta property="article:published_time" content="2024-08-09T09:03:39+00:00"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Lower bound of KL divergence between any density and Gaussian"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-08-09T09:03:39+00:00","datePublished":"2024-08-09T09:03:39+00:00","description":"Abstract","headline":"Lower bound of KL divergence between any density and Gaussian","mainEntityOfPage":{"@type":"WebPage","@id":"https://kkew3.github.io/2024/08/09/lower-bound-of-kl-divergence-between-any-density-and-gaussian.html"},"url":"https://kkew3.github.io/2024/08/09/lower-bound-of-kl-divergence-between-any-density-and-gaussian.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +<script>MathJax={"tex":{"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]]},"svg":{"fontCache":"global"}}</script><script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script><script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post h-entry" itemscope itemtype="http://schema.org/BlogPosting"> + + <header class="post-header"> + <h1 class="post-title p-name" itemprop="name headline">Lower bound of KL divergence between any density and Gaussian</h1> + <span><a href="https://kkew3.github.io/tags/math--prob"><code class="highlighter-rouge"><nobr>math/probability</nobr></code></a></span> + <p class="post-meta"> + <time class="dt-published" datetime="2024-08-09T09:03:39+00:00" itemprop="datePublished">Aug 9, 2024 at 09:03:39 + </time></p> + </header> + + <div class="post-content e-content" itemprop="articleBody"> + <h2 id="abstract">Abstract</h2> + +<p>In this post, I explain how to derive a lower bound of the <a href="https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence">Kullback-Leibler divergence</a> between any density $q$, e.g. a Gaussian mixture, and a Gaussian $p$.</p> + +<h2 id="framework">Framework</h2> + +<p>We may cast the problem finding the lower bound to a constrained minimization problem:</p> + +<div id="eq-1"></div> + +\[\begin{aligned} + \min_{q'}\ &D_{KL}(q' \parallel p)\\ + \text{s.t. } &\int_{\mathcal X} q'(x)\,\mathrm dx = 1\\ + &\ldots \ \text{other constraints} +\end{aligned}\tag{1}\] + +<p>where $\mathcal X$ is the support of $q’$, and we’ll fill in “other constraints” with what we know about the density $q$, like its mean and variance. +The solution of Equation (<a href="#eq-1">1</a>) will be the lower bound we’re seeking for.</p> + +<p>The <a href="https://en.wikipedia.org/wiki/Lagrange_multiplier">Lagrangian</a> would be:</p> + +\[L = \int_{\mathcal X} q'(x)\log \frac{q'(x)}{p(x)}\,\mathrm dx + \lambda_0 (\int_{\mathcal X} q'(x)\,\mathrm dx - 1) + \ldots \tag{2}\] + +<p>Taking the functional derivative of $L$ with respect to $q’$ and letting it equal zero yields:</p> + +\[\begin{aligned} + 0 &= 1 + \log q'(x) - \log p(x) + \lambda_0 + \ldots\\ + \log q'(x) &= -\lambda_0 - 1 + \log p(x) + \ldots\\ + q'(x) &= \exp(-\lambda_0 -1 + \log p(x) + \ldots) +\end{aligned}\] + +<p>Finally, plugging $q’(x)$ back into the constraints and solve for the Lagrange multipliers $\lambda_0$, etc.</p> + +<h2 id="example">Example</h2> + +<p>In this simple example, we assume that $p(x) = \mathcal N(x \mid 0, 1)$ be a standard univariate Gaussian, and assume that $q$ and $p$ have the same support. +Suppose also that we know the mean and variance of $q$ to be: $\mathbb E_q[x] = 0$, $\mathbb E_q[x^2] - \mathbb E_q[x]^2 = \mathbb E_q[x^2] = \sigma^2$.</p> + +<p>The Lagrangian is:</p> + +<div id="eq-3"></div> + +\[\require{enclose} +L = \int_{-\infty}^\infty q'(x) \log \frac{q'(x)}{p(x)}\,\mathrm dx + \lambda_0 (\underbrace{\int_{-\infty}^\infty q'(x)\,\mathrm dx - 1}_{\substack{\enclose{circle}{1}}}) + \lambda_1 (\underbrace{\int_{-\infty}^\infty x^2 q'(x)\,\mathrm dx - \sigma^2}_{\substack{\enclose{circle}{2}}})\tag{3}\] + +<p>where we have encoded the mean and variance constraints into one term (see why <a href="https://michael-franke.github.io/intro-data-analysis/the-maximum-entropy-principle.html#example-2-derivation-of-maximum-entropy-pdf-with-given-mean-mu-and-variance-sigma2">here</a>). +Taking the derivative and letting it equal zero yields:</p> + +<div id="eq-4"></div> + +\[\begin{align} + 0 &= 1 + \log q'(x) - \log p(x) + \lambda_0 + \lambda_1 x^2\\ + \log q'(x) &\stackrel{1}{=} -\lambda_0 - 1 - (\frac{1}{2} + \lambda_1) x^2\\ + q'(x) &= \exp(-\lambda_0 - 1 - (\frac{1}{2} + \lambda_1) x^2)\tag{4}\\ +\end{align}\] + +<p>where equal sign ‘$1$’ is because $\log p(x) = -\frac{1}{2}x^2 + C$, and the constant $C$ has been absorbed into $\lambda_0$.</p> + +<p>Plugging Equation (<a href="#eq-4">4</a>) back to <a href="#eq-3">⓵</a> and solving the integral yields:</p> + +<div id="eq-5.1"></div> + +\[\frac{\sqrt{\pi}\exp(-\lambda_0 - 1)}{\sqrt{\frac{1}{2} + \lambda_1}} = 1\tag{5.1}\] + +<p>Likewise, plugging (<a href="#eq-4">4</a>) back to <a href="#eq-3">⓶</a> and solving the integral yields:</p> + +<div id="eq-5.2"></div> + +\[\frac{\sqrt{\pi} \exp(-\lambda_0 - 1)}{2\sqrt{(\frac{1}{2} + \lambda_1)^3}} = \sigma^2\tag{5.2}\] + +<p>Solving Equations (<a href="#eq-5.1">5.1</a>, <a href="#eq-5.2">5.2</a>) gives:</p> + +<div id="eq-6"></div> + +\[\begin{cases} + \lambda_0 = -1 + \frac{1}{2} \log 2\pi\sigma^2\\ + \lambda_1 = -\frac{1}{2} + \frac{1}{2\sigma^2}\\ +\end{cases}\tag{6}\] + +<p>Plugging Equation (<a href="#eq-6">6</a>) to Equation (<a href="#eq-4">4</a>), it’s immediate that</p> + +\[q'(x) = \frac{1}{\sqrt{2\pi\sigma^2}}\exp(-\frac{x^2}{2\sigma^2})\] + +<p>i.e., a Gaussian $\mathcal N(x \mid 0, \sigma^2)$. +Therefore, according to <a href="https://statproofbook.github.io/P/norm-kl">Soch, Joram, et al. (2024)</a>,</p> + +\[D_{KL}(q \parallel p) \ge \frac{1}{2}(\sigma^2 - \log\sigma^2 - 1)\] + + + </div> +<a class="u-url" href="/2024/08/09/lower-bound-of-kl-divergence-between-any-density-and-gaussian.html" hidden></a> +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/404.html b/404.html new file mode 100644 index 000000000..ce48b7f15 --- /dev/null +++ b/404.html @@ -0,0 +1,109 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Kaiwen’s personal website | My blogs and research reports.</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Kaiwen’s personal website"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/404.html"> +<meta property="og:url" content="https://kkew3.github.io/404.html"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Kaiwen’s personal website"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Kaiwen’s personal website","url":"https://kkew3.github.io/404.html"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <style type="text/css" media="screen"> + .container { + margin: 10px auto; + max-width: 600px; + text-align: center; + } + h1 { + margin: 30px 0; + font-size: 4em; + line-height: 1; + letter-spacing: -1px; + } +</style> + +<div class="container"> + <h1>404</h1> + + <p><strong>Page not found :(</strong></p> + <p>The requested page could not be found.</p> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/about/index.html b/about/index.html new file mode 100644 index 000000000..22fbe32d2 --- /dev/null +++ b/about/index.html @@ -0,0 +1,101 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>About | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="About"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/about/"> +<meta property="og:url" content="https://kkew3.github.io/about/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="About"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebSite","description":"My blogs and research reports.","headline":"About","name":"Kaiwen’s personal website","url":"https://kkew3.github.io/about/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post"> + + <header class="post-header"> + <h1 class="post-title">About</h1> + </header> + + <div class="post-content"> + <p>Hi. I’m Kaiwen Wu, graduating as a CS Masters from UC San Diego.</p> + + </div> + +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/assets/main.css b/assets/main.css new file mode 100644 index 000000000..240b0033f --- /dev/null +++ b/assets/main.css @@ -0,0 +1 @@ +body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,dl,dd,ol,ul,figure{margin:0;padding:0}body{font:400 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";color:#111;background-color:#fdfdfd;-webkit-text-size-adjust:100%;-webkit-font-feature-settings:"kern" 1;-moz-font-feature-settings:"kern" 1;-o-font-feature-settings:"kern" 1;font-feature-settings:"kern" 1;font-kerning:normal;display:flex;min-height:100vh;flex-direction:column}h1,h2,h3,h4,h5,h6,p,blockquote,pre,ul,ol,dl,figure,.highlight{margin-bottom:15px}main{display:block}img{max-width:100%;vertical-align:middle}figure>img{display:block}figcaption{font-size:14px}ul,ol{margin-left:30px}li>ul,li>ol{margin-bottom:0}h1,h2,h3,h4,h5,h6{font-weight:400}a{color:#2a7ae2;text-decoration:none}a:visited{color:#1756a9}a:hover{color:#111;text-decoration:underline}.social-media-list a:hover{text-decoration:none}.social-media-list a:hover .username{text-decoration:underline}blockquote{color:#828282;border-left:4px solid #e8e8e8;padding-left:15px;font-size:18px;letter-spacing:-1px;font-style:italic}blockquote>:last-child{margin-bottom:0}pre,code{font-size:15px;border:1px solid #e8e8e8;border-radius:3px;background-color:#eef}code{padding:1px 5px}pre{padding:8px 12px;overflow-x:auto}pre>code{border:0;padding-right:0;padding-left:0}.wrapper{max-width:-webkit-calc(800px - (30px * 2));max-width:calc(800px - (30px * 2));margin-right:auto;margin-left:auto;padding-right:30px;padding-left:30px}@media screen and (max-width: 800px){.wrapper{max-width:-webkit-calc(800px - (30px));max-width:calc(800px - (30px));padding-right:15px;padding-left:15px}}.wrapper:after,.footer-col-wrapper:after{content:"";display:table;clear:both}.svg-icon{width:16px;height:16px;display:inline-block;fill:#828282;padding-right:5px;vertical-align:text-top}.social-media-list li+li{padding-top:5px}table{margin-bottom:30px;width:100%;text-align:left;color:#3f3f3f;border-collapse:collapse;border:1px solid #e8e8e8}table tr:nth-child(even){background-color:#f7f7f7}table th,table td{padding:10px 15px}table th{background-color:#f0f0f0;border:1px solid #dedede;border-bottom-color:#c9c9c9}table td{border:1px solid #e8e8e8}.site-header{border-top:5px solid #424242;border-bottom:1px solid #e8e8e8;min-height:55.95px;position:relative}.site-title{font-size:26px;font-weight:300;line-height:54px;letter-spacing:-1px;margin-bottom:0;float:left}.site-title,.site-title:visited{color:#424242}.site-nav{float:right;line-height:54px}.site-nav .nav-trigger{display:none}.site-nav .menu-icon{display:none}.site-nav .page-link{color:#111;line-height:1.5}.site-nav .page-link:not(:last-child){margin-right:20px}@media screen and (max-width: 600px){.site-nav{position:absolute;top:9px;right:15px;background-color:#fdfdfd;border:1px solid #e8e8e8;border-radius:5px;text-align:right}.site-nav label[for="nav-trigger"]{display:block;float:right;width:36px;height:36px;z-index:2;cursor:pointer}.site-nav .menu-icon{display:block;float:right;width:36px;height:26px;line-height:0;padding-top:10px;text-align:center}.site-nav .menu-icon>svg{fill:#424242}.site-nav input ~ .trigger{clear:both;display:none}.site-nav input:checked ~ .trigger{display:block;padding-bottom:5px}.site-nav .page-link{display:block;padding:5px 10px;margin-left:20px}.site-nav .page-link:not(:last-child){margin-right:0}}.site-footer{border-top:1px solid #e8e8e8;padding:30px 0}.footer-heading{font-size:18px;margin-bottom:15px}.contact-list,.social-media-list{list-style:none;margin-left:0}.footer-col-wrapper{font-size:15px;color:#828282;margin-left:-15px}.footer-col{float:left;margin-bottom:15px;padding-left:15px}.footer-col-1{width:-webkit-calc(35% - (30px / 2));width:calc(35% - (30px / 2))}.footer-col-2{width:-webkit-calc(20% - (30px / 2));width:calc(20% - (30px / 2))}.footer-col-3{width:-webkit-calc(45% - (30px / 2));width:calc(45% - (30px / 2))}@media screen and (max-width: 800px){.footer-col-1,.footer-col-2{width:-webkit-calc(50% - (30px / 2));width:calc(50% - (30px / 2))}.footer-col-3{width:-webkit-calc(100% - (30px / 2));width:calc(100% - (30px / 2))}}@media screen and (max-width: 600px){.footer-col{float:none;width:-webkit-calc(100% - (30px / 2));width:calc(100% - (30px / 2))}}.page-content{padding:30px 0;flex:1}.page-heading{font-size:32px}.post-list-heading{font-size:28px}.post-list{margin-left:0;list-style:none}.post-list>li{margin-bottom:30px}.post-meta{font-size:14px;color:#828282}.post-link{display:block;font-size:24px}.post-header{margin-bottom:30px}.post-title{font-size:42px;letter-spacing:-1px;line-height:1}@media screen and (max-width: 800px){.post-title{font-size:36px}}.post-content{margin-bottom:30px}.post-content h2{font-size:32px}@media screen and (max-width: 800px){.post-content h2{font-size:28px}}.post-content h3{font-size:26px}@media screen and (max-width: 800px){.post-content h3{font-size:22px}}.post-content h4{font-size:20px}@media screen and (max-width: 800px){.post-content h4{font-size:18px}}.highlight{background:#fff}.highlighter-rouge .highlight{background:#eef}.highlight .c{color:#998;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .k{font-weight:bold}.highlight .o{font-weight:bold}.highlight .cm{color:#998;font-style:italic}.highlight .cp{color:#999;font-weight:bold}.highlight .c1{color:#998;font-style:italic}.highlight .cs{color:#999;font-weight:bold;font-style:italic}.highlight .gd{color:#000;background-color:#fdd}.highlight .gd .x{color:#000;background-color:#faa}.highlight .ge{font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#000;background-color:#dfd}.highlight .gi .x{color:#000;background-color:#afa}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kc{font-weight:bold}.highlight .kd{font-weight:bold}.highlight .kp{font-weight:bold}.highlight .kr{font-weight:bold}.highlight .kt{color:#458;font-weight:bold}.highlight .m{color:#099}.highlight .s{color:#d14}.highlight .na{color:teal}.highlight .nb{color:#0086B3}.highlight .nc{color:#458;font-weight:bold}.highlight .no{color:teal}.highlight .ni{color:purple}.highlight .ne{color:#900;font-weight:bold}.highlight .nf{color:#900;font-weight:bold}.highlight .nn{color:#555}.highlight .nt{color:navy}.highlight .nv{color:teal}.highlight .ow{font-weight:bold}.highlight .w{color:#bbb}.highlight .mf{color:#099}.highlight .mh{color:#099}.highlight .mi{color:#099}.highlight .mo{color:#099}.highlight .sb{color:#d14}.highlight .sc{color:#d14}.highlight .sd{color:#d14}.highlight .s2{color:#d14}.highlight .se{color:#d14}.highlight .sh{color:#d14}.highlight .si{color:#d14}.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .bp{color:#999}.highlight .vc{color:teal}.highlight .vg{color:teal}.highlight .vi{color:teal}.highlight .il{color:#099} diff --git a/assets/minima-social-icons.svg b/assets/minima-social-icons.svg new file mode 100644 index 000000000..fa7399fe2 --- /dev/null +++ b/assets/minima-social-icons.svg @@ -0,0 +1,33 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + +<symbol id="dribbble" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 16c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm6.747-6.905c-.234-.074-2.115-.635-4.257-.292.894 2.456 1.258 4.456 1.328 4.872 1.533-1.037 2.624-2.68 2.93-4.58zM10.67 14.3c-.102-.6-.5-2.688-1.46-5.18l-.044.014C5.312 10.477 3.93 13.15 3.806 13.4c1.158.905 2.614 1.444 4.194 1.444.947 0 1.85-.194 2.67-.543zm-7.747-1.72c.155-.266 2.03-3.37 5.555-4.51.09-.03.18-.056.27-.08-.173-.39-.36-.778-.555-1.16-3.413 1.02-6.723.977-7.023.97l-.003.208c0 1.755.665 3.358 1.756 4.57zM1.31 6.61c.307.005 3.122.017 6.318-.832-1.132-2.012-2.353-3.705-2.533-3.952-1.912.902-3.34 2.664-3.784 4.785zM6.4 1.368c.188.253 1.43 1.943 2.548 4 2.43-.91 3.46-2.293 3.582-2.468C11.323 1.827 9.736 1.176 8 1.176c-.55 0-1.087.066-1.6.19zm6.89 2.322c-.145.194-1.29 1.662-3.816 2.694.16.325.31.656.453.99.05.117.1.235.147.352 2.274-.286 4.533.172 4.758.22-.015-1.613-.59-3.094-1.543-4.257z"/></symbol> + +<symbol id="facebook" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M15.117 0H.883C.395 0 0 .395 0 .883v14.234c0 .488.395.883.883.883h7.663V9.804H6.46V7.39h2.086V5.607c0-2.066 1.262-3.19 3.106-3.19.883 0 1.642.064 1.863.094v2.16h-1.28c-1 0-1.195.48-1.195 1.18v1.54h2.39l-.31 2.42h-2.08V16h4.077c.488 0 .883-.395.883-.883V.883C16 .395 15.605 0 15.117 0" fill-rule="nonzero"/></symbol> + +<symbol id="flickr" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M0 8c0 2.05 1.662 3.71 3.71 3.71 2.05 0 3.713-1.66 3.713-3.71S5.76 4.29 3.71 4.29C1.663 4.29 0 5.95 0 8zm8.577 0c0 2.05 1.662 3.71 3.712 3.71C14.33 11.71 16 10.05 16 8s-1.662-3.71-3.71-3.71c-2.05 0-3.713 1.66-3.713 3.71z"/></symbol> + +<symbol id="github" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 0C3.58 0 0 3.582 0 8c0 3.535 2.292 6.533 5.47 7.59.4.075.547-.172.547-.385 0-.19-.007-.693-.01-1.36-2.226.483-2.695-1.073-2.695-1.073-.364-.924-.89-1.17-.89-1.17-.725-.496.056-.486.056-.486.803.056 1.225.824 1.225.824.714 1.223 1.873.87 2.33.665.072-.517.278-.87.507-1.07-1.777-.2-3.644-.888-3.644-3.953 0-.873.31-1.587.823-2.147-.09-.202-.36-1.015.07-2.117 0 0 .67-.215 2.2.82.64-.178 1.32-.266 2-.27.68.004 1.36.092 2 .27 1.52-1.035 2.19-.82 2.19-.82.43 1.102.16 1.915.08 2.117.51.56.82 1.274.82 2.147 0 3.073-1.87 3.75-3.65 3.947.28.24.54.73.54 1.48 0 1.07-.01 1.93-.01 2.19 0 .21.14.46.55.38C13.71 14.53 16 11.53 16 8c0-4.418-3.582-8-8-8"/></symbol> + +<symbol id="googleplus" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M5.09 7.273v1.745h2.89c-.116.75-.873 2.197-2.887 2.197-1.737 0-3.155-1.44-3.155-3.215S3.353 4.785 5.09 4.785c.99 0 1.652.422 2.03.786l1.382-1.33c-.887-.83-2.037-1.33-3.41-1.33C2.275 2.91 0 5.19 0 8s2.276 5.09 5.09 5.09c2.94 0 4.888-2.065 4.888-4.974 0-.334-.036-.59-.08-.843H5.09zm10.91 0h-1.455V5.818H13.09v1.455h-1.454v1.454h1.455v1.455h1.46V8.727H16"/></symbol> + +<symbol id="instagram" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 0C5.827 0 5.555.01 4.702.048 3.85.088 3.27.222 2.76.42c-.526.204-.973.478-1.417.923-.445.444-.72.89-.923 1.417-.198.51-.333 1.09-.372 1.942C.008 5.555 0 5.827 0 8s.01 2.445.048 3.298c.04.852.174 1.433.372 1.942.204.526.478.973.923 1.417.444.445.89.72 1.417.923.51.198 1.09.333 1.942.372.853.04 1.125.048 3.298.048s2.445-.01 3.298-.048c.852-.04 1.433-.174 1.942-.372.526-.204.973-.478 1.417-.923.445-.444.72-.89.923-1.417.198-.51.333-1.09.372-1.942.04-.853.048-1.125.048-3.298s-.01-2.445-.048-3.298c-.04-.852-.174-1.433-.372-1.942-.204-.526-.478-.973-.923-1.417-.444-.445-.89-.72-1.417-.923-.51-.198-1.09-.333-1.942-.372C10.445.008 10.173 0 8 0zm0 1.44c2.136 0 2.39.01 3.233.048.78.036 1.203.166 1.485.276.374.145.64.318.92.598.28.28.453.546.598.92.11.282.24.705.276 1.485.038.844.047 1.097.047 3.233s-.01 2.39-.05 3.233c-.04.78-.17 1.203-.28 1.485-.15.374-.32.64-.6.92-.28.28-.55.453-.92.598-.28.11-.71.24-1.49.276-.85.038-1.1.047-3.24.047s-2.39-.01-3.24-.05c-.78-.04-1.21-.17-1.49-.28-.38-.15-.64-.32-.92-.6-.28-.28-.46-.55-.6-.92-.11-.28-.24-.71-.28-1.49-.03-.84-.04-1.1-.04-3.23s.01-2.39.04-3.24c.04-.78.17-1.21.28-1.49.14-.38.32-.64.6-.92.28-.28.54-.46.92-.6.28-.11.7-.24 1.48-.28.85-.03 1.1-.04 3.24-.04zm0 2.452c-2.27 0-4.108 1.84-4.108 4.108 0 2.27 1.84 4.108 4.108 4.108 2.27 0 4.108-1.84 4.108-4.108 0-2.27-1.84-4.108-4.108-4.108zm0 6.775c-1.473 0-2.667-1.194-2.667-2.667 0-1.473 1.194-2.667 2.667-2.667 1.473 0 2.667 1.194 2.667 2.667 0 1.473-1.194 2.667-2.667 2.667zm5.23-6.937c0 .53-.43.96-.96.96s-.96-.43-.96-.96.43-.96.96-.96.96.43.96.96z"/></symbol> + +<symbol id="linkedin" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M13.632 13.635h-2.37V9.922c0-.886-.018-2.025-1.234-2.025-1.235 0-1.424.964-1.424 1.96v3.778h-2.37V6H8.51v1.04h.03c.318-.6 1.092-1.233 2.247-1.233 2.4 0 2.845 1.58 2.845 3.637v4.188zM3.558 4.955c-.762 0-1.376-.617-1.376-1.377 0-.758.614-1.375 1.376-1.375.76 0 1.376.617 1.376 1.375 0 .76-.617 1.377-1.376 1.377zm1.188 8.68H2.37V6h2.376v7.635zM14.816 0H1.18C.528 0 0 .516 0 1.153v13.694C0 15.484.528 16 1.18 16h13.635c.652 0 1.185-.516 1.185-1.153V1.153C16 .516 15.467 0 14.815 0z" fill-rule="nonzero"/></symbol> + +<symbol id="pinterest" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M8 0C3.582 0 0 3.582 0 8c0 3.39 2.108 6.285 5.084 7.45-.07-.633-.133-1.604.028-2.295.146-.625.938-3.977.938-3.977s-.24-.48-.24-1.188c0-1.11.646-1.943 1.448-1.943.683 0 1.012.513 1.012 1.127 0 .687-.436 1.713-.662 2.664-.19.797.4 1.445 1.185 1.445 1.42 0 2.514-1.498 2.514-3.662 0-1.91-1.376-3.25-3.342-3.25-2.276 0-3.61 1.71-3.61 3.47 0 .69.263 1.43.593 1.83.066.08.075.15.057.23-.06.25-.196.8-.223.91-.035.15-.115.18-.268.11C3.516 10.46 2.89 9 2.89 7.82c0-2.52 1.834-4.84 5.287-4.84 2.774 0 4.932 1.98 4.932 4.62 0 2.76-1.74 4.98-4.16 4.98-.81 0-1.57-.42-1.84-.92l-.5 1.9c-.18.698-.67 1.57-1 2.1.75.23 1.54.357 2.37.357 4.41 0 8-3.58 8-8s-3.59-8-8-8z" fill-rule="nonzero"/></symbol> + +<symbol id="rss" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M12.8 16C12.8 8.978 7.022 3.2 0 3.2V0c8.777 0 16 7.223 16 16h-3.2zM2.194 11.61c1.21 0 2.195.985 2.195 2.196 0 1.21-.99 2.194-2.2 2.194C.98 16 0 15.017 0 13.806c0-1.21.983-2.195 2.194-2.195zM10.606 16h-3.11c0-4.113-3.383-7.497-7.496-7.497v-3.11c5.818 0 10.606 4.79 10.606 10.607z"/></symbol> + +<symbol id="stackoverflow" class="svg-icon" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M12.658 14.577v-4.27h1.423V16H1.23v-5.693h1.42v4.27h10.006zm-8.583-1.423h7.16V11.73h-7.16v1.424zm.173-3.235l6.987 1.46.3-1.38L4.55 8.54l-.302 1.38zm.906-3.37l6.47 3.02.602-1.3-6.47-3.02-.602 1.29zm1.81-3.19l5.478 4.57.906-1.08L7.87 2.28l-.9 1.078zM10.502 0L9.338.863l4.27 5.735 1.164-.862L10.5 0z"/></symbol> + +<symbol id="twitter" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M16 3.038c-.59.26-1.22.437-1.885.517.677-.407 1.198-1.05 1.443-1.816-.634.37-1.337.64-2.085.79-.598-.64-1.45-1.04-2.396-1.04-1.812 0-3.282 1.47-3.282 3.28 0 .26.03.51.085.75-2.728-.13-5.147-1.44-6.766-3.42C.83 2.58.67 3.14.67 3.75c0 1.14.58 2.143 1.46 2.732-.538-.017-1.045-.165-1.487-.41v.04c0 1.59 1.13 2.918 2.633 3.22-.276.074-.566.114-.865.114-.21 0-.41-.02-.61-.058.42 1.304 1.63 2.253 3.07 2.28-1.12.88-2.54 1.404-4.07 1.404-.26 0-.52-.015-.78-.045 1.46.93 3.18 1.474 5.04 1.474 6.04 0 9.34-5 9.34-9.33 0-.14 0-.28-.01-.42.64-.46 1.2-1.04 1.64-1.7z" fill-rule="nonzero"/></symbol> + +<symbol id="youtube" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M0 7.345c0-1.294.16-2.59.16-2.59s.156-1.1.636-1.587c.608-.637 1.408-.617 1.764-.684C3.84 2.36 8 2.324 8 2.324s3.362.004 5.6.166c.314.038.996.04 1.604.678.48.486.636 1.588.636 1.588S16 6.05 16 7.346v1.258c0 1.296-.16 2.59-.16 2.59s-.156 1.102-.636 1.588c-.608.638-1.29.64-1.604.678-2.238.162-5.6.166-5.6.166s-4.16-.037-5.44-.16c-.356-.067-1.156-.047-1.764-.684-.48-.487-.636-1.587-.636-1.587S0 9.9 0 8.605v-1.26zm6.348 2.73V5.58l4.323 2.255-4.32 2.24z"/></symbol> + +<symbol id="mastodon" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"> + <path transform="scale(0.07)" d="M211.80734 139.0875c-3.18125 16.36625-28.4925 34.2775-57.5625 37.74875-15.15875 1.80875-30.08375 3.47125-45.99875 2.74125-26.0275-1.1925-46.565-6.2125-46.565-6.2125 0 2.53375.15625 4.94625.46875 7.2025 3.38375 25.68625 25.47 27.225 46.39125 27.9425 21.11625.7225 39.91875-5.20625 39.91875-5.20625l.8675 19.09s-14.77 7.93125-41.08125 9.39c-14.50875.7975-32.52375-.365-53.50625-5.91875C9.23234 213.82 1.40609 165.31125.20859 116.09125c-.365-14.61375-.14-28.39375-.14-39.91875 0-50.33 32.97625-65.0825 32.97625-65.0825C49.67234 3.45375 78.20359.2425 107.86484 0h.72875c29.66125.2425 58.21125 3.45375 74.8375 11.09 0 0 32.975 14.7525 32.975 65.0825 0 0 .41375 37.13375-4.59875 62.915"/> + <path transform="scale(0.07)" fill="#FFF" d="M177.50984 80.077v60.94125h-24.14375v-59.15c0-12.46875-5.24625-18.7975-15.74-18.7975-11.6025 0-17.4175 7.5075-17.4175 22.3525v32.37625H96.20734V85.42325c0-14.845-5.81625-22.3525-17.41875-22.3525-10.49375 0-15.74 6.32875-15.74 18.7975v59.15H38.90484V80.077c0-12.455 3.17125-22.3525 9.54125-29.675 6.56875-7.3225 15.17125-11.07625 25.85-11.07625 12.355 0 21.71125 4.74875 27.8975 14.2475l6.01375 10.08125 6.015-10.08125c6.185-9.49875 15.54125-14.2475 27.8975-14.2475 10.6775 0 19.28 3.75375 25.85 11.07625 6.36875 7.3225 9.54 17.22 9.54 29.675"/> +</symbol> + + +</svg> diff --git a/assets/posts_imgs/2023-10-04/output_11_0.png b/assets/posts_imgs/2023-10-04/output_11_0.png new file mode 100644 index 0000000000000000000000000000000000000000..c6e775ef0d5159142e0595ee41fb175613c356b0 GIT binary patch literal 18539 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 literal 0 HcmV?d00001 diff --git a/assets/posts_imgs/2023-10-04/output_13_0.png b/assets/posts_imgs/2023-10-04/output_13_0.png new file mode 100644 index 0000000000000000000000000000000000000000..3b6263f0f8f77bdc0b1416cd81fd4b087d37af54 GIT binary patch literal 20718 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 literal 0 HcmV?d00001 diff --git a/assets/posts_imgs/2023-11-03/plate.jpg b/assets/posts_imgs/2023-11-03/plate.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cd7fabfcec9bf1c71de65bae473eec70146ebf55 GIT binary patch literal 23262 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 literal 0 HcmV?d00001 diff --git a/assets/posts_imgs/2023-11-28/classic_empirical_bayes.jpg b/assets/posts_imgs/2023-11-28/classic_empirical_bayes.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cfcfcc50c6133dc651470bfc6fd9ec093d4a1c28 GIT binary patch literal 10127 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 Vnnywn>C^}Uu_HbPBMPsl{~Pyf1l0fl literal 0 HcmV?d00001 diff --git a/assets/posts_imgs/2023-11-28/coin_with_prior.jpg b/assets/posts_imgs/2023-11-28/coin_with_prior.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c21ad02b9ad1a15eb03c5b4d8113f88192af2a83 GIT binary patch literal 13513 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�KK3+$;f-Xtg6l1!Hhy5}bH{v<3&1K(tf)QDxo1XT^K_xF5u{`w zsn@o+c3fp>c;tyQwTj8tEA$-Rdr;IfRP@60?KRf0<>OEfk{tMiXm_cb%$$vJX=Y<d z<yj}?&G){<KEZ@hV&0#=C~~s``Bytd@0l2z*37NP{xlY(C%T#&RUI>lPvU^L`6kZ| z3}9%qg^VI677WoN%XXGAd_b{!fAugHO-s_WB)kx<ycZU1i&VO^RlU*cf^>oDjr>EK zzYh4ay34)&Iez4+!TfONX;GO0oh~yfw+phip(vaSozM>VIe)yugQF+tslCIj4dv2o ztDDtLzP3Z8YMUB*4rJhs)5+I77XZy$Eb)$E=HrOidKqg_c3xIiTRAALl0hNKJzyo} zJIBw-Fy$Air)(&}#HRN5Za_H7<E8vBqFK!Q%fz7|;IP%jH&FUKeEtB8P_OyW)>Eu- zcYi@fuUBX#n&o3g{-=`sF;%?@KQRS%Qkqb94Ft!)=_4*jjzgk%;9nrjUvGr}&G&u} zvrQr}4?v&lS28Nfw6v5^wu20L)<PiPjj=C6V!Guu6+f{mt>oX<>qJ~h&;b)qt57-* z_+=hhHeLX3-W;kPA3LzNw6VA${2`Z7(K4kyHMPBqLDi0x>%?`vELC?TRBlz3DdUUd zQ}_#gYO#p^NV2FEK?~y<b8aCq-!z6KBBH63Y?LEALRtxhns>30A(w$=R6+R6GOCAK zSOf(H2s$Lqu9yPoP8j_X6Pu%!IU-&az#VtOlmxl3gW;APVBTJFaWy!_96~^=L6l%q zUPx`^;n)7QuTT!VEBr@)gO2|h(v*+q##m&ywCuO4+HRpnrLSi96ppFksZG{9+P{m1 zRw5h{&MT2Sa7=V9an~auOr@p)GSvfX^UyAET--Q!f%TN_i;5fM%hT6vXKF87aHpv? zFxZ<VN=nP7()zTF6|`n%eohwnz}YK)xVA$|?H1SJ%`cNmmYvggsP4@A)u7nv4npI% zvSe<38Y&^H#yK#)F6`fmrCO9y(CzG6svF(rdr=+H>e`;=AA|VpS!&z2yylwump}ev z&l@edk|nhwA=tGK$&=U%1HUkZcnyE|n@%c8j`y;0BWXq`A_ysn?7o_j%i;1MpB^1| zV8cH0TMHZ%`5ust1T21Nrsy);1?O;;H#0uQ^Bnx52Fu>?0^;cDe?nR))!fG>yg2=q zgjeR$u&f2EvtOQPf9xoJ-ASW^M9mduc~QOvNwEdj5=F;ffpH)0wP5cnBf7&4s+#Hr zq763frJeTh>rOAK_%2^5P*UvM6y$DG=gQpLx<ke7#+CH(e~OrYj118R$3`QiA75uC zKWyc-s~Sbz(nL~6#Z`-tFNDB#t`Ig>U;fc$9>^RVheLzi;>WKSt$vC=e1SZ@r7rFW z#F+29-1JE7OjK8Q5f&}X4_pXcd{?W~0hsbj#5rtl{~UuY!B<5KujetpAJl-A9kuCO zvMO#LqNydf&fyhv#v~(4CR!?|o9fo14LvJ19k8limaswlFr3{d#<ZNpuv`W+DAMJv zlD$2*xlCZ{6mBGyX^0FwL_!l6D$};{tDg(!))w>SyOvHl<1Kebhd6`~`}VRzd$8$L Q1KsC;sQRA+g^Q{G1+P749smFU literal 0 HcmV?d00001 diff --git a/assets/posts_imgs/2024-02-01/darkgreen.jpg b/assets/posts_imgs/2024-02-01/darkgreen.jpg new file mode 100644 index 0000000000000000000000000000000000000000..eb21068ecf9d3163fb618bd05621355578c812d9 GIT binary patch literal 210882 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 T2JGHt_cFV;F%X-9(IdYA>Iw)2 literal 0 HcmV?d00001 diff --git a/assets/posts_imgs/2024-02-11/dsigma-maxquad.png b/assets/posts_imgs/2024-02-11/dsigma-maxquad.png new file mode 100644 index 0000000000000000000000000000000000000000..9da4fb6ccbe243d3ab8ddce0ee3145347cff6049 GIT binary patch literal 28267 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 Hra}J)yrGu^ literal 0 HcmV?d00001 diff --git a/assets/posts_imgs/2024-02-11/dsigma-softplus.png b/assets/posts_imgs/2024-02-11/dsigma-softplus.png new file mode 100644 index 0000000000000000000000000000000000000000..126494de3543110d4cabf2e3f0c4af49b5438c97 GIT binary patch literal 29087 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 literal 0 HcmV?d00001 diff --git a/assets/posts_imgs/2024-05-17/dataset.png b/assets/posts_imgs/2024-05-17/dataset.png new file mode 100644 index 0000000000000000000000000000000000000000..e4d4221ea13b934277fec997968d7c05103202b2 GIT binary patch literal 25667 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 literal 0 HcmV?d00001 diff --git a/assets/posts_imgs/2024-05-17/precise-biased-db.png b/assets/posts_imgs/2024-05-17/precise-biased-db.png new file mode 100644 index 0000000000000000000000000000000000000000..71159bd1200fc6c08749af92cacef494024ec06e GIT binary patch literal 18213 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 E4?WDmK>z>% literal 0 HcmV?d00001 diff --git a/assets/posts_imgs/2024-05-17/precise-biased-unc.png b/assets/posts_imgs/2024-05-17/precise-biased-unc.png new file mode 100644 index 0000000000000000000000000000000000000000..599747979e42f1028134913d8938437b88e852e4 GIT binary patch literal 21938 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 BC-ndT literal 0 HcmV?d00001 diff --git a/assets/posts_imgs/2024-05-17/precise-uninformative-db.png b/assets/posts_imgs/2024-05-17/precise-uninformative-db.png new file mode 100644 index 0000000000000000000000000000000000000000..4137dda0ff7cefdb74b3ac7ea0c4ac58bbf8557b GIT binary patch literal 18056 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 Pg@Gu^tIO5MScd-}vso|% literal 0 HcmV?d00001 diff --git a/assets/posts_imgs/2024-05-17/precise-uninformative-unc.png b/assets/posts_imgs/2024-05-17/precise-uninformative-unc.png new file mode 100644 index 0000000000000000000000000000000000000000..5548ad5eca95675ac62c5aec455fcf32b417da82 GIT binary patch literal 23247 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 literal 0 HcmV?d00001 diff --git a/assets/posts_imgs/2024-05-17/uninformative-db.png b/assets/posts_imgs/2024-05-17/uninformative-db.png new file mode 100644 index 0000000000000000000000000000000000000000..7e33c6ee4723c0b10f87186d1ce9170685a594b1 GIT binary patch literal 17840 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 literal 0 HcmV?d00001 diff --git a/assets/posts_imgs/2024-05-17/uninformative-rescaled-db.png b/assets/posts_imgs/2024-05-17/uninformative-rescaled-db.png new file mode 100644 index 0000000000000000000000000000000000000000..683ba5146c273fe29f2f8418480a66ca7f2b7e4a GIT binary patch literal 17727 zcmd74cT|*5w<g+vfFg*BC>fNTkti8N#U|$*L?tvihb9UNDoM#fa?ZJtCW#;jh{Pr} z4JtWHXmZ0;|Gw|coil6By)$>MyVm`Kmx8XhYFF*2cI~~Zo_?pLp-e$WM+SjFD4<Ut z=|CWa91sXW?qw42pHWf@YVb?a^Rbbqu8WPQkCnSMMBU2M)zQV%5%!$L+uGd&=He_O z@IXL>kHyZ@)73*tP|)eWR}gS<w-xMJGSUT&TycGB>;ZvLTH${Pisg%75Xhr)=p#iv z-%pzuzW_aK>&4EYWc<t82sSpWD^~hiH?;LGm4s>$mw1(o&zd}Tz?t)#+;Az|LFk*B z+Bu-?TgRQBoAM(X>>Bjl6x|dRFFn4Vp#GJvRy__XoSNzp6ij~QwWA1>!-K<5mO0k% z%O^>XpNG{yTK0|wda9k!w;_-aqLdnEAe#bJ=oJXWmHhwk8D(*mBl3=5k`;|f^)p46 zjGGWhSE|Jo4u|pb;k;P6(koOP``xRc`A_fRLM0UyC~8BqoH^W<Pv6g<F$ee$7*yXL zTv-~-s%r9BwjVDyMlNUiOU+Cy@AWS4iODzesZvu@_YDjrTG0$U^FSag1PG_H!onv? z;p87-PYj6O*$WvXJxk<{ei2m|*Kw5N?(m!BH*dE|r>PS{Ag%fN`H$Ybd2^$c)4l^= zmY55uvj{r2X6NLLz-IpW^PJ!8bM<jk&%Cy__Q#(O=E>RF9<_cZ%Ff~y5Qy=j3X#jH ztkg(0_f8cS7QPqcGS;>^QE6T_GNO~=-p4(F4(-S`s5C3Fyf~TIJq~bhGUK0}_ikSF zZZ?$=zWeGKA<Npx$jEcdrEJaBKB1`MK=j}zNnLtzN4uKMG>6LJ&u;UcXs5;oGIpQ= z?W-KLw6t{cK>?9YFc=Js*{OjMOwjX1LkQ#-ORJRYJa)ozdtj6R67oRl+a(C(0ZGUI z_fIyA*MxbEGa=-L8bC|fb^P<i|KoGtzub!O0qOrM`JU*7^|Hpw<O1w)iHPW?rlzI| zTfevP{r$!+^Cslp*V3wxx<_Iuw{G9I-}&>+q}jV-Huxei!{etU^6%HH4Q}(@c9{U# zT_vyWn9f443fS$OampXRWAa<L(R#YoEcN>}Rj!{s1adthmrgC_7C8y_u>Hc^qRLRW zPz~n6oHfXqH8^qBf<z)4(?}r@29~ujO9{ux?EQVuCXBOrFb->ia7>MnKR*&bG_SY& zSX*10#@rcB5$U~$pP@&xDN&5l2I~`56aL$+MfA>}75A0~Mhn%`r)L^Je>P%@EjrfL z(Yd*~L;!)1zJnWT=;*|CN71rE(?nr$U<Kq^;?@k|`@_nno9q98DG$R25TMoC7W2;9 zn7{iYM4?<rpT;$_*g)-lWTcqwPX@3?O2DGflsnG12*!D}?vJPr%kV=WZ*{dPI0_01 zkZYx7^)7RA*4EarudlDbR|}H&zX=B2Pb(sZK-_prI~FK|kCa3yDIt&(nyo~lY|G~X zSAMBoq5}QW{NFrr*F@YQ%lA?Me0x~_SI-qgnj^9Y^#6eag?7b;ORjSNwUG%4diAPG zA>hBawX#>71lb9D2G%me|Mbk(d=YTvy5(hHtH0d;pPnat-N}%hi2rykTQk>$u#59Q zcN-!X;mp7i^bf3G06g)T)ITlC@J<6OJs~TrDpCOX)D+?PZi$;<-$PF|<mfi)*={$z zi{1IzG5iqYgWc^H?B70IpYa$>oLG-uf)M~Cr}B2G!!ls!+wH+*KI7c8vw#ZoW&_&{ zF9T6c3JBzn7C`o}3{xx{Hz#M&z(k;2R)C!4-rm~Ung#4mNZTtQ&pCGbmtlWx{j(0j z48NsRyg5ie#fxTaY&;Na)ftX8z@v<4-$W=?KDbTp{OAS0IkFxT2#~P2<D16J&d%P7 zk^y>yw2mZt%tuSC9WQ51^d<7@8yQV*1vxjGIyW{;q+QC6&7mh<p$ALA5k0OhfyuY- zPg(^AX5#xt);vEc2<}$Sr4?!LG2S+FW(DXB%AJ;jxv3An2!iSu7$oWF=-`*pipWiK zRA0YY1)E_aT^NyP^@-<kSZa;)?d#M4d$BURZ`oic`>Xs2`Gd(9$dk3QJp4;Uj?{~C zMOIB0Nq0>VYP7YY!rR+C+*xJji+7$1KgT@HR({;dOA5&?5%ifSAF!zWO_b#j<jm!} zVrbe)Dp!=9ST38m++FIYpyyh}0C8m*wbRqyYL}j|J^B*dD|FU6b}!op7^$v`HZ%TS z6-@ah!@!8s&uUrS*UnqnN=H|u0bqV9T(RlN$%k5WlhUQMiT70yz$pPx8H(H7w2V%t z5Tc^CehH>T`%Ix%LOzcrH@mTwj2q@phd=ZZkN6^#|097ht{mv?x>GBhN*=NzsB`ns z!S#S_u`rOU^KvoLs{TMflT{NpDHQu`rH;rD_I&vH6oNf3%(z1><dNk=A%g2Zxw`x{ z2^k3O<J7VRjp8`L4;4h2BKrD1pYECSvT<%IF-q*;fFjgb^?JXn8&$PLQSSRq5l`!% zFILCsqJ?zW7cIxCXOgEeJqQZ@iP+o3uKUzrwYss><#dS#NCmBQ_Gz3xLOAsa@fjmZ z&VHbHs#3Ex56lJ88szIn?<(!1>356CiB0t+(+K<iz8Wkkw94mc<@AP^cMuua+5IG= zeNxObVu0!ravT>{%mN}0ZAbsSC?m;tPGX~tAbh0z;X8CL`=j5*(80(B*}73!?Q8<< z()1?0#!>f;<b}5P8VAJ>UrT{e&MKGU1O0)ajx=4A-Z4!=gU$=GOvj+P;hs82r9!Lq zy;{MNmV<@MmA75R!E^`l59?Q)mFo*fAxQ0M!YewAd9i*|Z^%qa2GCSLOemQChVRxH za1Za7cF1d;mi{!b=_^{ZGruufosd|oZ_JHOSJHaYCvIKftnZAKa+>wYAUCGF?`qsb z(P(bczJ6Qm=xRb*y>j#`0x~1m4NLi7qF~x&3tg)%S;>g(|I(hUP&LxwWc`_w?L6mS z7C6HyW9oZEiKMJns`N*N%t%WI6Rg=`4~GX67fO>}_6y}-N;d2vhnu}({i>=Q#rhM* zME00SWOm}i$^B9XhWxJA)8cc>72??GTF1>3QDd8ty0o3eo6*uu76_-(a+_T5B=cO7 zU`5|Mln<_VTvBMHzP9V|+e=?+^{9KvX;w-}^&&B+{hZevu{lFOAchGp6iMYaP5fA^ z{zkIuJM+`Te*L-JzLEXYOLdid9^QX@?u(vUZ}K&N9+<EQwh7s4_DTt$2saZjjmxoR zk~N?zLaju!&y~zXVe$A__n|Ipb8|JCAbvp6`I*2|wc|?&)7h|Mh7h9W+d;ja=|oV4 z$%N(a)sK6R958Xy;Ww-{ZD}HGC)qg0#0(`(w(p!Y@LK&4%3sLe6)zKDZi_GcwimhJ zAjF2&5_-l%b2(!^Pk;4fxPkTM_c+*zsMJN(jVyXsGN5PY<L+-_Dyj{MzwA%3s>^V( z2l7MB(eD*ngFo=J&cB?JJ#@39iL>Uczs#xL)A;o=pBR=^f0@^A=bUp}@Pn0#{XEWK zXy~L-q~6-RRIO9Tdz#aoGr{ZPVF(S_LRM-oC07_*7CT5JJk=56%J4T>#?UjqJK(9x z+PWyDBbusp%Imq!i>^O}Z}MEk+0(sWz*3+H21T7@UHzI9Z*%KempF0heNmYhCo=3y zx{DTHs1R>B-y}EgI8ch_?HErVv=x)rgi1|{+#%c-?#B1HFRBX7;M=xBk9^tq+wIn+ z@`A;5-TPc2jI?|xo4|#;SD$@!1D=lS(DPf1(M|OEsvTKEEGBxY-$cbb&EV=lgYY)| zk;LY=)?=^Kdtvu-c5bms@XCBSVr~7}MLBJCT=Ps2OHwiDO4ucXJD9UoH2ki<uM}5_ zXKv%xJE}DH7hHBti`(7xrfBi{Mt2+OtF=x0J6puNq{7zdh~zkzwWTS2aYIrE4vB4Z z^WZ4C8LtSry)&)eRmKYj7%>HP^iD6LfF!umo<7{?m@dR9_c>v9{~3W2?<{m!(ssNN zoiXnY6>Lu(DVRTW<f^fz3o`Z&jX6){6NANSFnCwpG`A2_zi@IX&|h`Ue&F6-XxVSi z0W&<F@ira)B{($AC~sh~)J&IBb1+2c@MhZ33(?Ys=zP?`X-fQpZ2$N~cGJT2VQxig zvO%9v{$Rg=qgS*-3tpK??R@=XsYT-7UD580)Ea!ICx>Mv)2)Ini!-cNTr8#nUf#^< zm+B0ZJdzy#h9s(Z`dOn32|Hejk%;K8W@HEITMk`OV%Etm+bUjd&#^>XlC@#0&J{`z z4Ahgy+}?26aXPfyA`kovec&1Cb2EjuTgH_NFVN<yg|PnGg7n}TQ&?&^g6T*w(Li%` z|8s~gEm)1GItGS@yu7@sz`xUdNJvZOTB`jxC~*5kg;8W=u4Q0?OBVMK$>h%?Ql84C z>`-R%M|fRS^pqNJ!QyU~QrE}nnFNM=8-6Mx2@Wd5QJJHpO6)$yQSqAa*^PH0D5iv^ z%$`+Pdv$5)J}$roQUul>w(DC+m+VDubhYspoXnrK_g_O?+?PFBco}$nq8Baa^tR7l z;|136LFmLfYNp8pI0Xr*skFoX#|Y9PC$tay+KKe8*N^W{D46L!R1FW2($DOUADa0* z3^gu`e;-tskWVy_NRd2M99rI(kX&OzuX3*3pzQS~sxMe&%lqLwPdjZ<^j0;x5O%7} zepS?Jl86y;|CWU#qqN<-S+uxC(q_yGT`Xd)#Ea~4&Ovn69&rKihEM%%nrK*-R$gBk zdLf7Ym~S|%f=VybMN+FwmnKF1xM<diQ!&Mic8l_*+T?Xp97pGO60mjX=e?rc_Cd}B zD3?_uCN&wEm%q<9{UBMiF2Az<h4E;AbF)^eIEkh(M{{m=cykY;0d}ZgzE=tjk5jiB zOpk>qRJozn13s6N^2hRV8R2mpjBnzH_>vh=;!&6VZ-}G4xlyfx<$-AV@QUpAdG3CM zHSf^M%(wNB%4}Xzg{~1D{sGyZvbw?IWa-{<#2^*+j2AXtUEptiM+c3HOUTCwM{Bg@ zJL$r<Zt9~L1);U&-$`b?$1>`Q{+JP$lQWjfsr#jtNt>~$lX=}BuGqpE(}d@=d~D*u zXwN!Z##qtyG0Rq)E)#qTe}5(9?I$;t*7Ni4a=7*?Lx&l=_9xe_u6!!N!hcl?V_dBh zrI>CEi~Yv<bSF76pBtBrOQ=P^`b&Z_M%?Y!u&>#5(DhmfSytPuNV^N2Ha?&}CNj>b zyyifY)Mt;BKf;bha(bTh`1K`gtQ`13ICGv8vN+E7h_Ccq=-yT0FT1*w!|Wy?J6D#$ z{to^d``0F%jbmEM`(>V4<q%~0;&?08q$P9f-0V%$#qgJXuQ;hn{I*QC{Z84@tt9^} zAX>m^8YWE+Wlo&Q{gJTQ*Kfq1TxQ|bc6ZuP45vlR;W^T+fEW)xZ<q2OVouCBho<+` zIw>tSQ0YxPs2|<)w)yjEzJ9YcV|sV|8lxoHxDdruQpJ=+Rz-PelyerT>rJp(RD&Ly zol6p?dVQm+f=UboTQW;y#_!x$H#M}-$y2qN;F0CucXBW;<Y}QSz5ju?v)URRPD0_U z6gMpMs{sc?7WUb5Aku`*^nJ<+J8rRmUNcoYl{GP+XAwIhEiJT)I?&5RpA)OtlV2O^ z@xN`aHNH-l(XJP6)tgi@MChEv)52-r-{#`w8|9iRpljLW5Ho(h{-Pr2L`i>Z=V`cT zz#lDj+zDHBnrON5Pof7`z(#JQLA$N%ZLln2_CB0Mlx0*$-^)KTY6`g-u9D$l6Bzm7 zMOqSxjpJp0lt7)|?H|K+uKAq~k(0vKbV;RaF{q-`Dp-wXZkY<z`ylS*RR?ENf1S8% zEBU!u4wz+mtsyd(#A#gSDo>fDIzT)R`)UZGK`j_$Lo?jL5Xe|$E~8jv;h9U=7NVBS zZTNg5`H1vW3`k4x<-I?vE$_sLGp=%7QhQLTT~~<mIhy@hxD-Bq^}fD|?Bjw=?%grw zvOHc<C6boPOLc9SR2gMq3f10s)^rJ2n<DCXR^oC|fHvBLbBq;D_|16#AY$_`Fq$(m z7Cs8OygJkzJJg!GkVkeixc*1#mVP#=v$!Kol1kt5cU^e{Cow+xJxuk(UMmDy?d(=i zC&cqAe!gaLEKQ@d_YnO2I78&Ls!$=!;pNA64E_1zKKs3EZFdC>PxVs~G*9fV_(N(Q z0~b0ejQWa6oA6@;(#LN#5$tQJi>nogq5`9n@d+9DR;<6*kGBd%qfXK<(Bby<WGI^N z&OTWu-JwE7w9IlgFIbBFDTs!gfb(bN|0{M1?x0@F)?53KI<BzCVViBekeS?(ngo~u zS>Hp&K&)zmid_AY(dYgzjXgq+c$YzH%@hE<b>LOqW?e(o+Et7LO^7oq*sSzI`^SHs zh13f3VQ>mDOTod}<1T7CPUd!swI?J>Sc<~;;q^>1?kK}jF~_G0mCl}X474GR=pn>N zzjUj=3k>^G-#6BUI$^qWd=kN3RrRz0rQ1CF6e1gHED4!T+(7I{M>=?R@VV^4S*2CY zYOU>jtrTjN>O6IH9W#8qGi=n$Mj7Sli?Qhs3qE!|QuP=tSvTPNm}c|)Y2xfWcIs7` z^u|}o9|du>O)5Oa2BrQkdx0K&($H|m4={0A39o8+Eg~^UJt<?XHJoq-?~;qNvrnIV zyGVj<a0N#`(-sx=_3it6<J;RyhFl6WeyU9Z7Y8gEVoi#M78}|s?nfAI#)=IdXeu{4 zA?~y0G3_>wbYR%b6>1eB`h~_3Jqr;iaNCmvKk)XB7oQc-rQy=}r0d6_x&`_7Kjf(U zJL~B@OeF6#aO!kD4*Sh-PRVkTJDphPzNljE+CfYw{PHb%=a9&t3>8R+ttj5fFf4P+ z!&Q_rGFH6!BV6#q({%1aqu~9rq5aCQzeVfbK^L^#9gCx{b5F&DFS6)9oTTc+^(ChK z(zn+sA@i^p%l{~^XV7<>q7Sa5RA+g$VWK*1&V?pUx<+T7<ieuxhL*}70_&o{@=K%i z-qHk*4E1<9K)#4G!!xe!c)(>XPF3LDQVC?g`fB?M1#pq`h{HyJr}FfDzy}8(l5ce3 z{JKGmmPa4XUe$Y-2^Ly$^ZUhWa0M747)`cjYj4&!KS#(3wkwdg5<TZF?Rfd~lVqBR zt;Xc(X@J~uK-<zX3RTVx=?aBS(k09_=ntvY?FpnJJbel^R%j4ryWDqsCw>R1Z#twk zyhtOU=nu3AzcKbxIOr|m^Iq*2YPbKL5FH<YoV5Ii%Kj-`rt#v*5o*%T4n^7v_c5>K z<4w56XSyq<vLz5jy!kHVhLcmnuuy)Eq##Ulk+1s`<o-hOGaWOt@;6uSh|5=1R*qL& z&B#)%REEAHF!!xA9Mvc@{2B6W4}MRl818y5={4QJsW^A>IOa@IiGm{B!ZI;8b#%?& zF>!qM#rIk>;Q@s^voMEe-6or5X*b?@6I_nS3w?*)OhRvN1t>$T(tSfU<#86NH_hys zzQbP{s*YB@2_rIbw}kEe8rMW{^ws8P-=G_V=Vwz--@Y7fGymG(qkYz@taj_cVtydQ zZ$gKhW@=8PeeRe5<hSb&<trhX$w~IBJ&j4c_Z9hVCh8@*#vEw{Vi;+WMe0gQcDBI^ zWDGnH9Zy7|66epd&yOD><<8ik9Za9OEj6p1xb4{2M*}B{NBqC$I6aA+kbcfpOcLxY zntnN(Dy9^yb>rm>{i2tRm;(FobuIQTq5Ld)VTI1CM7yNqt*45$a#Lwsy+h0XH?fm~ zl%DXjLNaybu;-mqMRguV-f`kvO;7?}CHljeVi2Fx$vk_b6Mw+_jJ+R0wV=TlKlOyY zU=?RA##qI5l?4g1G4>7)4PNWxOUu&U8$&19^~Cu2yxiPeyG*)}{P>tXFIb-o)u`Sc zA*?-6xD2(97wr=tZ}~5(%g9A6MIu1-)@v1LP6<+7*V}>aiJi-$8bG}+EjM~WxRbYY z5^<|q$McJbzCX{P^mBcqWR<d_;(EBsUK=;`RJ3NLNchJS+Hlk#n((_$@~%yM(vszS zgl}VtN#YOZf-OaC7?>W7i&lHhw)mOUzJ!9T*S`N2n<^C$j5GNuSu`uH1<lYMjjD;) zZgNv`ax)9#rIc}A<Fr^S#=LrXtsLe;9a^ZCr|m~urvCw(G;>9Nm)O02PDGv5K_lLY zlLysmNHiixQRaU0GO_`VZY2w+<yfO9UGFq+bnra46k~Bx-8&$;Pyn&-BWtmuH(m^o zVJg%!;lLBmDNJj-WQf4=$>RnU&AMjUzzNZUCXrU;S*Xb|W%T{yK87ll{()-byR(jj zC9QjJkgC`8G)G^p!72_0)Q;62Hwiu^tCH>!+Nf57#v{9PrmIhb7c^vw7rKOrLrZo~ z!r$HX2@w(MzVudCAi3geM^1jVtz{^oV%|3g%S?UxgUPs<QYrym6}O0>FHdFuP_YUY z?JX`jp%WT&p8gJ6rDUqkJ)RZ+&CpyJ^wOxuDRMB2GfTdzf1C6=<0UGVpDBeERpwe{ zRX<8lA>~7NJ{NV5)h3VZFNn~Rkx(pNyUZiPdS-9!AEuE`(vI-*`Sq8F&ft+l=u5V3 za^3_{Mt>L7kLp+o7P;$cArGF@AhuF0OX`Zo`ep9XytFn#uEo(YihQkV-s;!RYu_7t zh8~$EDm*{ZOCnh&_1v7WPiu_$iNflerN_8cFNr3iG8qm|`O5YRY|;tGGT*22RAo#y zkPy1^N$J0O;C}Kb%SO$KRwXUPW@X85RKr0_zd<$2SyQh%>`$20Q+a<j<?Tw<arWg2 z#AMJ*mR0))J7dgw{HJXNPvva->@}Thw!RNLn(iKZ)WZfTri1>vdpY#ofGC4Bv)e*w zss*uB%42%+aFSA$5z8d&dXt)lch*pSRCsqRc6DUWAt7VxfMu#sAoJ;zupWqT@8RA~ zS$ZKtlbQ!ypQFP=5vI&ZGnKp3x{tUBPB=oZTvraK*zxh*rb||(6K4};@jk75R56#r zhBk<dxJAZ53q!PF8|cgfjh#+O^(J^Y3axm>U|H@XatXI)Q*J>2@fMr!a6Kzvu&?4q zi>DcSVm|wK+*nU|klx-=rC#NNO0#B$^_!xp?L5Eleh%rp4=}<i)=<dDJGtdZ-=AdP z8m>V*m+jwXT6t;W_cOPBoZB?gMZ-Vsq56ZmfV8ig8YdATUe>UfdluN@|B8-CGNavC zN4?XoV)j5}(YDgSz}~Lnh9;(lry`R<A~LJBeS@|2pjqF({4jz{8j%q9d%Q^^qkyXY zf%y0U5kvGd!hNYztvk?#g13!xn&Y4EpT}IQNG#Lc&okvsNEs4-T7O6GYsp)qBs~)w zdsoF%RBU0$C_~USeHFa(+4c3b-g_An_qAES#u|jo%Y2)MpQy*rHEIv0DBwFCi4hVE zWcFAwIoZ?E<V6)Bud}EZ@C7q!|580<tJ%A)OVsK#xm^ogOp*fERWDIxN8F;=S<jua zP?s#QxFP_XFM`5t{E*`=<e2;ZXGU3VCj}<znUgG|>`oUm1!BzX>+=K7fo+`Hrz+A% z+eY(o%{<V>G78y=5BaH<B|zf-57&_sk)ErcOxT;7+pDKPBDPhAus#dx(i3{C{g&nN zW5Pq8qSwBO@)aN{xg>C%N-va7K%lQsg>%-AIBhvuk(S!pxGy|S*TGQO*UBUtyzOuj zfXQ5Pf^xr;n%|AbzTwqeAFp|31pGYNXKVRzOjGtl;V~JKmwovpfxq`jaI352o4j7D z{u74Wc8o!R`+u{$qyDN`UZXI;Jqt5Eys!#6V0!SU-TKRiCT=Ag>o~sAar$PR`adp` zCz#lXl_Y;v&!6o21I=_1KQlf$`@p`~D<_@FDv1=1t$+1cpWZxK<+=>=xikCNK)Do0 zOWk`}jWwNtGNktP{-Z$@^zxromy6|$%6gVAl&~lYeuTvMX@h&Oy&vzosBOo-03*FC zVd#}1bxESolivf>!UIX>oazJ%rB!2GG>%Q`_PED#zkRcUaCu?K<s3&a`PpZ$6j595 z>kS3a>1rNrgf*Alo7u5R7TiYRJ?ljh(bbLdFhl=ZlY7vtt*2vQKFL1Z2~XqhnidW# z-qB<J4Z_4(MK7zZiKNCXqq37Vk|_i9s>fy>^Ll+Gr`@l=f4lb~8lB|~+38D}^NFkW z!O!eQvxk4SwJ4#kskR@@xtoik%V0%fD>IQY$ivmmliqmrqK2fqLB!qB519ek**%qc ztV*QBAbB`h@ns%MvDri-sb`=FPdT;rTs<-v8c`Mu9C7CQ$ku7Sl9w#*vw9Rl1?-?R zojjrjgMFC)-9XEUOyWvJsK(cvnkdfT9D}PtHO=4JlB`$e4@VZcDP0s`hL^%dkkL^7 zt&gLb2gq1Q>H5mvAkFpk1FRUUhJYU2*`&FOK0HC5$B_61iTCPJG&bm%o{(|-r7FsL zR)CTDUsIlhYIywp-fws4s9>qi`Ox_M9lEv7Qy0fK?Vq07T_`1Hawb`O$_O2PDEu}V zb5>Wqp@l|lwX2-}3i(cVJwh$HWX~m)DeYc>9*r2eQaEg_W&0C*USvU0e!?SmHZO)p z6iO<C(9Mw@0#1-I!|YGR%%<o1O-rKqGdYWh6Eh}yHHV~R5+x>~Z^=m5gIR7pCnSLF zTv$6`x?kcB8@ILfF*O5<dDtC_V?yI;x4*o*j3!lG2zE`(1E<MWEs*vmzqmI)Q)3%5 zHgVfL`&Fljz$HW19}0o<=aHgk`Qzp$9SU0XmZy5bO;}plvuOEsO^FNLb<4?og%|zp zrlZztU4k({!}60xil$UQtt)PI36iuEVxFZT3N=?x6uRF|>cpM8mI|38Y%UDn+>GDQ zxC0f5(wemUORJ)epuWt+^cGlt9^tCCjNCpR-Ck$YtZnGnu7s}sx)?a7_JPJB7>|$| zbZt+=&xB(>6S>;S-d4)m%qmjZemAY_m#NmtiPrdl(UgDQt;SS2Ty&?z)3nK+cRe9B zxw7Sk6Xg@9^27D2#tT(;=FNC3x>|lyeSg_$?63ts$~X6$`=-(>(^5S%#;bwiba9NY zs;t2pQ7NUl0?#vc&BXA=uS>W+U80rnyTk;G<d;iZMhZT5p3zBh?G|)*8arX_3RO=W zmHKk#(0z;}TrP^Ow=d=(7`S=jO)6=*LYNAS8^IKKPxpng#M*v*fUx>%{NPROe&ni2 zgSfHsp}gpun^16^P)aE;IR3V!C@~(9b8OZ?(Fq(o)XEuWVuDshw?fi^e;Y`4+Va|A z=VEC(h4h4MvZd%V&vq|bOEApa$@xp!!vQ`^jMVV0<*K!^!yitw^8T)cOS1daIENkH z>BfS3zh>Uyf>8lE?d7xf5?MH-g3Ee)7M;Rt4Tj~>V9VdbZp!5?CKfPpLx!)`XdSPL zoPE*ePQ^N9GLnK;>6w$GR?&idVzK4-WUX#rMy|TN>Av|%K2L))#$iKr;}SnNjp+Wo z<)SzIC+ojGsrqGUkgWv=U<of_Gau$kSk@WED(uof`D(F}2<R$~o1WNBIPH>(bT)qv zD*mZkMQJ%Rv&Bb`uEnmRrS+PsOs2vpFC>?uzYjOGAD12kdutV-`xAd@41I^bQR#gf z%YOPQ2CR3XPr_}Ak<NlH*l$@G){pg$tND7jliRSZgvUf9ah6P422YmD>XBwT-ffn_ zCb)OCdxY?VL_Nl%eh5^@LPLR*ac(EqLS0R%bjLgRBUP}F>iM%I4Xzf;tu8X!?%#sr zLk*KEP`=Uo#K9wltrFg+0fDGl&1>JuJmq+r7V=v8L!t4CJqxg*`+mcAbk{}5gNUW9 zXb{fF28n7)6+8?Xn6a(zuL{+PRD=Kao9XK{>FKVIum&>?$)p#EtfnTBk>OOHI?}!* zS&W!VT%dfqU9P_B*^Ve>S60>F)7O~hNPU8~EDyKh=ESi!QT25?TLx2YISNQmkG4Tb zLBh}TPvq#DXnr<M@Zx7FW5Hq}50AOYo>gsTu$a1aVop#NI4zm7^=D;rd7hS2nXY{P ziM>}#-RVf)k`HGXZr{qd>9XFI6{s`?>wih3h#HU8^V@_vU3)(8bar_47zFF^-Q``B z_pH|#GlgWOLScUb^~Ps=;f=1l;5e4$;4+7TG&q9t321&eS|sk-=0Tqp^gZxT*6PW# z7b^Y!zn)4RmP@J2<m|cKb%LtbfE)+vmq@*bPpI5ne702>5o4v?>ET8Gx~67h`yacX zA=&4?S*Eny^75kmlOIy4^j@&&rXK{Dic#d5GKu^MEyMi0_2MavNJsQMvd6x2m)|Ky z<i46xo~EGA&!KXf`fG0~<nD)f^Bvg~{LCC_(7MNHv4c%oFU2mCUR#-v7eKw94~WYb z(WsoDFoYvpy8Hvf?pnSWO{c(F!3xzx>ba(Yj|x9|BPx56T&|?+Z>s7#WwINRQ@?N% znj=k^{-jtXVWo8VUFVje`*T?2q3>EZqPY@E)vu!Eg}eXJ+)UnMR^1l%cQOE~toQR8 zE=}4oMBuZNfg>GB*JWy|Yzkvq#eqzVxjczZY3~F}un!8i9>Gi7MC&U1%f69>jsUA? z`Z@}DaKpI~b=V9S18)9r1}xXtc5C=nT`n{xn6uV=ZGKb*$r-}7<{FOEtR{sQCWbZ) z>nrxx2hg|<wM2MfG0S?!?J&#qNpCyalMvMT&CL%pB~awrE7kg)2F-@8<LFX>3Vjoe zQjVXJ8l0KZ8c^=m#t`OTmw@9&0X+K^&u0$#W)Y!ZlWoSKYXN3Z(-)eAiY1k^LnFZr zZN@XaE(L1?sNOVhlQ6Q~(9%jV?2>=)?wF@c@^NMJ*2tHri+Cq`ClYdQJ;mOBGt9k| zrz41w3y^ntI0ei4j!>r!XYUsW$xv`8ZFkyH<sI<x0~<SAljq3BJpSi7<`&Bmz!kl_ z$306?euj^)89TMg#B>~0r`vcHStE$`OqNE5ujU@pskfeZA00wrX@T>?>u3sgb+hm) zlz6}Q`aI?;{s5jhb(@PjN2g68=9+I|Y3Y{luqio<4t|tqd7tj!=w(aw;U-&Df5t5` zv3KuAj%tF`W!lUH%b%hIgC(*tZmb!S?kcW<^Utgcf~L2|EYV48xZ_QRUcG|DNBVHh z4IOF7ucv1Zi0Xe=h;i?VJ-Mjt$Y}aI17~kGH84rraue}~X8_eYG&ah^GvWd>>!vB# z2Tt|Ww?~>FEH{B1>fu4BFYUhAvHk8sP|8b9bLJ-1>t3&MTCHtrh(l&&t_8fA)|V?f z{>(r4;=8Vd!D(6B5I7N0u>GW6MZ&O>nk>AaQR}t2C?>2fRy71)s8aSnTP0_FurlH# zq1WI)gM=&fI!ouCuGfDPEyxKArTYLYDV1so^QzBXU$(wemQ$nfMpBRq6{rxmKv@X0 zT=d*5O+mYC-y+ZU*?|&y{wi4(#?J7rrioQ(bVi&kmbjIakBsRjk8uf3*k9wKkW<o> ziO=E8f+oM@;)b4VSNSKzIri5+y!&;+&aQV(q#oXC8X4K2nB^eWKAzZ2A+g%D#i0Z| zj<Hv3CGMPh--SX!KzNxA0#CG(KH?xpp-_E&eIxa-(S#3QB3M6liaKVv=V~gE5tf#S zVYiSkQ4;kVwCdibQhQ@0i;I`^f8WQBr`<xKA`YOgQzu_nu~J^4nyIvk*0#p{TP6(G z`s2K}HHX9+m)2LNB$cl&&q_dsbXzQ{mVRdN#`fg>`0;&9=x3uW9Q9=*+ub9ybT>sx z>vsFa86SG+l-VmF@|eW(RM&?{QHj@}!2Vn5(E6LOGx*v0i1?vXEKDUhSWYj8Af)YH zP&@5)!|o`%v5Ql914o9hFMm{Y7RQ=T@W4p;z!nYS2Q3g|tZ?wAn0G?^Kn<t5mwM-A z{@SEpahZPH`WME-$7$?(s*o;lT{Cwp<zqDb*H2+~j`|HT28r$}|8~nl>7b;t270MV zxqVVfc{v5j89%KN?Z{F_y5QQw5Y<=NIh)Nl_h<T7P1?DkjQXlzM*nD6soe=W`W+$m zyz4T!80oOP&}-5P_j37k`<mOHL>Y();kV!SC#WeQvB**lL&i-?aTnE*ugsKV;~D(h z(Y5Vk1<l)o!--c(R?|$c;x~7D97p5ISAwBCk6WMbj_GQ`et&&)GT;)F*Bj5d{)&`o z$Zt8Lh~E^!CEwnf$Tn<9&b+qms#OG2A@);Lmzgc{qAy8vJo!=K5-bmHWZ-zdU+vR% zvhP3WdTZcQphL)#3EFj^3p`v!u2+tVO_=4)$I4r@gH&unT3V_6`A%%b0rohcw6fB9 zM<Iaz6Z2)4_Ry7?bPkKnnT+DYadwA2M81HaBqd~rtCTvvyZZ_Lp4PW--v-cXqhsa9 zb@leBQiD@LaP7)xF3?9b{k4U`JcZ!t_;~GQHy>?oFtA5hbar{UTE{ajVq#)`#GPBW z>@Lo66$gR>0!cmdu%Lv5ghzFLE5um=N%>)mHW85_C<z)9oYmZ?RFTr}RUns>=VE47 zF{)wzcG`&U;gyiKuiAC)GtP}OTW!b0C`)5Rj=W4_0lM9MYD+Ho*fyLlV8{4AH^aij z7Y0>o{X*|eSs6Pq5!vGH;3A!PjeTw!a?Ain2m7Y9=m%_F22^&O1m7qdNGJdL@(SEc zm2&;15V=WujbSKTF$`SXdhos9rI2UJY4wD+bkQ44Mxr!oMMSVF*e_ha-?VQeasT;z z&xt2aLWZB@APC8-9ed8M%Iu^u@(0~7X7gyJfz_6EahU|$&z!J|MDNbSUr9pVCKU$> zbFj0+M)IL>EXvSp`0*WR9AE!PSyfvpy-N$YZW!JvbEtx}2olk^Rj)L(aMns>N}df6 zTpXggWy;C8JQ`Kv1+sGuRbvHr4Dw;y1hzqLnh$;!S<Yy4%opDqT=^Y@JBty<9cR(f zNh3E?p9&-|c%zZ~XC|^|MFbdo(!`sPK<zR4<2wRo#eREBs{nhb)uOCQQYK#okg=aI z^H8tXq=<n1O$CQW72gmEFIDA{4Q54AE_y84L&>fDfw-?GxZ_oF{$u6vPYo6k6~uGp zaaQ5uR+4f3<e2uQ-K+NLWe=U8u267f=Ea+GT?MkQuT9C3Y#G#ajY+1M`TTFhbbD|+ zhsLMkJC*@8s1T!l%|?t?Nqme$0vlssRyS|EPF@(b0PeJ*UVL_{rt6WZ$KcLdsIdjb zPs;D6wrh!vI@rNGBc9c{>lYh6F}n`FR;Rkz>bfe>t$+{*dzA^&j+>xU>sB4!_ML9} zRiq;Cn=l-(XcU`m&Ql}QcTg+xygIBV{j5N_cP>l|-6D{>YP#;6#wUHBOfuv<%S?k3 zihvc6mQ+EL?S3_NVYh3jEEcWdgI#oZ_i<;iBtTZy|9J3RI(aRk;rzk6;Q|SJ9s1>O z&Tsya@rAT11BVT+b~TY(Druk1a_qa!8xwr|rk%Y~)+_4osH6e?F6grW?45@^3r&Hl zkn2B|!U%GoUH`a&5Iy{a^zQNbY&J5asF)!<J8^I=<7g$GEz!`sML^XnI;Y6;G6s9N zf(un#tz&$5gOm#2&ezmYrXfK`bYk&q4Y(*BZX`4C_k{>Q1H+1ElrjrTG~?#>2xByV z|Il`_%^HHfbQ-fvscF4>Y^d9CsF2&{tr)%Qu4J7<l9h7-_G{*>zJ#j#Em>E9<vXDd zz4F{<0N$w5Z`L<(4PpHIGKrEyw(okU;0AG6M(pGJQA0J&_Q!pq>}*fL4Jd7swclRG zYimk5i^qmas1LRlDiiHVMX<@CkegJFo3qK+8?W{fD7f5BVX*=GLM-!-altLFWd7#I zST>pj{Qk0?`Q!acO4hc9mR~{1CxWCXZ{hd->=nn={yxIzgAOqG;((rdhF;Z-qbfC% zZrM0TBN<bY)5;#^BV|1>eA(^yQdkPb1DD3J7wJX)g2lr>MAj1%xb)#_vWF^Z=R4c` zZ%f&AxGu|J&BEIP6Tu}@B1KpyC)7MM(Ifv!d(On1`sRUK%o8qxp{yHf*FD(%sjv|R z#wM+D#vu9Dxs>l*A+|esXH?YlgXNt}(;@|ydN~zcpZ=e5k8mp;pO_p22k!xRY+vSh zTLRY3TvMTn$Y8k(lkIckk#vVRuZ!(kN`7NzTD187uNPDB)o4*X;Bvx<z^>fzCqu8b zRa~;%jjKk1ivR-V{`+Drw(if+Lp$YbL1OB#=@JSa22U*soRHuKEuS*FRu*cCIGiyL z$a|+n2)TQSs_Tbw{JPiIn$5WlXFY8NOPMl@K_9F8wZ4ih1R+T&&2Lju1HH{7M!lU( zrGmp759!AGFSA32=sGUlk53*wIAK>;)1^znL=!7BM1dBaSb?Ih8GM#1PXXCZgQ<pe zj3jN&CCIe0km8S)qbK$e)Kr}x&g*hrq6P0JKoojt&fcdOA6vW^&oo5a8^qi)@p-wt zb*Z&Qm|Z-2-Rja!$Yn}usxCDlyA{M^BJ3KPn;+@PrwU)ky~Lc%S87sw-+Xul@;dhY zmFJ~x9b<z`y~8e9<ZE3u(Q$VJca5Jn8U%UaYdk7+2{>Wh(ubRwG$CC)(W3ay7l5Nn z$@&4JF!3#zRPGnc>zj}ja5Z&E2|vO>&qWC45txKbzzkRcrXRA;2R?g@ujB_lyKxV^ zxUY4e;2xOykQI<hw*q=p*dI<L@(fiVgtSJyzcNICe@y_qb`4*UL%N6LU4IH;@dmfe zlz~xDaJ-=wg759Rzvp8191tbML+id`I{*{J_MM5)aj#}jZi#LYkC>P~5efO*aaf1| zYXT%>?@<MBQB93Do<>oqmYOSn_M388isJfx!YhymhGU_<7@s+QDE_>tUW4G#Yaq?f z<>HPixhze&tg2%_FE1~0)3CPJKwmo@+F_P>f=79I`BG1{Rp)aI+dcsp<6Gt%#PMjC zcJpv6&!fo}KaXU3T{APj*q+fdE^hAC-I|c*Eo3BU!Hpxg@{_4ctG=OSpjX6c6rEUU zf3#aO#=RM19wa}6?|g?l_gP$Wa#2f5i(Lcp$_;$;mfG}ZNQVgleLX!pKmZ{l2{UOA zYGs4{NV%_~sTn&C8;-pJX6pPgf6Ce42>CJKj?A8&EyQaku~it=fOz+xI+UPJ_V(N9 z@=xrlN#7Bh29yu4z;6P)o!nMdze93Q5vZoENBe3y!EY9zuDQoTiZlNdlnt-_A;i}s z<>7D@1=F@KsHgVJ2(R4W;*>9Lz?2OI-%tZr^#T9JT+;Ot(4WG+lrIE8Ss@&ri!3&v zMo8WbwV`!<;o!R3kORK(6C78yhJtCiOiE4li2Btf$n`5c9B+X;0%6h7QyZGcSE{_1 zlHCJv0Kq&qyavAn#2BI~PRTaKf0p@3NHH1z*|37)wR?CVJi1Cv^*S0%<6Chaj>}i^ zwdp}^B_NrC3us9lU*H1*5aN3S2LMk2G9jN{byNX_fjj>1q4G~y2p|tAsN;j)1Ib+P z@o?bCLET?3FU1Gpq578eQoLLYzQ73z@9_m?ym~yAHO&1t8|Wn6^TE}0QTV<c26&nF zj*d~|+&Nk-U<pC~=#TMmq)WIYSsUZ|6=F6&Xadi6dXQVl^#v^4YrFOE$$CAG4lmhu z?rk-j!OV)OI$H^OW-<E&gyU4MGLzryXCs~Xk+<a<_N4gAFfA@D)Sn^;m*WSQ9fB;( z%`x-??@jSzv>bKlc)31a0bj|9kSb5YU*X65k}hK0&Hx6GK>e;TOP6+>H*NUv?-zg| z!arMQJIFMUDQk*fCm=dTddHgoUl@LO_WneO1VIQnLB8eXXq<(YRkoe1T|1-|v)9|( zKHS2T(TdpEt&NqOY`O%af1lz#NoSvY^|d>AY0p{y{0FA14={DMu{J+aa-i`Xt2I4L z@i2FX%%^ynaL}>tl#Qu6Wq{X-zrQ>26SDTJBW$3Gf=-mnq-ay*pSHN{I~Ep`Eyu?z zOu<pK0rl<M2;Tw3rd@{k)<3NngC&hJw8X3$-D1G&lI6YX2y4J=0L_P=-&vC5>)5?} zc9RIq5@h;`(CTA+K?)Rz@rAESLhtSYh(kW!O?gBBR1s2nH)Wp%{~t`J6o)L{4k#RI z-(Tgx|4TOF*~mZd!<jnR2w&fTKyoARbKq?o<a(f<niSX<AlZl4)u#VdxS<yF5HFGU zWsV3uY~Qv9F{)i=1ym~4c5)7U_n%7U)bDVB*MFJe3ZLUEe>px05V{LMdR_j+@n41D z6SIF6+E3K}Rk-*gmx6C_Mf#8UzY6|;1pZZM{=@OF!s(yqixYqT{4tUM#Gn1p&v?#C zb}&fP|1ZfiZ|#MScaz)8b93+EW3s=$I*_}4ybV6vvv?L1q^ky;xdWB2xCEc3<FQ$k z6=Z@&IE@x0ThI;Y5(19cZ4~jibJJqd(i|nToLS>sP_qDX<=!zah@FGu$=(<Q!g38e z-B$&;L-0TEI7PkI#=Mo@{SQbs9Uy{0u3g7=R5fC}(*cn!Aw9j!yxDto$~Mc%XYO(2 zZEjxPvg7-Xlht+-fI0NwX;;U>0oo<miiS~6++}vA<-(`^)V#v9QKLUuFu8wmMBmVy z9gRTCc)PjP$S`T{<pE0Gx*?!h{)w?_Ouh+D9DXS#CMWxR9xT?*0}<4i{pl8_S<G=# zsCDnBG+=?L6fJ|G&H%7a&T-qpy!`z9aW-J6G&}ItG-;noK&=rL5n+Y9biGj9-Q7({ zPQJ5>W`ibKLv<qE0EY^qo-2NYZ9SYFO%rnvb($8nwzYKtlXlWU8I(PoryQZr4^)HG z93yEjEG%5hx;QJc`T41&=0(riv_lo@^%bgpzySKb>8-q852i2Xam90YFm-DU6Bd!< zzX1V=xvSOve~TaYzr&&X|5crR6``HufV2m0x!~dzxOd_|57r0(kc!ap>|tBcU8V5- z?h?qq>70P8N6c^8W(KbD)Z=-3*A7864hWJ1gR+49R8m<fQ0fGji?T(l{%FMJ_c=%9 z;d9*SW{y(CG$4-F_-ssCsn$+Zm`-e+`^@?k@xLRbWRmgy`)in#31}<wfiw*QllWj% z5{>XWKVDw{Au>1yD13pNGfldz$}wX|uXRzkKV9N;9-iOwOG{NcBPhY9-JFn^NF8m{ zt>)#`5Kci~7#DZb+Qz0EDJfejXqi6NSQYCKscB{!u+~4ZwBxI%r<dQ?r$Rv^#FBgX zWG2z$bhB~YR{qpD;xu5lm(!#zpvm6eUeC;o;h+ZdkF71+1Qe~nEx`(?jSa`d?V^)i zteex$JJ4w0@wA%AZch0P()j=6dZ<*j9;6vmn4oy<KEc;YkbmCu?jOy^D#HOeaj54p z!@n^+u^L1vca*)=w4AxL?0>k0!Y5CPGT|!moSHHF0EpSlc%K5?0=hjoIy%Y@%~Osw zu(Gl;>TzwxAi=^xZ_K{)F*7{_BkO7S##zZP=jP-TIsI!Q?~TY2U^nl(wB81^PKZ?J ze}&#IeIeTW&tH>w+U*#%__~#+qw)gevOtW>)hSdTggY^kC{hkM?zc1mEZVsEcro9< z&&>T66Q`SfTtHnXX`ihzutv&0vMTeivp)v%jc54GmUMS_8%b0spDl385091TCZ?s) z?Zk~}?EUSebm)3}Lq$Vle4#hK0ghcWk|<FwH*3<lW9IrQoSgPvr_er7dKVHZYcrht zSZcF=G~wgN9Kg3T_Z)saU2ClhdS%5EKGjo%a{RtcaO)O&!sF4t4Zb_iX~T1fuik!* z%lu5n5x1YmjC*=|u;~yq<2kBc<E#^V@^3hIA!%jp0WI?cJ$GIRQdKJ;jWCXILVE)4 zWH-_ngYet4F-|H_W)9S&mvA1#9nMwFoh?Zq=VPRwW9pfPCnt;h1)9|)W?YrZ(?|F< zWw8mjK~h3`yG55d;O{F9sZ};G2Yx*K{Lx;c$boh2T7JC7NGGK{!+PQVXNg%~rM>0B z3BY771E~e$pms~Zi>_?30P{KS1Q^XGExtA5fQpR2cD4M;BSxU*??b1V&-cgG*R}r# z^7W&G?#dal2L|Dk%+7Pc7q}YdCu3*J@)tEd(e$=1GoOc(q}r%FWc&}NY@IrVHvZ8_ zK@Sd8X;hA3pk24wFYaOT|M9c0@4c4@a$|o~vvGMaYwk>jhI|@Ouxo%beyh^}D+4{K zweEk8i7Mvi=Wk%2a%tIlQl5U3dTMIwU_1EY)JP()XKZY2vWLMV3I~XjXxpqnMBv_l zL<Da3b6E<XMT=2WQ<K#3LOeFo^6cR&1(tF3wHx?k6*$!`lD{|}R8d!t_VUOr%*}nM zDYNssP$Q$XtE&s(uE*~mCk&|TK|TmF940DJAc2?Gm|9q3TxSDAmFnMjq`e1N5Nsub zxC^}J4(Q?_uL~lPo9j#aDaU)u4qG!#{O8+mc<oh3lskRe_89T(?!MmMVW6!%KoZ|X zH);aPrzMzseuUHdT3OXNU`kf$YRc*ZXh(U)!)KftF@<;<cxhSLD6Q?MoaL-wIWPt{ z(?(~M5~XZDpaM&bt9RT53|t@s4;PnRO>1_x0&qrSw9Bq@|7XT$dHN`;IA9zD*cRvH zD6X!q{s-gONTN)c&m5_ThY+9&j}{#Ev^;kQwyBYB2)>`UO7s$BTGQkLksN9%+3Qv9 z7VT$?g4iJ?O2DT7cEmG%d#gcqe@Lmcq(s}z4Xk4Z#MARxw$<i2TqSVliWd99HtoJz zT2>jiIrKP!wN)HCjrSITBa8<#IAJ%BGMR0vG^4-nfQM%fb8vZqDp(KPvNju&HTa-t z)_+?T<Jw7)CgGAP?lgUC-Nwrl3Vr9?c5EZN(?taq_14J!=WT4bjxbVv3yay`a(Pdp zfy1s-wuxUyM?3QkU}Z%!N{gGQZ`8V0ZI)T$N;CbpB!Q#cB1=Qw2jqLtTR8+mET+xE zC*{(?F3mpM;6`fa{!i)c2eqEGs|}l&W<$IWi&q3b)DnG>d5A_Owl{)5>^ee;OG``N zyRXA7UcAWD(bdJq2A?V2G56HoI{+!e60l(as;lD$-9#tY>Hw@w%xo=P@kCnS_n-ig zR?L0jyO9K^z0E*c0dN}Dhn1P5y>yX_skWKJ-|krQCHJFR_<^88<f(<+fJ*+S0nydM z%PA<R>F4KX4&Mg5r*&H4?%tmNXMI`L83+Hr9i(1^vWKGbbIm?gU=T90*fHHS89#T? z^hs;Xv40((Y8-><>idQ1gN>;?yq}Lxux`}!Ffgj*Z{b?M0Y8dOJxvr^)plaPcLxEY z8+`T^h}?~ETlwIGMy?j7*E>!Lx1OJ@2TCP8%?VD{z^O%b{YVvQ0F>g}=*p%gx@dX{ z4dCdR7Uev0R}i`~QL10I50nW5Hn8ve_aX47XFq@A3jN$scx_$X3rveMHxG~fj*P6V zc^p340&zfhE>w2uzjm*rYfWyxll4Ea1AJgQxq#1Gt%nwjGQQQv4T@nT->R);Ux018 zw77T(Y}SC5pFV*CV^!O0ANH+w{rzwtT|yJ=dZiljI8WKXUx;?$t;nS`2ViWS%fJ^) z0Qjb7ZBN!H0ph)(hK5GjV4|-`@OgkNFe-3h-V(tEfjd1^jRSQ31hDtdk9%nXH+1Po zD!4y;4>dNn(#x4O29``^vIU$Qm{CMjRFuJd$iMtv`tzgg;vZD+LmM0>roq08sH?5r zSXg*@`guO4F8E|LYnp<BqQ==I7G3i~IV)A*41i)v#O6n}hr7FDBibpJ=Kj|<F#7<R zK0Qbn25_Ncr{bmq_K890=dd?zP;PW%z3}lyP6ShJ<oov<K%u92V++nWF#l|RMm4zu z?Rfy7-@x1BvlkV>Ec4-|bP3u^KLEknCU`|!P;f9)(xb37;CR<ag4h0Dh5*CfeGq0q w)IVYFUIXNQ>QE3g{U3kJ$G^T6B<g}v<zaUG2dQVGphXDuvBsmyhtER)8zj;!E&u=k literal 0 HcmV?d00001 diff --git a/assets/posts_imgs/2024-05-17/uninformative-rescaled-unc.png b/assets/posts_imgs/2024-05-17/uninformative-rescaled-unc.png new file mode 100644 index 0000000000000000000000000000000000000000..11bcabe4c3a791f245ff61ba01745cac655da0e7 GIT binary patch literal 21443 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 UA_Ip3Kur;g^H9^mb5|e!7wwr#kN^Mx literal 0 HcmV?d00001 diff --git a/assets/posts_imgs/2024-05-17/uninformative-unc.png b/assets/posts_imgs/2024-05-17/uninformative-unc.png new file mode 100644 index 0000000000000000000000000000000000000000..59b7745b3f29218b2ba2fe39bcc2ecc26ddaf721 GIT binary patch literal 21383 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 L*9c#r<8bXiHn2^4 literal 0 HcmV?d00001 diff --git a/assets/posts_imgs/2024-06-13/iterm2-ai-demo.gif b/assets/posts_imgs/2024-06-13/iterm2-ai-demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..b85797a1c45f5e075f85c38701c580df3f8275ee GIT binary patch literal 880549 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≪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	HoR2&3<tL@dZ+bN{f#HcA}E)-U^v^_I};r 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∋zk>}`>8%<=<kYlHzHQc0 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 literal 0 HcmV?d00001 diff --git a/assets/posts_imgs/pizzahut-free-soda.jpg b/assets/posts_imgs/pizzahut-free-soda.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b642b502970e3340539aa24dc797f144f9330168 GIT binary patch literal 39842 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 literal 0 HcmV?d00001 diff --git a/assets/spare-time-research/chem-eq-balance.pdf b/assets/spare-time-research/chem-eq-balance.pdf new file mode 100644 index 0000000000000000000000000000000000000000..46c3562b4d91804778b1f3a61fb69da965881dc3 GIT binary patch literal 89397 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 F{{T<{w7viU literal 0 HcmV?d00001 diff --git a/assets/spare-time-research/covid19-test-analysis.pdf b/assets/spare-time-research/covid19-test-analysis.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ef512814614c99f740164d56c5d2ec61f917444f GIT binary patch literal 68234 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ð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 E0{zwjg#Z8m literal 0 HcmV?d00001 diff --git a/assets/spare-time-research/cross-walker.pdf b/assets/spare-time-research/cross-walker.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f0ae95265de4b4b3a028a2716eae916cf039718b GIT binary patch literal 92614 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 ZHF0+JaJGP83I5d#KNcgStco1g{{Tcl_5=U` literal 0 HcmV?d00001 diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 000000000..9b212b6fb --- /dev/null +++ b/docs/index.html @@ -0,0 +1,107 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Docs | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Docs"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/docs/"> +<meta property="og:url" content="https://kkew3.github.io/docs/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Docs"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Docs","url":"https://kkew3.github.io/docs/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post"> + + <header class="post-header"> + <h1 class="post-title">Docs</h1> + </header> + + <div class="post-content"> + <h2 id="various-informal-research-topics-as-entertainment">Various informal research topics as entertainment</h2> + +<ul> + <li><a href="/assets/spare-time-research/chem-eq-balance.pdf" type="application/pdf">配平化学方程式</a></li> + <li><a href="/assets/spare-time-research/covid19-test-analysis.pdf" type="application/pdf">新冠核酸检测分析</a></li> + <li><a href="/assets/spare-time-research/cross-walker.pdf" type="application/pdf">相向而行路人最优避让方案分析</a></li> +</ul> + + </div> + +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/feed.xml b/feed.xml new file mode 100644 index 000000000..5a4c70c4b --- /dev/null +++ b/feed.xml @@ -0,0 +1,914 @@ +<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.2">Jekyll</generator><link href="https://kkew3.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://kkew3.github.io/" rel="alternate" type="text/html" /><updated>2024-08-12T21:15:43+00:00</updated><id>https://kkew3.github.io/feed.xml</id><title type="html">Kaiwen’s personal website</title><subtitle>My blogs and research reports.</subtitle><entry><title type="html">Effect of gamma in BN-VAE</title><link href="https://kkew3.github.io/2024/08/09/gamma-in-bn-vae.html" rel="alternate" type="text/html" title="Effect of gamma in BN-VAE" /><published>2024-08-09T11:00:44+00:00</published><updated>2024-08-09T11:00:44+00:00</updated><id>https://kkew3.github.io/2024/08/09/gamma-in-bn-vae</id><content type="html" xml:base="https://kkew3.github.io/2024/08/09/gamma-in-bn-vae.html"><h2 id="abstract">Abstract</h2> + +<p>This post discusses the effect of $\gamma$ in BN-VAE (<a href="https://arxiv.org/abs/2004.12585">Zhu et al., 2020</a>).</p> + +<h2 id="introduction">Introduction</h2> + +<p>BN-VAE (see more about it <a href="https://kexue.fm/archives/7381">here</a> (in Chinese)) attempts to solve KL vanishing problem (a.k.a. posterior collapse) in Gaussian-VAE by batch-normalizing the variational posterior mean, which casts a positive lower bound on the <a href="https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence">Kullback-Leibler divergence</a> term (over the dataset) in <a href="https://en.wikipedia.org/wiki/Evidence_lower_bound">ELBO</a>, thus avoiding KL vanishing problem. +The batch normalization procedure includes a fixed hyperparameter $\gamma \ge 0$, which controls the lower bound of the KL; the larger $\gamma$, the larger the lower bound. +When $\gamma=0$, KL vanishing occurs.</p> + +<p>Zhu et al. (2020) visualizes the distribution of the variational posterior mean when $\gamma$ equals 0.3 and 1. +What will happen if $\gamma &gt; 1$? +How does $\gamma &gt; 0$ solves the KL vanishing problem? +We’ll explore these questions below.</p> + +<h2 id="gamma1-introduces-posterior-hole-problem">$\gamma&gt;1$ introduces posterior hole problem</h2> + +<p>Posterior hole problem happens when the aggregate variational posterior (a.k.a. average encoder distribution (<a href="https://approximateinference.org/2016/accepted/HoffmanJohnson2016.pdf">Hoffman &amp; Johnson, 2016</a>)) does not match the prior. +When measured in KL divergence, this means:</p> + +\[D_{KL}(q_\phi(z) \parallel p(z)) &gt; 0\] + +<p>Here, $q_\phi(z) = \sum_{i=1}^N \frac{1}{N} q_\phi(z \mid x_i)$ where $N$ is the dataset size, is the aggregate variational posterior.</p> + +<p>In Gaussian-VAE, the variational posterior $q_\phi(z \mid x_i) = \mathcal N(z \mid \mu_i, \sigma_i^2)$, where $(\mu_i,\sigma_i^2)$ are typically computed by a neural network called the inference network (<a href="https://arxiv.org/pdf/1312.6114">Kingma &amp; Welling, 2013</a>) parameterized by $\phi$ given $x_i$; and $q_\phi(z \mid x_i)$ can usually be factorized into each dimension $j$ as $q_\phi(z \mid x_i) = \prod_{j=1}^d q_\phi(z_j \mid x_i)$, where each $q_\phi(z_j \mid x_i)$ is an univariate Gaussian parameterized by $(\mu_{ij}, \sigma_{ij}^2)$. +Thus, the aggregate variational posterior is an $N$-mixture of Gaussians whose mean, at each dimension $j$, is $\bar\mu_j = \frac{1}{N}\sum_{i=1}^N \mu_{ij}$ and variance is $\bar\sigma_j^2 = \frac{1}{N}\sum_{i=1}^N \sigma_{ij}^2$.</p> + +<p>If $q_\phi$ is transformed according to BN-VAE, then $\bar\mu_j = \beta$ where $\beta$ is a learnable parameter. +Furthermore, we have variance $\mathbb E_{q_\phi(z_j)}[z_j^2] - \mathbb E_{q_\phi(z_j)}[z_j]^2 = \gamma^2 + \bar\sigma^2$. +If we follow Zhu et al. (2020) to use a standard Gaussian $\mathcal N(z \mid \mathbf 0, \mathbf I)$ as prior $p$, then according to <a href="https://kkew3.github.io/2024/08/09/lower-bound-of-kl-divergence-between-any-density-and-gaussian.html">this post</a>, $D_{KL}(q_\phi(z) \parallel p(z)$, at each dimension $j$, will be lower bounded by $D_{KL}(q_0(z_j) \parallel p(z_j))$ where $q_0(z_j) = \mathcal N(z_j \mid \beta, \gamma^2 + \bar\sigma^2)$, which is consistently greater than zero when $\gamma &gt; 1$ (<a href="https://arxiv.org/pdf/1901.03416">Razavi et al., 2019</a>). +It follows immediately (<a href="https://statproofbook.github.io/P/kl-add">Soch, Joram, et al., 2024</a>), that $D_{KL}(q_\phi(z) \parallel p(z)) \ge \sum_{j=1}^d D_{KL}(q_0(z_i) \parallel p(z_i)) &gt; 0$.</p> + +<p><em>TO BE CONTINUED</em></p></content><author><name></name></author><category term="ml--bayes" /><summary type="html">Abstract</summary></entry><entry><title type="html">Lower bound of KL divergence between any density and Gaussian</title><link href="https://kkew3.github.io/2024/08/09/lower-bound-of-kl-divergence-between-any-density-and-gaussian.html" rel="alternate" type="text/html" title="Lower bound of KL divergence between any density and Gaussian" /><published>2024-08-09T09:03:39+00:00</published><updated>2024-08-09T09:03:39+00:00</updated><id>https://kkew3.github.io/2024/08/09/lower-bound-of-kl-divergence-between-any-density-and-gaussian</id><content type="html" xml:base="https://kkew3.github.io/2024/08/09/lower-bound-of-kl-divergence-between-any-density-and-gaussian.html"><h2 id="abstract">Abstract</h2> + +<p>In this post, I explain how to derive a lower bound of the <a href="https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence">Kullback-Leibler divergence</a> between any density $q$, e.g. a Gaussian mixture, and a Gaussian $p$.</p> + +<h2 id="framework">Framework</h2> + +<p>We may cast the problem finding the lower bound to a constrained minimization problem:</p> + +<div id="eq-1"></div> + +\[\begin{aligned} + \min_{q'}\ &amp;D_{KL}(q' \parallel p)\\ + \text{s.t. } &amp;\int_{\mathcal X} q'(x)\,\mathrm dx = 1\\ + &amp;\ldots \ \text{other constraints} +\end{aligned}\tag{1}\] + +<p>where $\mathcal X$ is the support of $q’$, and we’ll fill in “other constraints” with what we know about the density $q$, like its mean and variance. +The solution of Equation (<a href="#eq-1">1</a>) will be the lower bound we’re seeking for.</p> + +<p>The <a href="https://en.wikipedia.org/wiki/Lagrange_multiplier">Lagrangian</a> would be:</p> + +\[L = \int_{\mathcal X} q'(x)\log \frac{q'(x)}{p(x)}\,\mathrm dx + \lambda_0 (\int_{\mathcal X} q'(x)\,\mathrm dx - 1) + \ldots \tag{2}\] + +<p>Taking the functional derivative of $L$ with respect to $q’$ and letting it equal zero yields:</p> + +\[\begin{aligned} + 0 &amp;= 1 + \log q'(x) - \log p(x) + \lambda_0 + \ldots\\ + \log q'(x) &amp;= -\lambda_0 - 1 + \log p(x) + \ldots\\ + q'(x) &amp;= \exp(-\lambda_0 -1 + \log p(x) + \ldots) +\end{aligned}\] + +<p>Finally, plugging $q’(x)$ back into the constraints and solve for the Lagrange multipliers $\lambda_0$, etc.</p> + +<h2 id="example">Example</h2> + +<p>In this simple example, we assume that $p(x) = \mathcal N(x \mid 0, 1)$ be a standard univariate Gaussian, and assume that $q$ and $p$ have the same support. +Suppose also that we know the mean and variance of $q$ to be: $\mathbb E_q[x] = 0$, $\mathbb E_q[x^2] - \mathbb E_q[x]^2 = \mathbb E_q[x^2] = \sigma^2$.</p> + +<p>The Lagrangian is:</p> + +<div id="eq-3"></div> + +\[\require{enclose} +L = \int_{-\infty}^\infty q'(x) \log \frac{q'(x)}{p(x)}\,\mathrm dx + \lambda_0 (\underbrace{\int_{-\infty}^\infty q'(x)\,\mathrm dx - 1}_{\substack{\enclose{circle}{1}}}) + \lambda_1 (\underbrace{\int_{-\infty}^\infty x^2 q'(x)\,\mathrm dx - \sigma^2}_{\substack{\enclose{circle}{2}}})\tag{3}\] + +<p>where we have encoded the mean and variance constraints into one term (see why <a href="https://michael-franke.github.io/intro-data-analysis/the-maximum-entropy-principle.html#example-2-derivation-of-maximum-entropy-pdf-with-given-mean-mu-and-variance-sigma2">here</a>). +Taking the derivative and letting it equal zero yields:</p> + +<div id="eq-4"></div> + +\[\begin{align} + 0 &amp;= 1 + \log q'(x) - \log p(x) + \lambda_0 + \lambda_1 x^2\\ + \log q'(x) &amp;\stackrel{1}{=} -\lambda_0 - 1 - (\frac{1}{2} + \lambda_1) x^2\\ + q'(x) &amp;= \exp(-\lambda_0 - 1 - (\frac{1}{2} + \lambda_1) x^2)\tag{4}\\ +\end{align}\] + +<p>where equal sign ‘$1$’ is because $\log p(x) = -\frac{1}{2}x^2 + C$, and the constant $C$ has been absorbed into $\lambda_0$.</p> + +<p>Plugging Equation (<a href="#eq-4">4</a>) back to <a href="#eq-3">⓵</a> and solving the integral yields:</p> + +<div id="eq-5.1"></div> + +\[\frac{\sqrt{\pi}\exp(-\lambda_0 - 1)}{\sqrt{\frac{1}{2} + \lambda_1}} = 1\tag{5.1}\] + +<p>Likewise, plugging (<a href="#eq-4">4</a>) back to <a href="#eq-3">⓶</a> and solving the integral yields:</p> + +<div id="eq-5.2"></div> + +\[\frac{\sqrt{\pi} \exp(-\lambda_0 - 1)}{2\sqrt{(\frac{1}{2} + \lambda_1)^3}} = \sigma^2\tag{5.2}\] + +<p>Solving Equations (<a href="#eq-5.1">5.1</a>, <a href="#eq-5.2">5.2</a>) gives:</p> + +<div id="eq-6"></div> + +\[\begin{cases} + \lambda_0 = -1 + \frac{1}{2} \log 2\pi\sigma^2\\ + \lambda_1 = -\frac{1}{2} + \frac{1}{2\sigma^2}\\ +\end{cases}\tag{6}\] + +<p>Plugging Equation (<a href="#eq-6">6</a>) to Equation (<a href="#eq-4">4</a>), it’s immediate that</p> + +\[q'(x) = \frac{1}{\sqrt{2\pi\sigma^2}}\exp(-\frac{x^2}{2\sigma^2})\] + +<p>i.e., a Gaussian $\mathcal N(x \mid 0, \sigma^2)$. +Therefore, according to <a href="https://statproofbook.github.io/P/norm-kl">Soch, Joram, et al. (2024)</a>,</p> + +\[D_{KL}(q \parallel p) \ge \frac{1}{2}(\sigma^2 - \log\sigma^2 - 1)\]</content><author><name></name></author><category term="math--prob" /><summary type="html">Abstract</summary></entry><entry><title type="html">Compute accuracy from F1 score</title><link href="https://kkew3.github.io/2024/07/06/compute-accuracy-from-f1-score.html" rel="alternate" type="text/html" title="Compute accuracy from F1 score" /><published>2024-07-06T01:51:59+00:00</published><updated>2024-07-06T01:51:59+00:00</updated><id>https://kkew3.github.io/2024/07/06/compute-accuracy-from-f1-score</id><content type="html" xml:base="https://kkew3.github.io/2024/07/06/compute-accuracy-from-f1-score.html"><p>I encountered a similar problem today as the one in <a href="https://stackoverflow.com/questions/42041078/calculating-accuracy-from-precision-recall-f1-score-scikit-learn">this</a> post, where I wish to find the accuracy given F1 score only. +F1 score is <a href="https://datascience.stackexchange.com/a/65342/153995">well suited</a> to my imbalanced classification problem, so I compute it during training; but I then find it difficult to interprete. +There’s a surprising lack of relevant information when I searched the web. +Luckily, it’s not a difficult task either.</p> + +<p>Since each F1 score corresponds to a range of accuracies, we may regard finding the accuracy given F1 score an optimization problem. +The process consists of two steps: 1) find the minimum accuracy; 2) find the maximum accuracy. To find the maximum, we may reduce it to finding the <em>negative</em> of the minimum of the <em>negative</em> accuracy. +Thus we will only handle step 1 below.</p> + +<p>Known constants:</p> + +<ul> + <li>$s_F$: the F1 score.</li> + <li>$r_P$ and $r_N$: the positive and negative class ratio.</li> +</ul> + +<p>Variables:</p> + +<ul> + <li>$r_{TP}$, $r_{TN}$, $r_{FP}$, $r_{FN}$: the true positive, true negative, false positive and false negative ratio (i.e. divided by the total sample count).</li> +</ul> + +<p>Objective: +$s_A = r_{TP} + r_{TN}$.</p> + +<p>Constraints:</p> + +<ul> + <li>$r_{TP} \ge 0$, $r_{TN} \ge 0$, $r_{FP} \ge 0$, $r_{FN} \ge 0$.</li> + <li>$r_{TP} + r_{FN} = r_P$, $r_{TN} + r_{FP} = r_N$.</li> + <li>$\frac{2 \cdot r_{TP} / (r_{TP} + r_{FP}) \cdot r_{TP} / (r_{TP} + r_{FN})}{r_{TP} / (r_{TP} + r_{FP}) + r_{TP} / (r_{TP} + r_{FN})} = s_F$. The left hand side is just the F1 score formula.</li> +</ul> + +<p>Python implementation:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># jax is not necessary, just that I don't want to spend time on finding +# partial derivative of the F1 score with respect to true positive, +# etc. +</span><span class="kn">import</span> <span class="nn">jax</span> +<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="n">np</span> +<span class="kn">from</span> <span class="nn">scipy.special</span> <span class="kn">import</span> <span class="n">softmax</span> +<span class="kn">from</span> <span class="nn">scipy.optimize</span> <span class="kn">import</span> <span class="n">minimize</span> + +<span class="c1"># Used to avoid divid-by-zero error. +</span><span class="n">EPS</span> <span class="o">=</span> <span class="mf">1e-8</span> + +<span class="k">def</span> <span class="nf">f1_score_constraint</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">f1_score</span><span class="p">):</span> + <span class="s">""" + :param x: the array (tp, fp, tn, fn) + :param f1_score: the known F1 score + """</span> + <span class="n">tp</span><span class="p">,</span> <span class="n">fp</span><span class="p">,</span> <span class="n">fn</span> <span class="o">=</span> <span class="n">x</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">x</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span> <span class="n">x</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> + <span class="n">precision</span> <span class="o">=</span> <span class="n">tp</span> <span class="o">/</span> <span class="p">(</span><span class="n">tp</span> <span class="o">+</span> <span class="n">fp</span><span class="p">)</span> + <span class="n">recall</span> <span class="o">=</span> <span class="n">tp</span> <span class="o">/</span> <span class="p">(</span><span class="n">tp</span> <span class="o">+</span> <span class="n">fn</span><span class="p">)</span> + <span class="k">return</span> <span class="mi">2</span> <span class="o">*</span> <span class="p">(</span><span class="n">precision</span> <span class="o">*</span> <span class="n">recall</span><span class="p">)</span> <span class="o">/</span> <span class="p">(</span><span class="n">precision</span> <span class="o">+</span> <span class="n">recall</span><span class="p">)</span> <span class="o">-</span> <span class="n">f1_score</span> + + +<span class="k">def</span> <span class="nf">positive_sum_constraint</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">n_positive</span><span class="p">):</span> + <span class="s">""" + :param x: the array (tp, fp, tn, fn) + :param n_positive: the known positive class ratio + """</span> + <span class="n">tp</span><span class="p">,</span> <span class="n">fn</span> <span class="o">=</span> <span class="n">x</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">x</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> + <span class="k">return</span> <span class="n">tp</span> <span class="o">+</span> <span class="n">fn</span> <span class="o">-</span> <span class="n">n_positive</span> + + +<span class="k">def</span> <span class="nf">negative_sum_constraint</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">n_negative</span><span class="p">):</span> + <span class="s">""" + :param x: the array (tp, fp, tn, fn) + :param n_negative: the known negative class ratio + """</span> + <span class="n">tn</span><span class="p">,</span> <span class="n">fp</span> <span class="o">=</span> <span class="n">x</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">x</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> + <span class="k">return</span> <span class="n">tn</span> <span class="o">+</span> <span class="n">fp</span> <span class="o">-</span> <span class="n">n_negative</span> + + +<span class="k">def</span> <span class="nf">accuracy</span><span class="p">(</span><span class="n">x</span><span class="p">):</span> + <span class="s">""" + :param x: the array (tp, fp, tn, fn) + """</span> + <span class="n">tp</span><span class="p">,</span> <span class="n">tn</span> <span class="o">=</span> <span class="n">x</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="n">x</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> + <span class="k">return</span> <span class="n">tp</span> <span class="o">+</span> <span class="n">tn</span> + + +<span class="c1"># Ideally this should give a feasible solution. But in practice, I +# find it works fine even if it's not feasible. +</span><span class="k">def</span> <span class="nf">rand_init</span><span class="p">():</span> + <span class="k">return</span> <span class="n">softmax</span><span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="n">random</span><span class="p">.</span><span class="n">randn</span><span class="p">(</span><span class="mi">4</span><span class="p">))</span> + + +<span class="k">def</span> <span class="nf">find_min_accuracy_from_f1</span><span class="p">(</span><span class="n">f1_score</span><span class="p">,</span> <span class="n">n_positive</span><span class="p">,</span> <span class="n">n_negative</span><span class="p">):</span> + <span class="s">""" + :param f1_score: the known F1 socre + :param n_positive: the known positive class ratio + :param n_negative: the known negative class ratio + """</span> + <span class="n">res</span> <span class="o">=</span> <span class="n">minimize</span><span class="p">(</span> + <span class="n">accuracy</span><span class="p">,</span> + <span class="n">rand_init</span><span class="p">(),</span> + <span class="n">method</span><span class="o">=</span><span class="s">'SLSQP'</span><span class="p">,</span> + <span class="n">jac</span><span class="o">=</span><span class="n">jax</span><span class="p">.</span><span class="n">grad</span><span class="p">(</span><span class="n">accuracy</span><span class="p">),</span> + <span class="n">bounds</span><span class="o">=</span><span class="p">[(</span><span class="n">EPS</span><span class="p">,</span> <span class="bp">None</span><span class="p">),</span> <span class="p">(</span><span class="n">EPS</span><span class="p">,</span> <span class="bp">None</span><span class="p">),</span> <span class="p">(</span><span class="n">EPS</span><span class="p">,</span> <span class="bp">None</span><span class="p">),</span> <span class="p">(</span><span class="n">EPS</span><span class="p">,</span> <span class="bp">None</span><span class="p">)],</span> + <span class="n">constraints</span><span class="o">=</span><span class="p">[</span> + <span class="p">{</span> + <span class="s">'type'</span><span class="p">:</span> <span class="s">'eq'</span><span class="p">,</span> + <span class="s">'fun'</span><span class="p">:</span> <span class="n">f1_score_constraint</span><span class="p">,</span> + <span class="s">'jax'</span><span class="p">:</span> <span class="n">jax</span><span class="p">.</span><span class="n">grad</span><span class="p">(</span><span class="n">f1_score_constraint</span><span class="p">),</span> + <span class="s">'args'</span><span class="p">:</span> <span class="p">(</span><span class="n">f1_score</span><span class="p">,),</span> + <span class="p">},</span> + <span class="p">{</span> + <span class="s">'type'</span><span class="p">:</span> <span class="s">'eq'</span><span class="p">,</span> + <span class="s">'fun'</span><span class="p">:</span> <span class="n">positive_sum_constraint</span><span class="p">,</span> + <span class="s">'jac'</span><span class="p">:</span> <span class="n">jax</span><span class="p">.</span><span class="n">grad</span><span class="p">(</span><span class="n">positive_sum_constraint</span><span class="p">),</span> + <span class="s">'args'</span><span class="p">:</span> <span class="p">(</span><span class="n">n_positive</span><span class="p">,),</span> + <span class="p">},</span> + <span class="p">{</span> + <span class="s">'type'</span><span class="p">:</span> <span class="s">'eq'</span><span class="p">,</span> + <span class="s">'fun'</span><span class="p">:</span> <span class="n">negative_sum_constraint</span><span class="p">,</span> + <span class="s">'jac'</span><span class="p">:</span> <span class="n">jax</span><span class="p">.</span><span class="n">grad</span><span class="p">(</span><span class="n">negative_sum_constraint</span><span class="p">),</span> + <span class="s">'args'</span><span class="p">:</span> <span class="p">(</span><span class="n">n_negative</span><span class="p">,),</span> + <span class="p">},</span> + <span class="p">],</span> + <span class="n">options</span><span class="o">=</span><span class="p">{</span><span class="s">'maxiter'</span><span class="p">:</span> <span class="mi">1000</span><span class="p">},</span> + <span class="p">)</span> + <span class="k">return</span> <span class="n">res</span><span class="p">.</span><span class="n">fun</span> +</code></pre></div></div> + +<p>Calling the function <code class="language-plaintext highlighter-rouge">find_min_accuracy_from_f1</code> with data, we get the minimum possible accuracy given F1 score:</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&gt;&gt;&gt; find_min_accuracy_from_f1(0.457, 0.044, 0.9559) +0.8953 +</code></pre></div></div></content><author><name></name></author><category term="ml" /><summary type="html">I encountered a similar problem today as the one in this post, where I wish to find the accuracy given F1 score only. F1 score is well suited to my imbalanced classification problem, so I compute it during training; but I then find it difficult to interprete. There’s a surprising lack of relevant information when I searched the web. Luckily, it’s not a difficult task either.</summary></entry><entry><title type="html">Leverage Ollama in iTerm2 AI integration</title><link href="https://kkew3.github.io/2024/06/13/leverage-ollama-in-iterm2-ai-integration.html" rel="alternate" type="text/html" title="Leverage Ollama in iTerm2 AI integration" /><published>2024-06-13T14:46:53+00:00</published><updated>2024-06-13T14:46:53+00:00</updated><id>https://kkew3.github.io/2024/06/13/leverage-ollama-in-iterm2-ai-integration</id><content type="html" xml:base="https://kkew3.github.io/2024/06/13/leverage-ollama-in-iterm2-ai-integration.html"><h2 id="introduction">Introduction</h2> + +<p>Recently, <a href="https://iterm2.com/">iTerm2</a> released version <a href="https://iterm2.com/downloads/stable/iTerm2-3_5_0.changelog">3.5.0</a>, which includes generative AI integration in OpenAI API. +<a href="https://ollama.com/">Ollama</a> is an open platform for large language models (LLM). +Starting from February 2024, Ollama has built-in <a href="https://ollama.com/blog/openai-compatibility">support</a> of OpenAI chat completions API. +Putting them together, we can <a href="https://gitlab.com/gnachman/iterm2/-/issues/11455">now</a> ask AI to compose commands for us seamlessly in iTerm2 interface, using Ollama bot locally.</p> + +<h2 id="configuration">Configuration</h2> + +<p>Here are the steps to start using the AI integration in iTerm2:</p> + +<ol> + <li>Install the AI plugin from <a href="https://iterm2.com/ai-plugin.html">iTerm2 site</a>.</li> + <li>In iTerm2 preferences, under <code class="language-plaintext highlighter-rouge">General</code> section and <code class="language-plaintext highlighter-rouge">AI</code> tab, enter “OpenAI API key” with anything non-empty, fill in the <a href="https://gitlab.com/gnachman/iterm2/-/wikis/AI-Prompt">AI prompt</a>, specify the model and the custom URL.</li> +</ol> + +<p>For example, mine is like below:</p> + +<ul> + <li>OpenAI API key: <code class="language-plaintext highlighter-rouge">abc</code></li> + <li>AI prompt: <code class="language-plaintext highlighter-rouge">Return commands suitable for copy/pasting into \(shell) on \(uname). Do NOT include commentary NOR Markdown triple-backtick code blocks as your whole response will be copied into my terminal automatically. If not otherwise specified, you should always give at most one line of command. The command should do this: \(ai.prompt)</code>.</li> + <li>Model: <code class="language-plaintext highlighter-rouge">codegemma:instruct</code>.</li> + <li>Token limit: <code class="language-plaintext highlighter-rouge">16384</code>.</li> + <li>Custom URL: <code class="language-plaintext highlighter-rouge">http://localhost/v1/chat/completions</code>.</li> + <li>Use legacy “completions” API: false.</li> +</ul> + +<p>Remarks:</p> + +<ul> + <li>If your Ollama runs on a server in WLAN, e.g. at IP address <code class="language-plaintext highlighter-rouge">192.168.0.107</code>, just replace the <code class="language-plaintext highlighter-rouge">localhost</code> in custom URL with that IP address.</li> + <li>Don’t forget to start Ollama by <code class="language-plaintext highlighter-rouge">ollama serve</code> before using iTerm2’s AI integration.</li> +</ul> + +<h2 id="workflow">Workflow</h2> + +<p>My favorite iTerm2 workflow after the configuration above:</p> + +<ol> + <li>Press <code class="language-plaintext highlighter-rouge">command + shift + .</code> to activate the composer.</li> + <li>Specify my need in plain English, and press <code class="language-plaintext highlighter-rouge">command + y</code> to send the input text to Ollama.</li> + <li>After a few seconds, the text should be replaced by Ollama’s response.</li> + <li>Press <code class="language-plaintext highlighter-rouge">shift + enter</code> to send the response to the terminal.</li> +</ol> + +<p>A demo:</p> + +<p><img src="/assets/posts_imgs/2024-06-13/iterm2-ai-demo.gif" alt="demo" /></p></content><author><name></name></author><category term="os--macos" /><summary type="html">Introduction</summary></entry><entry><title type="html">Learn Bayesian Logistic regression from imbalanced data</title><link href="https://kkew3.github.io/2024/05/17/learn-bayesian-lr-from-imbalanced-data.html" rel="alternate" type="text/html" title="Learn Bayesian Logistic regression from imbalanced data" /><published>2024-05-17T03:21:31+00:00</published><updated>2024-05-17T03:21:31+00:00</updated><id>https://kkew3.github.io/2024/05/17/learn-bayesian-lr-from-imbalanced-data</id><content type="html" xml:base="https://kkew3.github.io/2024/05/17/learn-bayesian-lr-from-imbalanced-data.html"><h2 id="dataset">Dataset</h2> + +<p><img src="/assets/posts_imgs/2024-05-17/dataset.png" alt="toy 2d dataset" /></p> + +<p>Obviously, this is an imbalanced dataset. +A dumb classifier may assign “yellow” to all points and yield apparently satisfactory accuracy.</p> + +<h2 id="bayesian-logistic-regression">Bayesian Logistic regression</h2> + +<p>Denote the $k$-th component of the softmax of $\boldsymbol z$ as:</p> + +\[\mathcal S_k(\boldsymbol z) \triangleq \frac{\exp(z_k)}{\sum_{k'}\exp(z_{k'})}\,.\] + +<p>The likelihood is:</p> + +\[p(y=k \mid \boldsymbol x, \mathbf W, \boldsymbol b) = \mathcal S_k(\mathbf W \boldsymbol x + \boldsymbol b)\,,\] + +<p>where matrix $\mathbf W$ consists of $K$ weight vector $\boldsymbol w_k \in \mathbb R^d$, $\boldsymbol x \in \mathbb R^d$, and $\boldsymbol b \in \mathbb R^K$.</p> + +<p>For now, assign an uninformative Gaussian prior:</p> + +\[\forall k,\ \boldsymbol w_k \sim \mathcal N(0, \mathbf I)\,,\quad b_k \sim \mathcal N(0, 1)\,. +\tag{1}\] + +<p>The posterior (given the dataset $\mathcal D$) is:</p> + +\[p(\mathbf W, \boldsymbol b \mid \mathcal D) \propto \prod_{k=1}^K p(\boldsymbol w_k) p(b_k) \prod_{j=1}^m p(y_j \mid \boldsymbol x_j, \mathbf W, \boldsymbol b)\,. +\tag{2.1}\] + +<p>The predictive posterior is:</p> + +\[p(y \mid \boldsymbol x, \mathcal D) = \int p(y \mid \boldsymbol x, \mathbf W, \boldsymbol b) p(\mathbf W, \boldsymbol b \mid \mathcal D)\,\mathrm d \mathbf W \mathrm d \boldsymbol b\,. +\tag{2.2}\] + +<p>Although both (2.1) and (2.2) are intractable, we may find $q(\mathbf W, \boldsymbol b) \approx p(\mathbf W, \boldsymbol b \mid \mathcal D)$ by variational inference, and estimate the predictive posterior by Monte Carlo after plugging in $q$. +Since such procedure is out of scope, we won’t include details about it.</p> + +<p>Let’s see the decision boundary and the uncertainty (measured by entropy) of the Bayesian LR:</p> + +<p><img src="/assets/posts_imgs/2024-05-17/uninformative-db.png" alt="uninformative decision boundary" /></p> + +<p><img src="/assets/posts_imgs/2024-05-17/uninformative-unc.png" alt="uninformative uncertainty" /></p> + +<p>The model learns to be a dumb classifier!</p> + +<p>We may apply rescaling (a.k.a. threshold shifting) to the learned classifier, by dividing the predictive posterior by the class prior (i.e. the proportion of samples of class $k$ in all samples), and use it to make prediction. +The rescaled decision boundary and uncertainty are:</p> + +<p><img src="/assets/posts_imgs/2024-05-17/uninformative-rescaled-db.png" alt="uninformative rescaled decision boundary" /></p> + +<p><img src="/assets/posts_imgs/2024-05-17/uninformative-rescaled-unc.png" alt="uninformative rescaled uncertainty" /></p> + +<p>This benefits the minority class, but deteriorates the overall accuracy <em>a lot</em>.</p> + +<h2 id="strengthen-the-prior">Strengthen the prior</h2> + +<p>It turns out that if we strengthen the prior (by increasing its precision, or equivalently, decreasing its variance) of the intercepts in (1), things become much better. +The new prior is:</p> + +\[\forall k,\ b_k \sim \mathcal N(0, 10^{-6})\,. +\tag{3}\] + +<p>What we just encode into the prior reads:</p> + +<blockquote> + <p>I’m pretty sure that the two class weigh the same, despite the “purple” class appears inferior.</p> +</blockquote> + +<p>The result plots are:</p> + +<p><img src="/assets/posts_imgs/2024-05-17/precise-uninformative-db.png" alt="precise uninformative decision boundary" /></p> + +<p><img src="/assets/posts_imgs/2024-05-17/precise-uninformative-unc.png" alt="precise uninformative uncertainty" /></p> + +<h2 id="bias-the-prior">Bias the prior</h2> + +<p>What if we go further by biasing the classifier a little towards the minority class ($k=0$, “purple”)? +The new prior is:</p> + +\[b_0 \sim \mathcal N(2, 10^{-6})\,,\quad b_1 \sim \mathcal N(0, 10^{-6})\,. +\tag{4}\] + +<p>This prior reads:</p> + +<blockquote> + <p>I’m pretty sure there’re even a bit more “purple” class than “yellow” class a priori, despite they’re not sampled as much in the dataset.</p> +</blockquote> + +<p>The plots are now:</p> + +<p><img src="/assets/posts_imgs/2024-05-17/precise-biased-db.png" alt="precise biased decision boundary" /></p> + +<p><img src="/assets/posts_imgs/2024-05-17/precise-biased-unc.png" alt="precise biased uncertainty" /></p> + +<p>Pefect!</p> + +<h2 id="conclusion">Conclusion</h2> + +<p>In this post, we see that under Bayesian framework, Bayesian LR is able to naturally combat imbalanced dataset by adjusting its prior belief.</p> + +<p>This <a href="https://github.com/kkew3/bayeslr-imbalanced">codebase</a> generates all the figures in the post.</p> + +<h2 id="appendix">Appendix</h2> + +<p>Features and labels of the toy dataset.</p> + +<p>The features:</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>array([[-0.46601866, 1.18801609], + [ 0.53858625, 0.60716392], + [-0.97431137, 0.69753311], + [-1.09220402, 0.87799492], + [-2.03843356, 0.28665154], + [-0.34062009, 0.79352777], + [-1.16225216, 0.79350459], + [ 0.19419328, 1.60986703], + [ 0.41018415, 1.54828838], + [-0.61113336, 0.99020048], + [ 0.08837677, 0.95373644], + [-1.77183232, -0.12717568], + [-0.54560628, 1.07613052], + [-1.69901425, 0.55489764], + [-0.7449788 , 0.7519103 ], + [-1.84473763, 0.55248995], + [-0.50824943, 1.08964891], + [-1.35655196, 0.7102918 ], + [-0.71295569, 0.38030989], + [ 0.0582823 , 1.35158484], + [-2.74743505, -0.18849513], + [-2.36125827, -0.22542297], + [ 0.28512568, 1.52124326], + [-0.67059538, 0.61188467], + [-1.08310962, 0.57068698], + [-1.59421684, 0.32055693], + [-0.58608561, 0.98441983], + [ 0.91449962, 1.74231742], + [-1.78271812, 0.25676529], + [-0.30880495, 0.98633121], + [-0.80196522, 0.56542478], + [-1.64551419, 0.2527351 ], + [ 0.88404065, 1.80009243], + [ 0.07752252, 1.19103008], + [ 0.01499115, 1.35642701], + [-1.37772455, 0.58176578], + [-0.9893581 , 0.6000557 ], + [-0.20708577, 0.97773425], + [-0.97487675, 0.67788572], + [-0.84898247, 0.76214066], + [-2.87107864, 0.01823837], + [-1.52762479, 0.15224236], + [-1.19066619, 0.61716677], + [-0.78719074, 1.22733157], + [ 0.37887222, 1.38907542], + [-0.29892079, 1.20534091], + [-1.21904812, 0.45126808], + [-0.01954643, 1.00443244], + [-2.7534539 , -0.41174779], + [ 0.00290918, 1.19376387], + [-0.3465645 , 0.97372693], + [-0.38706669, 0.98612011], + [-0.3909804 , 1.1737113 ], + [ 0.67985963, 1.57038317], + [-1.5574845 , 0.38938231], + [-0.70276487, 0.84873314], + [-0.77152456, 1.24328845], + [-0.78685252, 0.71866813], + [-1.58251503, 0.47314274], + [-0.86990291, 1.01246542], + [-0.76296641, 1.03057172], + [-1.46908977, 0.50048994], + [ 0.41590518, 1.35808005], + [-0.23171796, 0.97466644], + [-0.35599838, 1.05651836], + [-1.86300113, 0.31105633], + [-1.06979785, 0.89343042], + [ 0.89051152, 1.36968058], + [-1.64250124, 0.5395521 ], + [ 0.19072792, 1.39594182], + [-0.68980859, 1.51412568], + [-0.66216014, 0.94064958], + [-1.98324693, 0.36500688], + [-1.77543305, 0.48759471], + [ 0.99143992, 1.53242166], + [-2.03402523, 0.27661546], + [-0.98138839, 0.86047666], + [ 0.86594322, 1.60352598], + [-1.25510995, 0.40788484], + [-1.28207069, 0.55164356], + [-0.50983219, 1.05505834], + [ 0.98003606, 0.56171673], + [-1.86097117, 0.44004685], + [-1.09945843, 0.63380337], + [-1.44294885, 0.18391039], + [-1.60512757, 0.25456073], + [ 0.5505329 , 1.63447114], + [-1.13622159, 0.87658095], + [-0.18029101, 0.98458234], + [-1.48031015, 0.3667454 ], + [ 0.94295697, 1.51965296], + [-1.94413955, 0.257857 ], + [-1.92812486, -0.15406208], + [-0.28437139, 0.8520255 ], + [-0.95551392, 0.28517945], + [-1.44252631, 0.5455637 ], + [-0.22064889, 1.33439538], + [-1.52749019, 0.50443876], + [ 0.757785 , 0.42124458], + [-0.49536512, 0.9627005 ]]) +</code></pre></div></div> + +<p>The labels:</p> + +<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>array([1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 1]) +</code></pre></div></div></content><author><name></name></author><category term="ml--bayes" /><summary type="html">Dataset</summary></entry><entry><title type="html">A simple numerical method to compute matrix inversion</title><link href="https://kkew3.github.io/2024/02/26/simple-numerical-matrix-inversion.html" rel="alternate" type="text/html" title="A simple numerical method to compute matrix inversion" /><published>2024-02-26T10:57:01+00:00</published><updated>2024-02-26T10:57:01+00:00</updated><id>https://kkew3.github.io/2024/02/26/simple-numerical-matrix-inversion</id><content type="html" xml:base="https://kkew3.github.io/2024/02/26/simple-numerical-matrix-inversion.html"><p>I need to do matrix inversion in C recently; so I did some research on how to implement it. +While the requirement later proves unnecessary, I want to jot down my efforts on this subject for future reference.</p> + +<p>(<a href="https://ntrs.nasa.gov/api/citations/19920002505/downloads/19920002505.pdf">Pan &amp; Schreiber, 1992</a>) proposed CUINV algorithm based on <a href="https://aalexan3.math.ncsu.edu/articles/mat-inv-rep.pdf">Newton’s iteration</a>. +It’s fast and simple to implement. +Here’s my verbatim reimplementation in Python, which is simple(?) (see TODO in comment) to translate to C.</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="n">np</span> + +<span class="k">def</span> <span class="nf">cuinv</span><span class="p">(</span><span class="n">A</span><span class="p">,</span> <span class="n">maxiter</span><span class="p">,</span> <span class="n">tol</span><span class="p">):</span> + <span class="n">n</span> <span class="o">=</span> <span class="n">A</span><span class="p">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> + <span class="n">I</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">eye</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> + <span class="n">s</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">linalg</span><span class="p">.</span><span class="n">svd</span><span class="p">(</span><span class="n">A</span><span class="p">,</span> <span class="n">compute_uv</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span> <span class="c1"># TODO: how to implement this? +</span> <span class="n">a0</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">/</span> <span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="nb">min</span><span class="p">(</span><span class="n">s</span><span class="p">)</span><span class="o">**</span><span class="mi">2</span> <span class="o">+</span> <span class="n">np</span><span class="p">.</span><span class="nb">max</span><span class="p">(</span><span class="n">s</span><span class="p">)</span><span class="o">**</span><span class="mi">2</span><span class="p">)</span> + <span class="n">X</span> <span class="o">=</span> <span class="n">a0</span> <span class="o">*</span> <span class="n">A</span><span class="p">.</span><span class="n">T</span> + <span class="n">X_prev</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">copy</span><span class="p">(</span><span class="n">X</span><span class="p">)</span> + <span class="n">T</span> <span class="o">=</span> <span class="n">X</span> <span class="o">@</span> <span class="n">A</span> + <span class="n">T2</span> <span class="o">=</span> <span class="bp">None</span> + <span class="n">t2_valid</span> <span class="o">=</span> <span class="bp">False</span> + <span class="n">diff</span> <span class="o">=</span> <span class="n">tol</span> <span class="o">+</span> <span class="mi">1</span> <span class="c1"># so that it runs at least one iteration +</span> + <span class="k">for</span> <span class="n">_</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">maxiter</span><span class="p">):</span> + <span class="k">if</span> <span class="n">diff</span> <span class="o">&lt;</span> <span class="n">tol</span><span class="p">:</span> + <span class="k">break</span> + <span class="n">X</span> <span class="o">=</span> <span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="n">I</span> <span class="o">-</span> <span class="n">T</span><span class="p">)</span> <span class="o">@</span> <span class="n">X</span> + <span class="k">if</span> <span class="n">t2_valid</span><span class="p">:</span> + <span class="n">T</span> <span class="o">=</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">T</span> <span class="o">-</span> <span class="n">T2</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">T</span> <span class="o">=</span> <span class="n">X</span> <span class="o">@</span> <span class="n">A</span> + <span class="n">t2_valid</span> <span class="o">=</span> <span class="bp">False</span> + <span class="k">if</span> <span class="n">np</span><span class="p">.</span><span class="n">trace</span><span class="p">(</span><span class="n">T</span><span class="p">)</span> <span class="o">&lt;</span> <span class="n">n</span> <span class="o">-</span> <span class="mf">0.5</span><span class="p">:</span> + <span class="n">T2</span> <span class="o">=</span> <span class="n">T</span> <span class="o">@</span> <span class="n">T</span> + <span class="n">delta</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">linalg</span><span class="p">.</span><span class="n">norm</span><span class="p">(</span><span class="n">T</span> <span class="o">-</span> <span class="n">T2</span><span class="p">,</span> <span class="nb">ord</span><span class="o">=</span><span class="s">'fro'</span><span class="p">)</span> + <span class="k">if</span> <span class="n">delta</span> <span class="o">&gt;=</span> <span class="mf">0.25</span><span class="p">:</span> + <span class="n">t2_valid</span> <span class="o">=</span> <span class="bp">True</span> + <span class="k">else</span><span class="p">:</span> + <span class="n">rho</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">-</span> <span class="n">np</span><span class="p">.</span><span class="n">sqrt</span><span class="p">(</span><span class="mf">0.25</span> <span class="o">-</span> <span class="n">delta</span><span class="p">)</span> + <span class="n">X</span> <span class="o">=</span> <span class="mi">1</span> <span class="o">/</span> <span class="n">rho</span> <span class="o">*</span> <span class="p">(</span><span class="n">T2</span> <span class="o">-</span> <span class="p">(</span><span class="mi">2</span> <span class="o">+</span> <span class="n">rho</span><span class="p">)</span> <span class="o">*</span> <span class="n">T</span> <span class="o">+</span> <span class="p">(</span><span class="mi">1</span> <span class="o">+</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">rho</span><span class="p">)</span> <span class="o">*</span> <span class="n">I</span><span class="p">)</span> <span class="o">@</span> <span class="n">X</span> + <span class="n">T</span> <span class="o">=</span> <span class="n">X</span> <span class="o">@</span> <span class="n">A</span> + <span class="n">diff</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">linalg</span><span class="p">.</span><span class="n">norm</span><span class="p">(</span><span class="n">X</span> <span class="o">-</span> <span class="n">X_prev</span><span class="p">,</span> <span class="nb">ord</span><span class="o">=</span><span class="s">'fro'</span><span class="p">)</span> + <span class="n">X_prev</span> <span class="o">=</span> <span class="n">X</span> + <span class="k">return</span> <span class="n">X</span> +</code></pre></div></div></content><author><name></name></author><category term="math--la" /><summary type="html">I need to do matrix inversion in C recently; so I did some research on how to implement it. While the requirement later proves unnecessary, I want to jot down my efforts on this subject for future reference.</summary></entry><entry><title type="html">Piecewise quadratic approximation of sigmoid(z) (1-sigmoid(z))</title><link href="https://kkew3.github.io/2024/02/11/quad-approximate-sigmoid-derivative.html" rel="alternate" type="text/html" title="Piecewise quadratic approximation of sigmoid(z) (1-sigmoid(z))" /><published>2024-02-11T08:52:41+00:00</published><updated>2024-02-11T08:52:41+00:00</updated><id>https://kkew3.github.io/2024/02/11/quad-approximate-sigmoid-derivative</id><content type="html" xml:base="https://kkew3.github.io/2024/02/11/quad-approximate-sigmoid-derivative.html"><p>This post shows an approach that approximates $\sigma(z)(1-\sigma(z))$ using piecewise quadratic function, where $\sigma(z)$ is defined to be $1/(1+\exp(-z))$, a.k.a. the sigmoid function.</p> + +<p>First, notice that $\sigma(z)(1-\sigma(z)) \approx \log(1+\exp(h - a z^2))$ for certain choice of $h$ and $a$:</p> + +<p><img src="/assets/posts_imgs/2024-02-11/dsigma-softplus.png" alt="softplus approximate dsigma" /></p> + +<p>Second, the approximator $\log(1+\exp(\cdot))$ is called a <a href="https://paperswithcode.com/method/softplus">softplus</a>. +So it’s natural to proceed: $\log(1+\exp(h - a z^2)) \approx \max(0, h - a z^2)$. +Our goal, then, is to choose the height parameter $h$ and width parameter $a$ such that $\sigma(z)(1-\sigma(z)) \approx \max(0, h - a z^2)$.</p> + +<p>The height parameter is straightforward to estimate. +We need only to match the max of $\sigma(z)(1-\sigma(z))$ to $h$. +Hence, $h := \sigma(0)(1-\sigma(0))$.</p> + +<p>Noticing that both the original function and the approximator are nonnegative, we may match up their integrals:</p> + +\[\int_{-\infty}^\infty \sigma(z)(1-\sigma(z))\,\mathrm d z = \int_{-\infty}^\infty \max(0, h - a z^2)\,\mathrm d z\] + +<p>where the left hand side is 1. +Plugging in the value of $h$, this equation solves to $a := \frac{16}{9}(\sigma(0)(1-\sigma(0)))^3$.</p> + +<p><img src="/assets/posts_imgs/2024-02-11/dsigma-maxquad.png" alt="max quad approximate dsigma" /></p></content><author><name></name></author><category term="math--approx" /><summary type="html">This post shows an approach that approximates $\sigma(z)(1-\sigma(z))$ using piecewise quadratic function, where $\sigma(z)$ is defined to be $1/(1+\exp(-z))$, a.k.a. the sigmoid function.</summary></entry><entry><title type="html">Host Python packages with Jekyll on GitHub Pages</title><link href="https://kkew3.github.io/2024/02/04/host-python-packages-jekyll-github-pages.html" rel="alternate" type="text/html" title="Host Python packages with Jekyll on GitHub Pages" /><published>2024-02-04T09:31:26+00:00</published><updated>2024-02-04T09:31:26+00:00</updated><id>https://kkew3.github.io/2024/02/04/host-python-packages-jekyll-github-pages</id><content type="html" xml:base="https://kkew3.github.io/2024/02/04/host-python-packages-jekyll-github-pages.html"><p>I have a collection of Python packages, either hosted locally or on GitHub, dedicated to my own use, and I don’t feel like uploading them to <a href="https://pypi.org/">PyPI</a>. +However, it soon becomes a pain when I need to install one of them to my virtual environment, since they all scatter about my disk, and I have to <code class="language-plaintext highlighter-rouge">cd</code> to the corresponding project directory and do <code class="language-plaintext highlighter-rouge">pip install .</code>. +It would be preferable to stay in my current repository, and do <code class="language-plaintext highlighter-rouge">pip install ...</code>. +If the package is already hosted on GitHub, like <a href="https://github.com/kkew3/alfred_fzf_helper">alfred_fzf_helper</a>, I may do <code class="language-plaintext highlighter-rouge">pip install git+https://github.com/kkew3/alfred_fzf_helper.git</code> directly. +This is not good enough, since I still need to memorize the URL, and it’s not convenient, if not impossible, to specify the version requirements.</p> + +<p>Luckily, hosting a private Python package repository is possible, and freely available with Jekyll and GitHub Pages. +Following <a href="https://packaging.python.org/en/latest/guides/hosting-your-own-index/">this guide</a>, after making a directory <code class="language-plaintext highlighter-rouge">pip</code> under the root of my site, I put my Python source distribution tarballs into it. +After some googling, I find that Jekyll does not support autoindexing out-of-the-box. +If I push the tarballs onto GitHub, <code class="language-plaintext highlighter-rouge">pip</code> won’t be able to find the source distributions.</p> + +<p>I will exploit the <code class="language-plaintext highlighter-rouge">--find-links</code> option of <code class="language-plaintext highlighter-rouge">pip install</code> instead. +What we need, then, is simply an HTML page that lists all the URLs to the tarballs hosted. +With simple Liquid, I loop over all static files under <code class="language-plaintext highlighter-rouge">pip</code> directory and list them in an unordered list:</p> + +<div class="language-liquid highlighter-rouge"><div class="highlight"><pre class="highlight"><code>--- +layout: default +--- + +&lt;h1&gt;Index of <span class="p">{{</span><span class="w"> </span><span class="nv">page</span><span class="p">.</span><span class="nv">path</span><span class="w"> </span><span class="p">}}</span>&lt;/h1&gt; +&lt;ul&gt; + <span class="p">{%</span><span class="w"> </span><span class="nt">assign</span><span class="w"> </span><span class="nv">pip_packages</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">site</span><span class="p">.</span><span class="nv">static_files</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="nf">where</span><span class="p">:</span><span class="w"> </span><span class="s2">"pip_package"</span><span class="p">,</span><span class="w"> </span><span class="kc">true</span><span class="w"> </span><span class="p">%}</span> + <span class="p">{%</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nv">item</span><span class="w"> </span><span class="nt">in</span><span class="w"> </span><span class="nv">pip_packages</span><span class="w"> </span><span class="p">%}</span> + &lt;li&gt;&lt;a href="<span class="p">{{</span><span class="w"> </span><span class="nv">site</span><span class="p">.</span><span class="nv">baseurl</span><span class="w"> </span><span class="p">}}{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">path</span><span class="w"> </span><span class="p">}}</span>"&gt;<span class="p">{{</span><span class="w"> </span><span class="nv">item</span><span class="p">.</span><span class="nv">path</span><span class="w"> </span><span class="p">}}</span>&lt;/a&gt;&lt;/li&gt; + <span class="p">{%</span><span class="w"> </span><span class="nt">endfor</span><span class="w"> </span><span class="p">%}</span> +&lt;/ul&gt; +</code></pre></div></div> + +<p>where <code class="language-plaintext highlighter-rouge">pip_package</code> is defined in <code class="language-plaintext highlighter-rouge">_config.yml</code> like this (see <a href="https://jekyllrb.com/docs/static-files/#add-front-matter-to-static-files">here</a> for more details):</p> + +<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="na">defaults</span><span class="pi">:</span> + <span class="pi">-</span> <span class="na">scope</span><span class="pi">:</span> + <span class="na">path</span><span class="pi">:</span> <span class="s2">"</span><span class="s">pip"</span> + <span class="na">values</span><span class="pi">:</span> + <span class="na">pip_package</span><span class="pi">:</span> <span class="no">true</span> +</code></pre></div></div> + +<p>Finally, I insert the following lines to <code class="language-plaintext highlighter-rouge">~/.config/pip/pip.conf</code>:</p> + +<div class="language-ini highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">[install]</span> +<span class="py">find-links</span> <span class="p">=</span> <span class="s">https://kkew3.github.io/pip</span> +</code></pre></div></div> + +<p>To check if it works, create a virtual environment (omitted below) and install one of the hosted package:</p> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip <span class="nb">install</span> <span class="s2">"alfred-fzf-helper&gt;=0.2"</span> +</code></pre></div></div> + +<p>It works!</p></content><author><name></name></author><category term="dev--python" /><summary type="html">I have a collection of Python packages, either hosted locally or on GitHub, dedicated to my own use, and I don’t feel like uploading them to PyPI. However, it soon becomes a pain when I need to install one of them to my virtual environment, since they all scatter about my disk, and I have to cd to the corresponding project directory and do pip install .. It would be preferable to stay in my current repository, and do pip install .... If the package is already hosted on GitHub, like alfred_fzf_helper, I may do pip install git+https://github.com/kkew3/alfred_fzf_helper.git directly. This is not good enough, since I still need to memorize the URL, and it’s not convenient, if not impossible, to specify the version requirements.</summary></entry><entry><title type="html">使用 matplotlib 制作用于 macOS 的渐变色桌面</title><link href="https://kkew3.github.io/2024/02/01/make-faded-color-wallpaper-for-mac.html" rel="alternate" type="text/html" title="使用 matplotlib 制作用于 macOS 的渐变色桌面" /><published>2024-02-01T03:22:51+00:00</published><updated>2024-02-01T03:22:51+00:00</updated><id>https://kkew3.github.io/2024/02/01/make-faded-color-wallpaper-for-mac</id><content type="html" xml:base="https://kkew3.github.io/2024/02/01/make-faded-color-wallpaper-for-mac.html"><p>最近我喜欢上了纯色桌面,显得干净整洁。然而我发现一个问题,就是 Dock 在一些颜色下会变得不容易辨识。经过实验,Dock 在黑色下显得最清楚,但是使用纯黑色作桌面我感觉不是很美观。我希望有一个渐变色桌面,其中大部分是我想要的某种颜色,然后从偏底部至底部渐变为黑色,从而使 Dock 更清楚。然而 macOS 并没有提供这样的桌面。于是我决定使用 Python 的 <a href="https://matplotlib.org/"><code class="language-plaintext highlighter-rouge">matplotlib</code></a> 自己画一个这样的桌面。</p> + +<p>思路是:</p> + +<ol> + <li>使用 <code class="language-plaintext highlighter-rouge">system_profiler SPDisplaysDataType | grep Resolution</code> 获取屏幕的像素上的长宽;</li> + <li>使用 <code class="language-plaintext highlighter-rouge">matplotlib.pyplot.cm.colors.LinearSegmentedColormap</code> 制作一个由我想要的颜色渐变为黑色的 colormap;</li> + <li>构造一个以第 1 步为长宽、以第 2 步为 colormap 的矩阵,使其颜色满足上述渐变色要求;</li> + <li>保存为图片。</li> +</ol> + +<p>主要问题出在第 4 步。我先去掉坐标轴,以为就没问题了,然而之后发现保存的图总是有一圈白色边框,怎么都去不掉(我尝试了<a href="https://stackoverflow.com/q/37809697/7881370">这个问题</a>下的若干评论)。最终我采用了<a href="https://stackoverflow.com/a/37812313/7881370">这个回答</a>的写法,虽然并不清楚原理 😅。总之问题就算解决了吧。</p> + +<p>完整代码如下:</p> + +<div class="language-python highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">#!/usr/bin/env python3 +</span><span class="kn">import</span> <span class="nn">argparse</span> +<span class="kn">from</span> <span class="nn">pathlib</span> <span class="kn">import</span> <span class="n">Path</span> +<span class="kn">import</span> <span class="nn">subprocess</span> +<span class="kn">import</span> <span class="nn">re</span> + +<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="n">np</span> +<span class="kn">import</span> <span class="nn">matplotlib</span> + +<span class="n">matplotlib</span><span class="p">.</span><span class="n">use</span><span class="p">(</span><span class="s">'Agg'</span><span class="p">)</span> +<span class="kn">from</span> <span class="nn">matplotlib</span> <span class="kn">import</span> <span class="n">pyplot</span> <span class="k">as</span> <span class="n">plt</span> + + +<span class="k">def</span> <span class="nf">generate_wallpaper</span><span class="p">(</span> + <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> + <span class="n">primary_color_rgb</span><span class="p">,</span> + <span class="n">start_fade_position</span><span class="p">:</span> <span class="nb">float</span><span class="p">,</span> + <span class="n">force_save</span><span class="p">:</span> <span class="nb">bool</span><span class="p">,</span> +<span class="p">):</span> + <span class="s">""" + Save faded color as wallpaper. + + :param name: the name to save + :param primary_color_rgb: the RGB 3-tuple of uint8 value range + :param start_fade_position: the position to start fading + :param force_save: ``True`` to overwrite existing files + """</span> + <span class="n">whs</span> <span class="o">=</span> <span class="p">[]</span> + + <span class="c1"># 第 1 步,获取屏幕长宽 +</span> <span class="n">proc</span> <span class="o">=</span> <span class="n">subprocess</span><span class="p">.</span><span class="n">run</span><span class="p">([</span><span class="s">'system_profiler'</span><span class="p">,</span> <span class="s">'SPDisplaysDataType'</span><span class="p">],</span> + <span class="n">text</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> + <span class="n">capture_output</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> + <span class="n">check</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span> + <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">re</span><span class="p">.</span><span class="n">findall</span><span class="p">(</span><span class="sa">r</span><span class="s">'(.*)\n'</span><span class="p">,</span> <span class="n">proc</span><span class="p">.</span><span class="n">stdout</span><span class="p">):</span> + <span class="n">m</span> <span class="o">=</span> <span class="n">re</span><span class="p">.</span><span class="n">search</span><span class="p">(</span><span class="sa">r</span><span class="s">'Resolution: (\d+) x (\d+)'</span><span class="p">,</span> <span class="n">line</span><span class="p">)</span> + <span class="k">if</span> <span class="n">m</span><span class="p">:</span> + <span class="n">whs</span><span class="p">.</span><span class="n">append</span><span class="p">((</span><span class="nb">int</span><span class="p">(</span><span class="n">m</span><span class="p">.</span><span class="n">group</span><span class="p">(</span><span class="mi">1</span><span class="p">)),</span> <span class="nb">int</span><span class="p">(</span><span class="n">m</span><span class="p">.</span><span class="n">group</span><span class="p">(</span><span class="mi">2</span><span class="p">))))</span> + + <span class="c1"># 第 2 步,构造渐变色 colormap +</span> <span class="n">colors</span> <span class="o">=</span> <span class="p">[</span><span class="n">np</span><span class="p">.</span><span class="n">asarray</span><span class="p">(</span><span class="n">primary_color_rgb</span><span class="p">)</span> <span class="o">/</span> <span class="mi">255</span><span class="p">,</span> <span class="n">np</span><span class="p">.</span><span class="n">zeros</span><span class="p">(</span><span class="mi">3</span><span class="p">)]</span> + <span class="n">cmap</span> <span class="o">=</span> <span class="n">plt</span><span class="p">.</span><span class="n">cm</span><span class="p">.</span><span class="n">colors</span><span class="p">.</span><span class="n">LinearSegmentedColormap</span><span class="p">.</span><span class="n">from_list</span><span class="p">(</span> + <span class="s">'colormap'</span><span class="p">,</span> <span class="n">colors</span><span class="p">,</span> <span class="n">N</span><span class="o">=</span><span class="mi">256</span><span class="p">)</span> + <span class="k">for</span> <span class="n">j</span><span class="p">,</span> <span class="p">(</span><span class="n">w</span><span class="p">,</span> <span class="n">h</span><span class="p">)</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">whs</span><span class="p">,</span> <span class="mi">1</span><span class="p">):</span> + <span class="c1"># 第 3 步,构造矩阵 +</span> <span class="n">image</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">zeros</span><span class="p">((</span><span class="n">h</span><span class="p">,</span> <span class="n">w</span><span class="p">))</span> + <span class="n">start</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">h</span> <span class="o">*</span> <span class="n">start_fade_position</span><span class="p">)</span> + <span class="n">steps</span> <span class="o">=</span> <span class="n">h</span> <span class="o">-</span> <span class="n">start</span> + <span class="c1"># 使用 linspace 构造渐变色 +</span> <span class="n">image</span><span class="p">[</span><span class="n">start</span><span class="p">:]</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">steps</span><span class="p">)[:,</span> <span class="n">np</span><span class="p">.</span><span class="n">newaxis</span><span class="p">]</span> + + <span class="c1"># 这里是不知道为什么能 work 的部分 +</span> <span class="n">sizes</span> <span class="o">=</span> <span class="n">image</span><span class="p">.</span><span class="n">shape</span><span class="p">[::</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> + <span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="p">.</span><span class="n">figure</span><span class="p">()</span> + <span class="n">fig</span><span class="p">.</span><span class="n">set_size_inches</span><span class="p">(</span><span class="mf">1.</span> <span class="o">*</span> <span class="n">sizes</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">/</span> <span class="n">sizes</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="mi">1</span><span class="p">,</span> <span class="n">forward</span> <span class="o">=</span> <span class="bp">False</span><span class="p">)</span> + <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="p">.</span><span class="n">Axes</span><span class="p">(</span><span class="n">fig</span><span class="p">,</span> <span class="p">[</span><span class="mf">0.</span><span class="p">,</span> <span class="mf">0.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">,</span> <span class="mf">1.</span><span class="p">])</span> + <span class="n">ax</span><span class="p">.</span><span class="n">set_axis_off</span><span class="p">()</span> + <span class="n">fig</span><span class="p">.</span><span class="n">add_axes</span><span class="p">(</span><span class="n">ax</span><span class="p">)</span> + <span class="n">ax</span><span class="p">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">image</span><span class="p">,</span> <span class="n">cmap</span><span class="o">=</span><span class="n">cmap</span><span class="p">,</span> <span class="n">aspect</span><span class="o">=</span><span class="s">'auto'</span><span class="p">)</span> + + <span class="c1"># 保存为图片 +</span> <span class="n">tofile</span> <span class="o">=</span> <span class="n">Path</span><span class="p">(</span><span class="sa">f</span><span class="s">'</span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s">_</span><span class="si">{</span><span class="n">j</span><span class="si">}</span><span class="s">.jpg'</span><span class="p">)</span> + <span class="k">if</span> <span class="ow">not</span> <span class="n">force_save</span> <span class="ow">and</span> <span class="n">tofile</span><span class="p">.</span><span class="n">exists</span><span class="p">():</span> + <span class="k">raise</span> <span class="nb">FileExistsError</span> + <span class="n">fig</span><span class="p">.</span><span class="n">savefig</span><span class="p">(</span><span class="n">tofile</span><span class="p">,</span> <span class="n">dpi</span><span class="o">=</span><span class="n">sizes</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> + <span class="n">plt</span><span class="p">.</span><span class="n">close</span><span class="p">(</span><span class="n">fig</span><span class="p">)</span> + + +<span class="c1"># 一些命令行参数 +</span><span class="k">def</span> <span class="nf">make_parser</span><span class="p">():</span> + <span class="n">parser</span> <span class="o">=</span> <span class="n">argparse</span><span class="p">.</span><span class="n">ArgumentParser</span><span class="p">(</span> + <span class="n">description</span><span class="o">=</span><span class="s">'Generate faded color wallpaper.'</span><span class="p">)</span> + <span class="n">parser</span><span class="p">.</span><span class="n">add_argument</span><span class="p">(</span> + <span class="s">'-n'</span><span class="p">,</span> <span class="s">'--name'</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s">'default to "wallpaper"'</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s">'wallpaper'</span><span class="p">)</span> + <span class="n">parser</span><span class="p">.</span><span class="n">add_argument</span><span class="p">(</span> + <span class="s">'-c'</span><span class="p">,</span> + <span class="s">'--color'</span><span class="p">,</span> + <span class="n">nargs</span><span class="o">=</span><span class="mi">3</span><span class="p">,</span> + <span class="n">metavar</span><span class="o">=</span><span class="p">(</span><span class="s">'R'</span><span class="p">,</span> <span class="s">'G'</span><span class="p">,</span> <span class="s">'B'</span><span class="p">),</span> + <span class="nb">type</span><span class="o">=</span><span class="nb">int</span><span class="p">,</span> + <span class="n">help</span><span class="o">=</span><span class="s">'default to black'</span><span class="p">,</span> + <span class="n">default</span><span class="o">=</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">])</span> + <span class="n">parser</span><span class="p">.</span><span class="n">add_argument</span><span class="p">(</span> + <span class="s">'-p'</span><span class="p">,</span> + <span class="s">'--fade-start-position'</span><span class="p">,</span> + <span class="nb">type</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span> + <span class="n">help</span><span class="o">=</span><span class="s">'default to 0.0'</span><span class="p">,</span> + <span class="n">default</span><span class="o">=</span><span class="mf">0.0</span><span class="p">)</span> + <span class="n">parser</span><span class="p">.</span><span class="n">add_argument</span><span class="p">(</span> + <span class="s">'-f'</span><span class="p">,</span> + <span class="s">'--force'</span><span class="p">,</span> + <span class="n">action</span><span class="o">=</span><span class="s">'store_true'</span><span class="p">,</span> + <span class="n">help</span><span class="o">=</span><span class="s">'force overwrite existing files'</span><span class="p">)</span> + <span class="k">return</span> <span class="n">parser</span> + + +<span class="k">def</span> <span class="nf">main</span><span class="p">():</span> + <span class="n">args</span> <span class="o">=</span> <span class="n">make_parser</span><span class="p">().</span><span class="n">parse_args</span><span class="p">()</span> + <span class="n">generate_wallpaper</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">name</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">color</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">fade_start_position</span><span class="p">,</span> + <span class="n">args</span><span class="p">.</span><span class="n">force</span><span class="p">)</span> + + +<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">'__main__'</span><span class="p">:</span> + <span class="n">main</span><span class="p">()</span> +</code></pre></div></div> + +<p>来跑一个试试:</p> + +<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># 以上代码保存为 wallpaper_gen.py</span> +python3 wallpaper_gen.py <span class="nt">-c</span> 0 54 9 <span class="nt">-p</span> 0.7 +</code></pre></div></div> + +<p>生成的图如下:</p> + +<p><img src="/assets/posts_imgs/2024-02-01/darkgreen.jpg" alt="darkgreen" /></p></content><author><name></name></author><category term="os--macos" /><category term="misc" /><category term="dev--python" /><summary type="html">最近我喜欢上了纯色桌面,显得干净整洁。然而我发现一个问题,就是 Dock 在一些颜色下会变得不容易辨识。经过实验,Dock 在黑色下显得最清楚,但是使用纯黑色作桌面我感觉不是很美观。我希望有一个渐变色桌面,其中大部分是我想要的某种颜色,然后从偏底部至底部渐变为黑色,从而使 Dock 更清楚。然而 macOS 并没有提供这样的桌面。于是我决定使用 Python 的 matplotlib 自己画一个这样的桌面。</summary></entry><entry><title type="html">An attempt to build fully differentiable alternative of (non-negative) matching pursuit algorithm for solving L0-sparsity dictionary learning</title><link href="https://kkew3.github.io/2024/01/26/attempt-fully-differentiable-nnomp-alternative.html" rel="alternate" type="text/html" title="An attempt to build fully differentiable alternative of (non-negative) matching pursuit algorithm for solving L0-sparsity dictionary learning" /><published>2024-01-26T04:14:34+00:00</published><updated>2024-01-26T04:14:34+00:00</updated><id>https://kkew3.github.io/2024/01/26/attempt-fully-differentiable-nnomp-alternative</id><content type="html" xml:base="https://kkew3.github.io/2024/01/26/attempt-fully-differentiable-nnomp-alternative.html"><h2 id="introduction">Introduction</h2> + +<p>In sparse dictionary learning, sparse coding and dictionary update are solved in an alternating manner (<a href="https://www.khoury.northeastern.edu/home/eelhami/courses/EE290A/K-SVD_Elad.pdf">Aharon et al., 2006</a>). +In sparse coding stage, the following problem is solved given the dictionary $\mathbf D \in \mathbb R^{d \times n}$ and signals $y_j \in \mathbb R^d$:</p> + +\[\min_{x_j}\ \|y_j-\mathbf D x_j\|_2^2 \quad \text{s.t. } \|x\|_0 \le K\,,\tag{1}\] + +<p>where $K$ is the sparsity. +Sometimes, there’s an additional constraint $x_j \succeq 0$ if non-negative sparse coding is required. +Since $L_0$ constraint is intractable to optimize exactly, either approximate greedy algorithm like (non-negative) orthogonal matching pursuit (<a href="https://dspace.mit.edu/bitstream/handle/1721.1/72024/Wang_Orthogonal%20Matching.pdf">Cai &amp; Wang, 2011</a>; <a href="https://ieeexplore.ieee.org/abstract/document/7012095">Yaghoobi et al., 2015</a>; <a href="https://hal.science/hal-02049424/file/paper1_hal.pdf">Nguyen et al., 2019</a>), or relaxation of $L_0$ to $L_1$ sparsity as (non-negative) basis pursuit (<a href="http://redwood.psych.cornell.edu/discussion/papers/chen_donoho_BP_intro.pdf">Chen &amp; Donoho, 1994</a>; <a href="https://dl.acm.org/doi/abs/10.5555/3104322.3104374">Gregor &amp; LeCun, 2010</a>; <a href="https://mayhhu.github.io/ch/pdf/2018_L1-NNSO-Optim_ZHYW.pdf">Zhang et al., 2018</a>; <a href="https://arxiv.org/pdf/2106.00058">Tolooshams &amp; Ba, 2022</a>) are regarded as idiomatic solutions.</p> + +<h2 id="proposed-method">Proposed method</h2> + +<p>(<a href="https://arxiv.org/pdf/1712.01312.pdf">Louizos et al., 2018</a>) suggests a novel approach to handle the intractability of $L_0$ constraint. +Instead of tackling the $L_0$ constraint directly, the authors address the expectation of the $L_0$ norms by introducing Bernoulli random variables. +In the parlance of the sparse coding problem (1),</p> + +\[\min_{x_j,\pi_j}\ \mathbb E_{q(z_j \mid \pi_j)}\left[\|y_j - \mathbf D (x_j' \odot z_j)\|_2^2\right] \quad \text{s.t. } \mathbf 1^\top \pi_j \le K\,,\tag{2}\] + +<p>where $x_j$ has been reparameterized as $x_j’ \odot z_j$, and for each $i$, $z_{ji} \sim \mathrm{Bernoulli}(\pi_{ji})$, $x_{ji}’ \in \mathbb R$, the symbol $\odot$ denotes elementwise product. +Note that Equation (2.1) can be trivially extend to non-negative sparse coding case by reparameterization $x_j := \exp(x_j’) \odot z_j$ or $x_j := \mathrm{softplus}(x_j’) \odot z_j$, where $\mathrm{softplus}(\cdot) = \log(1 + \exp(\cdot))$. +(<a href="https://arxiv.org/pdf/1712.01312.pdf">Louizos et al., 2018</a>) further introduces a smoother on the discrete random variable $z_j$ to allow for reparameterization trick (<a href="https://arxiv.org/abs/1312.6114">Kingma &amp; Welling, 2014</a>; <a href="http://proceedings.mlr.press/v32/rezende14.pdf">Rezende et al., 2014</a>), and the expectation in Equation (2) can be estimated by Monte Carlo sampling.</p> + +<p>To solve the constrained minimization in Equation (2), it’s natural to proceed using Lagrangian multiplier and optimize under bound constraint only:</p> + +\[\min_{x_j,\pi_j}\max_{\lambda_j \ge 0}\ \mathbb E_{q(z_j \mid \pi_j)}\left[\|y_j - \mathbf D (x_j' \odot z_j)\|_2^2\right] + \lambda_j(\mathbf 1^\top \pi_j - K)\,.\tag{3}\] + +<p>On the one hand, one may optimize $x_j,\pi_j,\lambda_j$ jointly via gradient descent. +However, it’s worthy noting that one must perform gradient <em>ascent</em> on $\lambda_j$, which can be achieved by negating its gradient before the descent step. +On the other hand, <a href="https://www.stat.cmu.edu/~ryantibs/convexopt-F18/lectures/dual-ascent.pdf">dual gradient ascent</a> can be adopted. +Here, given fixed $\lambda_j$, the objective (3) is minimized till a critical point; then given fixed $x_j$ and $\pi_j$, $\lambda_j$ is updated with one-step gradient ascent; finally, iterate.</p> + +<p>In practice, potentially a great number of signals are required to be sparse coded given the dictionary:</p> + +\[\min_{\boldsymbol x,\boldsymbol\pi}\max_{\boldsymbol\lambda \succeq 0}\ \sum_{j=1}^m \left\{\mathbb E_{q(z_j \mid \pi_j)}\left[\|y_j - \mathbf D (x_j' \odot z_j)\|_2^2\right] + \lambda_j(\mathbf 1^\top \pi_j - K)\right\}\,.\tag{4}\] + +<p>It’s not uncommon that all the variables to optimize, especially $\{x_j,\pi_j\}_{j=1}^m$, are unable to fit into memory, thus failing to run gradient descent. +Notice that for each $j$, the optimal solution $(x_j^\ast,\pi_j^\ast)$ are related to $(y_j,\lambda_j)$; that is, $x_j^\ast = x(y_j,\lambda_j)$, $\pi_j^\ast = \pi(y_j,\lambda_j)$. +Therefore, I propose to perform amortized inference: to use a neural network $f$ parameterized by $\boldsymbol\phi$ that takes as input $(y_j,\lambda_j)$ to predict $x_j$ and $\pi_j$. +I found the use of ReLU activation in such network promotes training the most. +The objective (4) now becomes:</p> + +\[\min_{\boldsymbol\phi} \max_{\boldsymbol\lambda \succeq 0}\ \sum_{j=1}^m \left\{\mathbb E_{q(z_j \mid \boldsymbol\phi)} \left[\|y_j - \mathbf D (f_x(y_j,\lambda_j;\boldsymbol\phi) \odot z_j)\|_2^2\right] + \lambda_j (\mathbf 1^\top f_\pi(y_j,\lambda_j;\boldsymbol\phi) - K)\right\}\,.\tag{5}\] + +<p>With dictionary learning, the dictionary need to be learned. +Using the objective (5), I found it preferable to optimize using the procedure below:</p> + +<ol> + <li>Given $\boldsymbol\lambda$, <strong>reinitialize</strong> $\boldsymbol\phi$, and jointly learn $\boldsymbol\phi$ and $\mathbf D$ until stationary point.</li> + <li>Given $\boldsymbol\phi$ and $\mathbf D$, perform one-step gradient ascent on $\boldsymbol\lambda$.</li> + <li>Iterate.</li> +</ol> + +<p>I found the reinitialization step on the amortized network critically important. +Without it, the network tends to predict all-zero and eventually learns nothing. +However, the dictionary needs to be initialized only at the very beginning.</p> + +<h2 id="experiments">Experiments</h2> + +<p>For dictionary learning without non-negativity constraint on sparse coding, I compared against (<a href="https://csaws.cs.technion.ac.il/~ronrubin/Publications/KSVD-OMP-v2.pdf">Rubinstein et al., 2008</a>) in image denoising. +My proposed fully differentiable solution converges slower and denoises poorer than K-SVD supported by batch OMP.</p> + +<p>For dictionary learning <em>with</em> non-negative constraint on sparse coding, I compare against (<a href="https://hal.science/hal-02049424/file/paper1_hal.pdf">Nguyen et al., 2019</a>) in exploration of atoms of discourse, which is known to admit a non-negative sparse coding form (<a href="https://arxiv.org/abs/1601.03764">Arora et al., 2018</a>). +While being faster, my proposed method still performs worse than non-negative OMP, in that the learned dictionary atoms are mostly not atoms of discourse.</p> + +<p>Hence, this is the main reason why I record my attempt here in a post rather than write a paper. +Perhaps, the proposed method is promising, but it’s not well-prepared yet.</p></content><author><name></name></author><category term="ml--dict" /><summary type="html">Introduction</summary></entry></feed> \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 000000000..4d8fd4782 --- /dev/null +++ b/index.html @@ -0,0 +1,483 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Kaiwen’s personal website | My blogs and research reports.</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Kaiwen’s personal website"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/"> +<meta property="og:url" content="https://kkew3.github.io/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Kaiwen’s personal website"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebSite","description":"My blogs and research reports.","headline":"Kaiwen’s personal website","name":"Kaiwen’s personal website","url":"https://kkew3.github.io/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="home"> +<h2 class="post-list-heading">Posts</h2> + <ul class="post-list"> +<li> +<span class="post-meta">Aug 9, 2024 at 11:00:44</span> + <h3> + <a class="post-link" href="/2024/08/09/gamma-in-bn-vae.html"> + Effect of gamma in BN-VAE + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/ml--bayes"><code class="highlighter-rouge"><nobr>machine learning/bayesian</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Aug 9, 2024 at 09:03:39</span> + <h3> + <a class="post-link" href="/2024/08/09/lower-bound-of-kl-divergence-between-any-density-and-gaussian.html"> + Lower bound of KL divergence between any density and Gaussian + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/math--prob"><code class="highlighter-rouge"><nobr>math/probability</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Jul 6, 2024 at 01:51:59</span> + <h3> + <a class="post-link" href="/2024/07/06/compute-accuracy-from-f1-score.html"> + Compute accuracy from F1 score + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/ml"><code class="highlighter-rouge"><nobr>machine learning</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Jun 13, 2024 at 14:46:53</span> + <h3> + <a class="post-link" href="/2024/06/13/leverage-ollama-in-iterm2-ai-integration.html"> + Leverage Ollama in iTerm2 AI integration + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/os--macos"><code class="highlighter-rouge"><nobr>os/macOS</nobr></code></a></span> +</li> +<li> +<span class="post-meta">May 17, 2024 at 03:21:31</span> + <h3> + <a class="post-link" href="/2024/05/17/learn-bayesian-lr-from-imbalanced-data.html"> + Learn Bayesian Logistic regression from imbalanced data + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/ml--bayes"><code class="highlighter-rouge"><nobr>machine learning/bayesian</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Feb 26, 2024 at 10:57:01</span> + <h3> + <a class="post-link" href="/2024/02/26/simple-numerical-matrix-inversion.html"> + A simple numerical method to compute matrix inversion + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/math--la"><code class="highlighter-rouge"><nobr>math/linear algebra</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Feb 11, 2024 at 08:52:41</span> + <h3> + <a class="post-link" href="/2024/02/11/quad-approximate-sigmoid-derivative.html"> + Piecewise quadratic approximation of sigmoid(z) (1-sigmoid(z)) + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/math--approx"><code class="highlighter-rouge"><nobr>math/approximation</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Feb 4, 2024 at 09:31:26</span> + <h3> + <a class="post-link" href="/2024/02/04/host-python-packages-jekyll-github-pages.html"> + Host Python packages with Jekyll on GitHub Pages + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Feb 1, 2024 at 03:22:51</span> + <h3> + <a class="post-link" href="/2024/02/01/make-faded-color-wallpaper-for-mac.html"> + 使用 matplotlib 制作用于 macOS 的渐变色桌面 + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/os--macos"><code class="highlighter-rouge"><nobr>os/macOS</nobr></code></a> | <a href="https://kkew3.github.io/tags/misc"><code class="highlighter-rouge"><nobr>misc</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Jan 26, 2024 at 04:14:34</span> + <h3> + <a class="post-link" href="/2024/01/26/attempt-fully-differentiable-nnomp-alternative.html"> + An attempt to build fully differentiable alternative of (non-negative) matching pursuit algorithm for solving L0-sparsity dictionary learning + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/ml--dict"><code class="highlighter-rouge"><nobr>machine learning/dictionary learning</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Jan 5, 2024 at 09:04:32</span> + <h3> + <a class="post-link" href="/2024/01/05/type-assertion-numba-trick.html"> + Assert variable types in numba + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Nov 28, 2023 at 11:55:37</span> + <h3> + <a class="post-link" href="/2023/11/28/toss-coin.html"> + Estimate the head probability of a coin + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/math--prob"><code class="highlighter-rouge"><nobr>math/probability</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Nov 3, 2023 at 08:03:17</span> + <h3> + <a class="post-link" href="/2023/11/03/map-estimation-cov-gmm.html"> + Maximum a posteriori estimation of the covariance in Gaussian Mixture models + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/math--prob"><code class="highlighter-rouge"><nobr>math/probability</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Oct 6, 2023 at 08:43:30</span> + <h3> + <a class="post-link" href="/2023/10/06/dimensionality-reduction-by-svd.html"> + Dimensionality reduction by SVD + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/math--la"><code class="highlighter-rouge"><nobr>math/linear algebra</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Oct 4, 2023 at 07:36:32</span> + <h3> + <a class="post-link" href="/2023/10/04/estimate-expectation-of-function-of-random-variable.html"> + Estimate the expectation of the function of a random variable + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/math--prob"><code class="highlighter-rouge"><nobr>math/probability</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Sep 24, 2023 at 08:54:32</span> + <h3> + <a class="post-link" href="/2023/09/24/verify-permutation-equivalence-of-multihead-attention-in-pytorch.html"> + Verify permutation equivalence of Multi-Head Attention in PyTorch + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--pytorch"><code class="highlighter-rouge"><nobr>dev/pytorch</nobr></code></a> | <a href="https://kkew3.github.io/tags/ml"><code class="highlighter-rouge"><nobr>machine learning</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Sep 10, 2023 at 08:49:00</span> + <h3> + <a class="post-link" href="/2023/09/10/make-use-of-openmp-via-cython-on-mac.html"> + Make use of openmp via cython on macOS + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--cython"><code class="highlighter-rouge"><nobr>dev/cython</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Aug 5, 2023 at 10:54:12</span> + <h3> + <a class="post-link" href="/2023/08/05/dual-of-dual-of-qp.html"> + The dual of the dual of a QP is itself + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/math--la"><code class="highlighter-rouge"><nobr>math/linear algebra</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Aug 5, 2023 at 08:08:26</span> + <h3> + <a class="post-link" href="/2023/08/05/compute-svm-intercept.html"> + How to compute the intercept of C-SVM in primal and dual formulations + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/ml--svm"><code class="highlighter-rouge"><nobr>machine learning/svm</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Jul 5, 2023 at 07:57:59</span> + <h3> + <a class="post-link" href="/2023/07/05/connect-to-jupyter-notebook-on-wsl2-from-another-machine-within-wlan.html"> + 在 WLAN 下从另一台计算机连接到 WSL2 中的 Jupyter Notebook + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--network"><code class="highlighter-rouge"><nobr>dev/network</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Jul 5, 2023 at 04:59:03</span> + <h3> + <a class="post-link" href="/2023/07/05/connect-to-wsl2-from-another-machine-within-wlan.html"> + 从另一台计算机 SSH 连接到 WSL2 服务器 + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--network"><code class="highlighter-rouge"><nobr>dev/network</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Apr 26, 2023 at 10:12:07</span> + <h3> + <a class="post-link" href="/2023/04/26/how-to-decide-the-type-of-a-pokemon-quickly.html"> + 如何尽可能快地确定宝可梦属性 + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/misc"><code class="highlighter-rouge"><nobr>misc</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Mar 27, 2023 at 06:26:05</span> + <h3> + <a class="post-link" href="/2023/03/27/pizzahut-free-soda.html"> + 必胜客餐厅隐藏福利 -- 苏打水 + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/misc"><code class="highlighter-rouge"><nobr>misc</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Mar 5, 2023 at 07:54:00</span> + <h3> + <a class="post-link" href="/2023/03/05/learn-applescript-for-beginners.html"> + Learn Applescript for Beginners + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--applescript"><code class="highlighter-rouge"><nobr>dev/applescript</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Aug 31, 2022 at 11:48:35</span> + <h3> + <a class="post-link" href="/2022/08/31/vae-training-trick.html"> + Variational Autoencoder training trick + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/ml"><code class="highlighter-rouge"><nobr>machine learning</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Aug 9, 2022 at 08:24:19</span> + <h3> + <a class="post-link" href="/2022/08/09/notes-build-cython-using-setup-dot-py.html"> + Notes on building Cython using setup.py + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--cython"><code class="highlighter-rouge"><nobr>dev/cython</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Jul 24, 2022 at 10:20:49</span> + <h3> + <a class="post-link" href="/2022/07/24/set-up-github-pages-macos.html"> + Set up GitHub Pages on macOS + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/misc"><code class="highlighter-rouge"><nobr>misc</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Jul 24, 2022 at 04:20:10</span> + <h3> + <a class="post-link" href="/2022/07/24/read-hdf5-from-cpp.html"> + Read HDF5 file from C++ + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--cpp"><code class="highlighter-rouge"><nobr>dev/c++</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Jun 2, 2022 at 08:55:34</span> + <h3> + <a class="post-link" href="/2022/06/02/pass-dynamic-array-between-cpp-and-python.html"> + 使用Cython在Python和C++间互传大小事先未知的numpy数组 + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--cpp"><code class="highlighter-rouge"><nobr>dev/c++</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--cython"><code class="highlighter-rouge"><nobr>dev/cython</nobr></code></a></span> +</li> +<li> +<span class="post-meta">May 26, 2022 at 14:19:31</span> + <h3> + <a class="post-link" href="/2022/05/26/develop-python-cpp-extension-using-cython.html"> + 使用Cython为Python开发C++扩展 + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--cpp"><code class="highlighter-rouge"><nobr>dev/c++</nobr></code></a></span> +</li> +<li> +<span class="post-meta">May 24, 2022 at 12:09:10</span> + <h3> + <a class="post-link" href="/2022/05/24/sync-music-from-mac-to-ipad-without-itunes.html"> + 如何不通过iTunes将Mac上的音乐同步到iPad + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/os--ios"><code class="highlighter-rouge"><nobr>os/ios</nobr></code></a> | <a href="https://kkew3.github.io/tags/os--macos"><code class="highlighter-rouge"><nobr>os/macOS</nobr></code></a></span> +</li> +<li> +<span class="post-meta">May 18, 2022 at 15:02:51</span> + <h3> + <a class="post-link" href="/2022/05/18/python-cannot-import-name-sysconfig-from-distutils.html"> + python cannot import name 'sysconfig' from 'distutils' + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a> | <a href="https://kkew3.github.io/tags/os--ubuntu"><code class="highlighter-rouge"><nobr>os/ubuntu</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Feb 17, 2022 at 11:07:47</span> + <h3> + <a class="post-link" href="/2022/02/17/python-tox-usage-note.html"> + Python Tox 使用笔记 + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Feb 13, 2022 at 14:25:18</span> + <h3> + <a class="post-link" href="/2022/02/13/list-imported-python-modules-using-ast.html"> + 使用抽象语法树ast统计哪些Python包与模块被导入了 + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Feb 11, 2022 at 06:27:19</span> + <h3> + <a class="post-link" href="/2022/02/11/python-align-strings-in-en-and-zh.html"> + 如何在Python中对齐中英文混排字符串 + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Feb 5, 2022 at 10:49:30</span> + <h3> + <a class="post-link" href="/2022/02/05/align-strings-in-en-and-zh-like-bsd-ls.html"> + 像BSD ls 一样中英文混排字符串(Python3) + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> +</li> +<li> +<span class="post-meta">May 22, 2020 at 18:24:21</span> + <h3> + <a class="post-link" href="/2020/05/22/pytorch-crop-images-differentially.html"> + PyTorch crop images differentially + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--pytorch"><code class="highlighter-rouge"><nobr>dev/pytorch</nobr></code></a> | <a href="https://kkew3.github.io/tags/math--la"><code class="highlighter-rouge"><nobr>math/linear algebra</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Jul 20, 2017 at 09:50:56</span> + <h3> + <a class="post-link" href="/2017/07/20/matlab-r2011b-neural-network-toolbox-note.html"> + MATLAB R2011b 神经网络工具箱注意事项 + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--matlab"><code class="highlighter-rouge"><nobr>dev/matlab</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Apr 23, 2017 at 16:29:35</span> + <h3> + <a class="post-link" href="/2017/04/23/relation-between-truncated-distribution-and-original-distribution.html"> + 被截短的随机分布与原分布的关系 + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/math--prob"><code class="highlighter-rouge"><nobr>math/probability</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Dec 27, 2016 at 07:23:04</span> + <h3> + <a class="post-link" href="/2016/12/27/apache-ant-extension-tutorial.html"> + Apache Ant 扩展教程 + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--java"><code class="highlighter-rouge"><nobr>dev/java</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Sep 2, 2016 at 16:26:30</span> + <h3> + <a class="post-link" href="/2016/09/02/validate-xml-via-dtd-using-java.html"> + 使用Java API通过DTD方式验证XML + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--java"><code class="highlighter-rouge"><nobr>dev/java</nobr></code></a></span> +</li> +<li> +<span class="post-meta">May 1, 2016 at 02:11:59</span> + <h3> + <a class="post-link" href="/2016/05/01/banker-algorithm-termination-condition-proof.html"> + 银行家算法结束条件的合理性证明 + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/algorithm"><code class="highlighter-rouge"><nobr>algorithm</nobr></code></a></span> +</li> +<li> +<span class="post-meta">Mar 25, 2016 at 15:33:31</span> + <h3> + <a class="post-link" href="/2016/03/25/manage-vxworks-tornado-executable-project-using-tcl.html"> + 用TCL(工具命令语言)管理Tornado (for VxWorks) 可启动工程 + </a> + </h3> + <span><a href="https://kkew3.github.io/tags/dev--tcl"><code class="highlighter-rouge"><nobr>dev/tcl</nobr></code></a></span> +</li> +</ul> + + <p class="rss-subscribe">subscribe <a href="/feed.xml">via RSS</a></p> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/pip/alfred-fzf-helper/alfred-fzf-helper-0.2.0.tar.gz b/pip/alfred-fzf-helper/alfred-fzf-helper-0.2.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..ef83f7722ab35308791777d0045d939f797defc7 GIT binary patch literal 2605 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 Put)eG>H;u{0C)fZ$ICF! literal 0 HcmV?d00001 diff --git a/pip/index.html b/pip/index.html new file mode 100644 index 000000000..1fd515ec2 --- /dev/null +++ b/pip/index.html @@ -0,0 +1,96 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Kaiwen’s personal website | My blogs and research reports.</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Kaiwen’s personal website"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/pip/"> +<meta property="og:url" content="https://kkew3.github.io/pip/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Kaiwen’s personal website"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Kaiwen’s personal website","url":"https://kkew3.github.io/pip/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <h1>Index of pip/index.html</h1> +<ul> + + + <li><a href="/pip/alfred-fzf-helper/alfred-fzf-helper-0.2.0.tar.gz">/pip/alfred-fzf-helper/alfred-fzf-helper-0.2.0.tar.gz</a></li> + +</ul> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/robots.txt b/robots.txt new file mode 100644 index 000000000..c60155e87 --- /dev/null +++ b/robots.txt @@ -0,0 +1 @@ +Sitemap: https://kkew3.github.io/sitemap.xml diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 000000000..3eb4dbf7c --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,199 @@ +<?xml version="1.0" encoding="UTF-8"?> +<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> +<url> +<loc>https://kkew3.github.io/2016/03/25/manage-vxworks-tornado-executable-project-using-tcl.html</loc> +<lastmod>2016-03-25T15:33:31+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2016/05/01/banker-algorithm-termination-condition-proof.html</loc> +<lastmod>2016-05-01T02:11:59+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2016/09/02/validate-xml-via-dtd-using-java.html</loc> +<lastmod>2016-09-02T16:26:30+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2016/12/27/apache-ant-extension-tutorial.html</loc> +<lastmod>2016-12-27T07:23:04+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2017/04/23/relation-between-truncated-distribution-and-original-distribution.html</loc> +<lastmod>2017-04-23T16:29:35+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2017/07/20/matlab-r2011b-neural-network-toolbox-note.html</loc> +<lastmod>2017-07-20T09:50:56+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2020/05/22/pytorch-crop-images-differentially.html</loc> +<lastmod>2020-05-22T18:24:21+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2022/02/05/align-strings-in-en-and-zh-like-bsd-ls.html</loc> +<lastmod>2022-02-05T10:49:30+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2022/02/11/python-align-strings-in-en-and-zh.html</loc> +<lastmod>2022-02-11T06:27:19+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2022/02/13/list-imported-python-modules-using-ast.html</loc> +<lastmod>2022-02-13T14:25:18+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2022/02/17/python-tox-usage-note.html</loc> +<lastmod>2022-02-17T11:07:47+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2022/05/18/python-cannot-import-name-sysconfig-from-distutils.html</loc> +<lastmod>2022-05-18T15:02:51+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2022/05/24/sync-music-from-mac-to-ipad-without-itunes.html</loc> +<lastmod>2022-05-24T12:09:10+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2022/05/26/develop-python-cpp-extension-using-cython.html</loc> +<lastmod>2022-05-26T14:19:31+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2022/06/02/pass-dynamic-array-between-cpp-and-python.html</loc> +<lastmod>2022-06-02T08:55:34+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2022/07/24/read-hdf5-from-cpp.html</loc> +<lastmod>2022-07-24T04:20:10+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2022/07/24/set-up-github-pages-macos.html</loc> +<lastmod>2022-07-24T10:20:49+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2022/08/09/notes-build-cython-using-setup-dot-py.html</loc> +<lastmod>2022-08-09T08:24:19+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2022/08/31/vae-training-trick.html</loc> +<lastmod>2022-08-31T11:48:35+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2023/03/05/learn-applescript-for-beginners.html</loc> +<lastmod>2023-03-05T07:54:00+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2023/03/27/pizzahut-free-soda.html</loc> +<lastmod>2023-03-27T06:26:05+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2023/04/26/how-to-decide-the-type-of-a-pokemon-quickly.html</loc> +<lastmod>2023-04-26T10:12:07+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2023/07/05/connect-to-wsl2-from-another-machine-within-wlan.html</loc> +<lastmod>2023-07-05T04:59:03+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2023/07/05/connect-to-jupyter-notebook-on-wsl2-from-another-machine-within-wlan.html</loc> +<lastmod>2023-07-05T07:57:59+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2023/08/05/compute-svm-intercept.html</loc> +<lastmod>2023-08-05T08:08:26+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2023/08/05/dual-of-dual-of-qp.html</loc> +<lastmod>2023-08-05T10:54:12+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2023/09/10/make-use-of-openmp-via-cython-on-mac.html</loc> +<lastmod>2023-09-10T08:49:00+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2023/09/24/verify-permutation-equivalence-of-multihead-attention-in-pytorch.html</loc> +<lastmod>2023-09-24T08:54:32+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2023/10/04/estimate-expectation-of-function-of-random-variable.html</loc> +<lastmod>2023-10-04T07:36:32+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2023/10/06/dimensionality-reduction-by-svd.html</loc> +<lastmod>2023-10-06T08:43:30+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2023/11/03/map-estimation-cov-gmm.html</loc> +<lastmod>2023-11-03T08:03:17+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2023/11/28/toss-coin.html</loc> +<lastmod>2023-11-28T11:55:37+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2024/01/05/type-assertion-numba-trick.html</loc> +<lastmod>2024-01-05T09:04:32+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2024/01/26/attempt-fully-differentiable-nnomp-alternative.html</loc> +<lastmod>2024-01-26T04:14:34+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2024/02/01/make-faded-color-wallpaper-for-mac.html</loc> +<lastmod>2024-02-01T03:22:51+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2024/02/04/host-python-packages-jekyll-github-pages.html</loc> +<lastmod>2024-02-04T09:31:26+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2024/02/11/quad-approximate-sigmoid-derivative.html</loc> +<lastmod>2024-02-11T08:52:41+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2024/02/26/simple-numerical-matrix-inversion.html</loc> +<lastmod>2024-02-26T10:57:01+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2024/05/17/learn-bayesian-lr-from-imbalanced-data.html</loc> +<lastmod>2024-05-17T03:21:31+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2024/06/13/leverage-ollama-in-iterm2-ai-integration.html</loc> +<lastmod>2024-06-13T14:46:53+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2024/07/06/compute-accuracy-from-f1-score.html</loc> +<lastmod>2024-07-06T01:51:59+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2024/08/09/lower-bound-of-kl-divergence-between-any-density-and-gaussian.html</loc> +<lastmod>2024-08-09T09:03:39+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/2024/08/09/gamma-in-bn-vae.html</loc> +<lastmod>2024-08-09T11:00:44+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/about/</loc> +</url> +<url> +<loc>https://kkew3.github.io/docs/</loc> +</url> +<url> +<loc>https://kkew3.github.io/pip/</loc> +</url> +<url> +<loc>https://kkew3.github.io/</loc> +</url> +<url> +<loc>https://kkew3.github.io/assets/spare-time-research/chem-eq-balance.pdf</loc> +<lastmod>2024-08-12T21:15:02+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/assets/spare-time-research/covid19-test-analysis.pdf</loc> +<lastmod>2024-08-12T21:15:02+00:00</lastmod> +</url> +<url> +<loc>https://kkew3.github.io/assets/spare-time-research/cross-walker.pdf</loc> +<lastmod>2024-08-12T21:15:02+00:00</lastmod> +</url> +</urlset> diff --git a/tags/algorithm/index.html b/tags/algorithm/index.html new file mode 100644 index 000000000..b71e0c264 --- /dev/null +++ b/tags/algorithm/index.html @@ -0,0 +1,104 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “algorithm” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “algorithm”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/algorithm/"> +<meta property="og:url" content="https://kkew3.github.io/tags/algorithm/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “algorithm”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “algorithm”","url":"https://kkew3.github.io/tags/algorithm/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>algorithm</em>"</h1> + </header> + + <article class="post-content"> + <ol><li> + <a class="post-link" href="/2016/05/01/banker-algorithm-termination-condition-proof.html"><h3 class="post-title mb0">银行家算法结束条件的合理性证明</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/algorithm"><code class="highlighter-rouge"><nobr>algorithm</nobr></code></a></span> + </div> +<p class="post-meta small">May 1, 2016 at 02:11:59</p> + </li></ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/dev--applescript/index.html b/tags/dev--applescript/index.html new file mode 100644 index 000000000..5241e0ee6 --- /dev/null +++ b/tags/dev--applescript/index.html @@ -0,0 +1,104 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “dev/applescript” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “dev/applescript”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/dev--applescript/"> +<meta property="og:url" content="https://kkew3.github.io/tags/dev--applescript/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “dev/applescript”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “dev/applescript”","url":"https://kkew3.github.io/tags/dev--applescript/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>dev/applescript</em>"</h1> + </header> + + <article class="post-content"> + <ol><li> + <a class="post-link" href="/2023/03/05/learn-applescript-for-beginners.html"><h3 class="post-title mb0">Learn Applescript for Beginners</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--applescript"><code class="highlighter-rouge"><nobr>dev/applescript</nobr></code></a></span> + </div> +<p class="post-meta small">Mar 5, 2023 at 07:54:00</p> + </li></ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/dev--cpp/index.html b/tags/dev--cpp/index.html new file mode 100644 index 000000000..c51598d24 --- /dev/null +++ b/tags/dev--cpp/index.html @@ -0,0 +1,120 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “dev/c++” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “dev/c++”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/dev--cpp/"> +<meta property="og:url" content="https://kkew3.github.io/tags/dev--cpp/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “dev/c++”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “dev/c++”","url":"https://kkew3.github.io/tags/dev--cpp/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>dev/c++</em>"</h1> + </header> + + <article class="post-content"> + <ol> +<li> + <a class="post-link" href="/2022/07/24/read-hdf5-from-cpp.html"><h3 class="post-title mb0">Read HDF5 file from C++</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--cpp"><code class="highlighter-rouge"><nobr>dev/c++</nobr></code></a></span> + </div> +<p class="post-meta small">Jul 24, 2022 at 04:20:10</p> + </li> +<li> + <a class="post-link" href="/2022/06/02/pass-dynamic-array-between-cpp-and-python.html"><h3 class="post-title mb0">使用Cython在Python和C++间互传大小事先未知的numpy数组</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--cpp"><code class="highlighter-rouge"><nobr>dev/c++</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--cython"><code class="highlighter-rouge"><nobr>dev/cython</nobr></code></a></span> + </div> +<p class="post-meta small">Jun 2, 2022 at 08:55:34</p> + </li> +<li> + <a class="post-link" href="/2022/05/26/develop-python-cpp-extension-using-cython.html"><h3 class="post-title mb0">使用Cython为Python开发C++扩展</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--cpp"><code class="highlighter-rouge"><nobr>dev/c++</nobr></code></a></span> + </div> +<p class="post-meta small">May 26, 2022 at 14:19:31</p> + </li> +</ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/dev--cython/index.html b/tags/dev--cython/index.html new file mode 100644 index 000000000..d6417d493 --- /dev/null +++ b/tags/dev--cython/index.html @@ -0,0 +1,120 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “dev/cython” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “dev/cython”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/dev--cython/"> +<meta property="og:url" content="https://kkew3.github.io/tags/dev--cython/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “dev/cython”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “dev/cython”","url":"https://kkew3.github.io/tags/dev--cython/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>dev/cython</em>"</h1> + </header> + + <article class="post-content"> + <ol> +<li> + <a class="post-link" href="/2023/09/10/make-use-of-openmp-via-cython-on-mac.html"><h3 class="post-title mb0">Make use of openmp via cython on macOS</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--cython"><code class="highlighter-rouge"><nobr>dev/cython</nobr></code></a></span> + </div> +<p class="post-meta small">Sep 10, 2023 at 08:49:00</p> + </li> +<li> + <a class="post-link" href="/2022/08/09/notes-build-cython-using-setup-dot-py.html"><h3 class="post-title mb0">Notes on building Cython using setup.py</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--cython"><code class="highlighter-rouge"><nobr>dev/cython</nobr></code></a></span> + </div> +<p class="post-meta small">Aug 9, 2022 at 08:24:19</p> + </li> +<li> + <a class="post-link" href="/2022/06/02/pass-dynamic-array-between-cpp-and-python.html"><h3 class="post-title mb0">使用Cython在Python和C++间互传大小事先未知的numpy数组</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--cpp"><code class="highlighter-rouge"><nobr>dev/c++</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--cython"><code class="highlighter-rouge"><nobr>dev/cython</nobr></code></a></span> + </div> +<p class="post-meta small">Jun 2, 2022 at 08:55:34</p> + </li> +</ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/dev--java/index.html b/tags/dev--java/index.html new file mode 100644 index 000000000..e2cfa568c --- /dev/null +++ b/tags/dev--java/index.html @@ -0,0 +1,113 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “dev/java” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “dev/java”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/dev--java/"> +<meta property="og:url" content="https://kkew3.github.io/tags/dev--java/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “dev/java”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “dev/java”","url":"https://kkew3.github.io/tags/dev--java/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>dev/java</em>"</h1> + </header> + + <article class="post-content"> + <ol> +<li> + <a class="post-link" href="/2016/12/27/apache-ant-extension-tutorial.html"><h3 class="post-title mb0">Apache Ant 扩展教程</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--java"><code class="highlighter-rouge"><nobr>dev/java</nobr></code></a></span> + </div> +<p class="post-meta small">Dec 27, 2016 at 07:23:04</p> + </li> +<li> + <a class="post-link" href="/2016/09/02/validate-xml-via-dtd-using-java.html"><h3 class="post-title mb0">使用Java API通过DTD方式验证XML</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--java"><code class="highlighter-rouge"><nobr>dev/java</nobr></code></a></span> + </div> +<p class="post-meta small">Sep 2, 2016 at 16:26:30</p> + </li> +</ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/dev--matlab/index.html b/tags/dev--matlab/index.html new file mode 100644 index 000000000..89a695090 --- /dev/null +++ b/tags/dev--matlab/index.html @@ -0,0 +1,104 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “dev/matlab” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “dev/matlab”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/dev--matlab/"> +<meta property="og:url" content="https://kkew3.github.io/tags/dev--matlab/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “dev/matlab”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “dev/matlab”","url":"https://kkew3.github.io/tags/dev--matlab/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>dev/matlab</em>"</h1> + </header> + + <article class="post-content"> + <ol><li> + <a class="post-link" href="/2017/07/20/matlab-r2011b-neural-network-toolbox-note.html"><h3 class="post-title mb0">MATLAB R2011b 神经网络工具箱注意事项</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--matlab"><code class="highlighter-rouge"><nobr>dev/matlab</nobr></code></a></span> + </div> +<p class="post-meta small">Jul 20, 2017 at 09:50:56</p> + </li></ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/dev--network/index.html b/tags/dev--network/index.html new file mode 100644 index 000000000..866e3e036 --- /dev/null +++ b/tags/dev--network/index.html @@ -0,0 +1,113 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “dev/network” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “dev/network”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/dev--network/"> +<meta property="og:url" content="https://kkew3.github.io/tags/dev--network/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “dev/network”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “dev/network”","url":"https://kkew3.github.io/tags/dev--network/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>dev/network</em>"</h1> + </header> + + <article class="post-content"> + <ol> +<li> + <a class="post-link" href="/2023/07/05/connect-to-jupyter-notebook-on-wsl2-from-another-machine-within-wlan.html"><h3 class="post-title mb0">在 WLAN 下从另一台计算机连接到 WSL2 中的 Jupyter Notebook</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--network"><code class="highlighter-rouge"><nobr>dev/network</nobr></code></a></span> + </div> +<p class="post-meta small">Jul 5, 2023 at 07:57:59</p> + </li> +<li> + <a class="post-link" href="/2023/07/05/connect-to-wsl2-from-another-machine-within-wlan.html"><h3 class="post-title mb0">从另一台计算机 SSH 连接到 WSL2 服务器</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--network"><code class="highlighter-rouge"><nobr>dev/network</nobr></code></a></span> + </div> +<p class="post-meta small">Jul 5, 2023 at 04:59:03</p> + </li> +</ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/dev--python/index.html b/tags/dev--python/index.html new file mode 100644 index 000000000..169b35c0f --- /dev/null +++ b/tags/dev--python/index.html @@ -0,0 +1,176 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “dev/python” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “dev/python”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/dev--python/"> +<meta property="og:url" content="https://kkew3.github.io/tags/dev--python/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “dev/python”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “dev/python”","url":"https://kkew3.github.io/tags/dev--python/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>dev/python</em>"</h1> + </header> + + <article class="post-content"> + <ol> +<li> + <a class="post-link" href="/2024/02/04/host-python-packages-jekyll-github-pages.html"><h3 class="post-title mb0">Host Python packages with Jekyll on GitHub Pages</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> + </div> +<p class="post-meta small">Feb 4, 2024 at 09:31:26</p> + </li> +<li> + <a class="post-link" href="/2024/02/01/make-faded-color-wallpaper-for-mac.html"><h3 class="post-title mb0">使用 matplotlib 制作用于 macOS 的渐变色桌面</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/os--macos"><code class="highlighter-rouge"><nobr>os/macOS</nobr></code></a> | <a href="https://kkew3.github.io/tags/misc"><code class="highlighter-rouge"><nobr>misc</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> + </div> +<p class="post-meta small">Feb 1, 2024 at 03:22:51</p> + </li> +<li> + <a class="post-link" href="/2024/01/05/type-assertion-numba-trick.html"><h3 class="post-title mb0">Assert variable types in numba</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> + </div> +<p class="post-meta small">Jan 5, 2024 at 09:04:32</p> + </li> +<li> + <a class="post-link" href="/2022/08/09/notes-build-cython-using-setup-dot-py.html"><h3 class="post-title mb0">Notes on building Cython using setup.py</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--cython"><code class="highlighter-rouge"><nobr>dev/cython</nobr></code></a></span> + </div> +<p class="post-meta small">Aug 9, 2022 at 08:24:19</p> + </li> +<li> + <a class="post-link" href="/2022/06/02/pass-dynamic-array-between-cpp-and-python.html"><h3 class="post-title mb0">使用Cython在Python和C++间互传大小事先未知的numpy数组</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--cpp"><code class="highlighter-rouge"><nobr>dev/c++</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--cython"><code class="highlighter-rouge"><nobr>dev/cython</nobr></code></a></span> + </div> +<p class="post-meta small">Jun 2, 2022 at 08:55:34</p> + </li> +<li> + <a class="post-link" href="/2022/05/26/develop-python-cpp-extension-using-cython.html"><h3 class="post-title mb0">使用Cython为Python开发C++扩展</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--cpp"><code class="highlighter-rouge"><nobr>dev/c++</nobr></code></a></span> + </div> +<p class="post-meta small">May 26, 2022 at 14:19:31</p> + </li> +<li> + <a class="post-link" href="/2022/05/18/python-cannot-import-name-sysconfig-from-distutils.html"><h3 class="post-title mb0">python cannot import name 'sysconfig' from 'distutils'</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a> | <a href="https://kkew3.github.io/tags/os--ubuntu"><code class="highlighter-rouge"><nobr>os/ubuntu</nobr></code></a></span> + </div> +<p class="post-meta small">May 18, 2022 at 15:02:51</p> + </li> +<li> + <a class="post-link" href="/2022/02/17/python-tox-usage-note.html"><h3 class="post-title mb0">Python Tox 使用笔记</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> + </div> +<p class="post-meta small">Feb 17, 2022 at 11:07:47</p> + </li> +<li> + <a class="post-link" href="/2022/02/13/list-imported-python-modules-using-ast.html"><h3 class="post-title mb0">使用抽象语法树ast统计哪些Python包与模块被导入了</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> + </div> +<p class="post-meta small">Feb 13, 2022 at 14:25:18</p> + </li> +<li> + <a class="post-link" href="/2022/02/11/python-align-strings-in-en-and-zh.html"><h3 class="post-title mb0">如何在Python中对齐中英文混排字符串</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> + </div> +<p class="post-meta small">Feb 11, 2022 at 06:27:19</p> + </li> +<li> + <a class="post-link" href="/2022/02/05/align-strings-in-en-and-zh-like-bsd-ls.html"><h3 class="post-title mb0">像BSD ls 一样中英文混排字符串(Python3)</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> + </div> +<p class="post-meta small">Feb 5, 2022 at 10:49:30</p> + </li> +</ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/dev--pytorch/index.html b/tags/dev--pytorch/index.html new file mode 100644 index 000000000..f863cee67 --- /dev/null +++ b/tags/dev--pytorch/index.html @@ -0,0 +1,113 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “dev/pytorch” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “dev/pytorch”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/dev--pytorch/"> +<meta property="og:url" content="https://kkew3.github.io/tags/dev--pytorch/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “dev/pytorch”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “dev/pytorch”","url":"https://kkew3.github.io/tags/dev--pytorch/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>dev/pytorch</em>"</h1> + </header> + + <article class="post-content"> + <ol> +<li> + <a class="post-link" href="/2023/09/24/verify-permutation-equivalence-of-multihead-attention-in-pytorch.html"><h3 class="post-title mb0">Verify permutation equivalence of Multi-Head Attention in PyTorch</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--pytorch"><code class="highlighter-rouge"><nobr>dev/pytorch</nobr></code></a> | <a href="https://kkew3.github.io/tags/ml"><code class="highlighter-rouge"><nobr>machine learning</nobr></code></a></span> + </div> +<p class="post-meta small">Sep 24, 2023 at 08:54:32</p> + </li> +<li> + <a class="post-link" href="/2020/05/22/pytorch-crop-images-differentially.html"><h3 class="post-title mb0">PyTorch crop images differentially</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--pytorch"><code class="highlighter-rouge"><nobr>dev/pytorch</nobr></code></a> | <a href="https://kkew3.github.io/tags/math--la"><code class="highlighter-rouge"><nobr>math/linear algebra</nobr></code></a></span> + </div> +<p class="post-meta small">May 22, 2020 at 18:24:21</p> + </li> +</ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/dev--tcl/index.html b/tags/dev--tcl/index.html new file mode 100644 index 000000000..f4cae0442 --- /dev/null +++ b/tags/dev--tcl/index.html @@ -0,0 +1,104 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “dev/tcl” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “dev/tcl”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/dev--tcl/"> +<meta property="og:url" content="https://kkew3.github.io/tags/dev--tcl/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “dev/tcl”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “dev/tcl”","url":"https://kkew3.github.io/tags/dev--tcl/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>dev/tcl</em>"</h1> + </header> + + <article class="post-content"> + <ol><li> + <a class="post-link" href="/2016/03/25/manage-vxworks-tornado-executable-project-using-tcl.html"><h3 class="post-title mb0">用TCL(工具命令语言)管理Tornado (for VxWorks) 可启动工程</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--tcl"><code class="highlighter-rouge"><nobr>dev/tcl</nobr></code></a></span> + </div> +<p class="post-meta small">Mar 25, 2016 at 15:33:31</p> + </li></ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/index.html b/tags/index.html new file mode 100644 index 000000000..ff0b7a4af --- /dev/null +++ b/tags/index.html @@ -0,0 +1,251 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Tags | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Tags"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/"> +<meta property="og:url" content="https://kkew3.github.io/tags/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Tags"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Tags","url":"https://kkew3.github.io/tags/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <article class="post"> + + <header class="post-header"> + <h1 class="post-title">Tags</h1> + </header> + + <div class="post-content"> + <ul> + + + + <li> + <a href="https://kkew3.github.io/tags/algorithm"> + <code class="highlighter-rouge"><nobr>algorithm</nobr></code> + </a> (1) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/dev--applescript"> + <code class="highlighter-rouge"><nobr>dev/applescript</nobr></code> + </a> (1) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/dev--cpp"> + <code class="highlighter-rouge"><nobr>dev/c++</nobr></code> + </a> (3) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/dev--cython"> + <code class="highlighter-rouge"><nobr>dev/cython</nobr></code> + </a> (3) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/dev--java"> + <code class="highlighter-rouge"><nobr>dev/java</nobr></code> + </a> (2) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/dev--matlab"> + <code class="highlighter-rouge"><nobr>dev/matlab</nobr></code> + </a> (1) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/dev--network"> + <code class="highlighter-rouge"><nobr>dev/network</nobr></code> + </a> (2) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/dev--python"> + <code class="highlighter-rouge"><nobr>dev/python</nobr></code> + </a> (11) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/dev--pytorch"> + <code class="highlighter-rouge"><nobr>dev/pytorch</nobr></code> + </a> (2) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/dev--tcl"> + <code class="highlighter-rouge"><nobr>dev/tcl</nobr></code> + </a> (1) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/math--approx"> + <code class="highlighter-rouge"><nobr>math/approximation</nobr></code> + </a> (1) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/math--la"> + <code class="highlighter-rouge"><nobr>math/linear algebra</nobr></code> + </a> (4) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/math--prob"> + <code class="highlighter-rouge"><nobr>math/probability</nobr></code> + </a> (5) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/misc"> + <code class="highlighter-rouge"><nobr>misc</nobr></code> + </a> (4) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/ml"> + <code class="highlighter-rouge"><nobr>machine learning</nobr></code> + </a> (3) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/ml--bayes"> + <code class="highlighter-rouge"><nobr>machine learning/bayesian</nobr></code> + </a> (2) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/ml--dict"> + <code class="highlighter-rouge"><nobr>machine learning/dictionary learning</nobr></code> + </a> (1) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/ml--svm"> + <code class="highlighter-rouge"><nobr>machine learning/svm</nobr></code> + </a> (1) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/os--ios"> + <code class="highlighter-rouge"><nobr>os/ios</nobr></code> + </a> (1) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/os--macos"> + <code class="highlighter-rouge"><nobr>os/macOS</nobr></code> + </a> (3) + </li> + + + <li> + <a href="https://kkew3.github.io/tags/os--ubuntu"> + <code class="highlighter-rouge"><nobr>os/ubuntu</nobr></code> + </a> (1) + </li> + +</ul> + + </div> + +</article> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/math--approx/index.html b/tags/math--approx/index.html new file mode 100644 index 000000000..d243fe378 --- /dev/null +++ b/tags/math--approx/index.html @@ -0,0 +1,104 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “math/approximation” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “math/approximation”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/math--approx/"> +<meta property="og:url" content="https://kkew3.github.io/tags/math--approx/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “math/approximation”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “math/approximation”","url":"https://kkew3.github.io/tags/math--approx/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>math/approximation</em>"</h1> + </header> + + <article class="post-content"> + <ol><li> + <a class="post-link" href="/2024/02/11/quad-approximate-sigmoid-derivative.html"><h3 class="post-title mb0">Piecewise quadratic approximation of sigmoid(z) (1-sigmoid(z))</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/math--approx"><code class="highlighter-rouge"><nobr>math/approximation</nobr></code></a></span> + </div> +<p class="post-meta small">Feb 11, 2024 at 08:52:41</p> + </li></ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/math--la/index.html b/tags/math--la/index.html new file mode 100644 index 000000000..d69b0a2d3 --- /dev/null +++ b/tags/math--la/index.html @@ -0,0 +1,127 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “math/linear algebra” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “math/linear algebra”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/math--la/"> +<meta property="og:url" content="https://kkew3.github.io/tags/math--la/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “math/linear algebra”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “math/linear algebra”","url":"https://kkew3.github.io/tags/math--la/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>math/linear algebra</em>"</h1> + </header> + + <article class="post-content"> + <ol> +<li> + <a class="post-link" href="/2024/02/26/simple-numerical-matrix-inversion.html"><h3 class="post-title mb0">A simple numerical method to compute matrix inversion</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/math--la"><code class="highlighter-rouge"><nobr>math/linear algebra</nobr></code></a></span> + </div> +<p class="post-meta small">Feb 26, 2024 at 10:57:01</p> + </li> +<li> + <a class="post-link" href="/2023/10/06/dimensionality-reduction-by-svd.html"><h3 class="post-title mb0">Dimensionality reduction by SVD</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/math--la"><code class="highlighter-rouge"><nobr>math/linear algebra</nobr></code></a></span> + </div> +<p class="post-meta small">Oct 6, 2023 at 08:43:30</p> + </li> +<li> + <a class="post-link" href="/2023/08/05/dual-of-dual-of-qp.html"><h3 class="post-title mb0">The dual of the dual of a QP is itself</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/math--la"><code class="highlighter-rouge"><nobr>math/linear algebra</nobr></code></a></span> + </div> +<p class="post-meta small">Aug 5, 2023 at 10:54:12</p> + </li> +<li> + <a class="post-link" href="/2020/05/22/pytorch-crop-images-differentially.html"><h3 class="post-title mb0">PyTorch crop images differentially</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--pytorch"><code class="highlighter-rouge"><nobr>dev/pytorch</nobr></code></a> | <a href="https://kkew3.github.io/tags/math--la"><code class="highlighter-rouge"><nobr>math/linear algebra</nobr></code></a></span> + </div> +<p class="post-meta small">May 22, 2020 at 18:24:21</p> + </li> +</ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/math--prob/index.html b/tags/math--prob/index.html new file mode 100644 index 000000000..4e25f057c --- /dev/null +++ b/tags/math--prob/index.html @@ -0,0 +1,134 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “math/probability” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “math/probability”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/math--prob/"> +<meta property="og:url" content="https://kkew3.github.io/tags/math--prob/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “math/probability”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “math/probability”","url":"https://kkew3.github.io/tags/math--prob/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>math/probability</em>"</h1> + </header> + + <article class="post-content"> + <ol> +<li> + <a class="post-link" href="/2024/08/09/lower-bound-of-kl-divergence-between-any-density-and-gaussian.html"><h3 class="post-title mb0">Lower bound of KL divergence between any density and Gaussian</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/math--prob"><code class="highlighter-rouge"><nobr>math/probability</nobr></code></a></span> + </div> +<p class="post-meta small">Aug 9, 2024 at 09:03:39</p> + </li> +<li> + <a class="post-link" href="/2023/11/28/toss-coin.html"><h3 class="post-title mb0">Estimate the head probability of a coin</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/math--prob"><code class="highlighter-rouge"><nobr>math/probability</nobr></code></a></span> + </div> +<p class="post-meta small">Nov 28, 2023 at 11:55:37</p> + </li> +<li> + <a class="post-link" href="/2023/11/03/map-estimation-cov-gmm.html"><h3 class="post-title mb0">Maximum a posteriori estimation of the covariance in Gaussian Mixture models</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/math--prob"><code class="highlighter-rouge"><nobr>math/probability</nobr></code></a></span> + </div> +<p class="post-meta small">Nov 3, 2023 at 08:03:17</p> + </li> +<li> + <a class="post-link" href="/2023/10/04/estimate-expectation-of-function-of-random-variable.html"><h3 class="post-title mb0">Estimate the expectation of the function of a random variable</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/math--prob"><code class="highlighter-rouge"><nobr>math/probability</nobr></code></a></span> + </div> +<p class="post-meta small">Oct 4, 2023 at 07:36:32</p> + </li> +<li> + <a class="post-link" href="/2017/04/23/relation-between-truncated-distribution-and-original-distribution.html"><h3 class="post-title mb0">被截短的随机分布与原分布的关系</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/math--prob"><code class="highlighter-rouge"><nobr>math/probability</nobr></code></a></span> + </div> +<p class="post-meta small">Apr 23, 2017 at 16:29:35</p> + </li> +</ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/misc/index.html b/tags/misc/index.html new file mode 100644 index 000000000..caa608654 --- /dev/null +++ b/tags/misc/index.html @@ -0,0 +1,127 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “misc” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “misc”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/misc/"> +<meta property="og:url" content="https://kkew3.github.io/tags/misc/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “misc”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “misc”","url":"https://kkew3.github.io/tags/misc/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>misc</em>"</h1> + </header> + + <article class="post-content"> + <ol> +<li> + <a class="post-link" href="/2024/02/01/make-faded-color-wallpaper-for-mac.html"><h3 class="post-title mb0">使用 matplotlib 制作用于 macOS 的渐变色桌面</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/os--macos"><code class="highlighter-rouge"><nobr>os/macOS</nobr></code></a> | <a href="https://kkew3.github.io/tags/misc"><code class="highlighter-rouge"><nobr>misc</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> + </div> +<p class="post-meta small">Feb 1, 2024 at 03:22:51</p> + </li> +<li> + <a class="post-link" href="/2023/04/26/how-to-decide-the-type-of-a-pokemon-quickly.html"><h3 class="post-title mb0">如何尽可能快地确定宝可梦属性</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/misc"><code class="highlighter-rouge"><nobr>misc</nobr></code></a></span> + </div> +<p class="post-meta small">Apr 26, 2023 at 10:12:07</p> + </li> +<li> + <a class="post-link" href="/2023/03/27/pizzahut-free-soda.html"><h3 class="post-title mb0">必胜客餐厅隐藏福利 -- 苏打水</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/misc"><code class="highlighter-rouge"><nobr>misc</nobr></code></a></span> + </div> +<p class="post-meta small">Mar 27, 2023 at 06:26:05</p> + </li> +<li> + <a class="post-link" href="/2022/07/24/set-up-github-pages-macos.html"><h3 class="post-title mb0">Set up GitHub Pages on macOS</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/misc"><code class="highlighter-rouge"><nobr>misc</nobr></code></a></span> + </div> +<p class="post-meta small">Jul 24, 2022 at 10:20:49</p> + </li> +</ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/ml--bayes/index.html b/tags/ml--bayes/index.html new file mode 100644 index 000000000..39b853088 --- /dev/null +++ b/tags/ml--bayes/index.html @@ -0,0 +1,113 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “machine learning/bayesian” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “machine learning/bayesian”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/ml--bayes/"> +<meta property="og:url" content="https://kkew3.github.io/tags/ml--bayes/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “machine learning/bayesian”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “machine learning/bayesian”","url":"https://kkew3.github.io/tags/ml--bayes/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>machine learning/bayesian</em>"</h1> + </header> + + <article class="post-content"> + <ol> +<li> + <a class="post-link" href="/2024/08/09/gamma-in-bn-vae.html"><h3 class="post-title mb0">Effect of gamma in BN-VAE</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/ml--bayes"><code class="highlighter-rouge"><nobr>machine learning/bayesian</nobr></code></a></span> + </div> +<p class="post-meta small">Aug 9, 2024 at 11:00:44</p> + </li> +<li> + <a class="post-link" href="/2024/05/17/learn-bayesian-lr-from-imbalanced-data.html"><h3 class="post-title mb0">Learn Bayesian Logistic regression from imbalanced data</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/ml--bayes"><code class="highlighter-rouge"><nobr>machine learning/bayesian</nobr></code></a></span> + </div> +<p class="post-meta small">May 17, 2024 at 03:21:31</p> + </li> +</ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/ml--dict/index.html b/tags/ml--dict/index.html new file mode 100644 index 000000000..e1fdf394e --- /dev/null +++ b/tags/ml--dict/index.html @@ -0,0 +1,104 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “machine learning/dictionary learning” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “machine learning/dictionary learning”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/ml--dict/"> +<meta property="og:url" content="https://kkew3.github.io/tags/ml--dict/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “machine learning/dictionary learning”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “machine learning/dictionary learning”","url":"https://kkew3.github.io/tags/ml--dict/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>machine learning/dictionary learning</em>"</h1> + </header> + + <article class="post-content"> + <ol><li> + <a class="post-link" href="/2024/01/26/attempt-fully-differentiable-nnomp-alternative.html"><h3 class="post-title mb0">An attempt to build fully differentiable alternative of (non-negative) matching pursuit algorithm for solving L0-sparsity dictionary learning</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/ml--dict"><code class="highlighter-rouge"><nobr>machine learning/dictionary learning</nobr></code></a></span> + </div> +<p class="post-meta small">Jan 26, 2024 at 04:14:34</p> + </li></ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/ml--svm/index.html b/tags/ml--svm/index.html new file mode 100644 index 000000000..9b32599fd --- /dev/null +++ b/tags/ml--svm/index.html @@ -0,0 +1,104 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “machine learning/svm” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “machine learning/svm”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/ml--svm/"> +<meta property="og:url" content="https://kkew3.github.io/tags/ml--svm/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “machine learning/svm”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “machine learning/svm”","url":"https://kkew3.github.io/tags/ml--svm/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>machine learning/svm</em>"</h1> + </header> + + <article class="post-content"> + <ol><li> + <a class="post-link" href="/2023/08/05/compute-svm-intercept.html"><h3 class="post-title mb0">How to compute the intercept of C-SVM in primal and dual formulations</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/ml--svm"><code class="highlighter-rouge"><nobr>machine learning/svm</nobr></code></a></span> + </div> +<p class="post-meta small">Aug 5, 2023 at 08:08:26</p> + </li></ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/ml/index.html b/tags/ml/index.html new file mode 100644 index 000000000..c2f504b49 --- /dev/null +++ b/tags/ml/index.html @@ -0,0 +1,120 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “machine learning” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “machine learning”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/ml/"> +<meta property="og:url" content="https://kkew3.github.io/tags/ml/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “machine learning”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “machine learning”","url":"https://kkew3.github.io/tags/ml/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>machine learning</em>"</h1> + </header> + + <article class="post-content"> + <ol> +<li> + <a class="post-link" href="/2024/07/06/compute-accuracy-from-f1-score.html"><h3 class="post-title mb0">Compute accuracy from F1 score</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/ml"><code class="highlighter-rouge"><nobr>machine learning</nobr></code></a></span> + </div> +<p class="post-meta small">Jul 6, 2024 at 01:51:59</p> + </li> +<li> + <a class="post-link" href="/2023/09/24/verify-permutation-equivalence-of-multihead-attention-in-pytorch.html"><h3 class="post-title mb0">Verify permutation equivalence of Multi-Head Attention in PyTorch</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--pytorch"><code class="highlighter-rouge"><nobr>dev/pytorch</nobr></code></a> | <a href="https://kkew3.github.io/tags/ml"><code class="highlighter-rouge"><nobr>machine learning</nobr></code></a></span> + </div> +<p class="post-meta small">Sep 24, 2023 at 08:54:32</p> + </li> +<li> + <a class="post-link" href="/2022/08/31/vae-training-trick.html"><h3 class="post-title mb0">Variational Autoencoder training trick</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/ml"><code class="highlighter-rouge"><nobr>machine learning</nobr></code></a></span> + </div> +<p class="post-meta small">Aug 31, 2022 at 11:48:35</p> + </li> +</ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/os--ios/index.html b/tags/os--ios/index.html new file mode 100644 index 000000000..64f97d12a --- /dev/null +++ b/tags/os--ios/index.html @@ -0,0 +1,104 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “os/ios” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “os/ios”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/os--ios/"> +<meta property="og:url" content="https://kkew3.github.io/tags/os--ios/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “os/ios”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “os/ios”","url":"https://kkew3.github.io/tags/os--ios/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>os/ios</em>"</h1> + </header> + + <article class="post-content"> + <ol><li> + <a class="post-link" href="/2022/05/24/sync-music-from-mac-to-ipad-without-itunes.html"><h3 class="post-title mb0">如何不通过iTunes将Mac上的音乐同步到iPad</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/os--ios"><code class="highlighter-rouge"><nobr>os/ios</nobr></code></a> | <a href="https://kkew3.github.io/tags/os--macos"><code class="highlighter-rouge"><nobr>os/macOS</nobr></code></a></span> + </div> +<p class="post-meta small">May 24, 2022 at 12:09:10</p> + </li></ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/os--macos/index.html b/tags/os--macos/index.html new file mode 100644 index 000000000..44fcf28b1 --- /dev/null +++ b/tags/os--macos/index.html @@ -0,0 +1,120 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “os/macOS” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “os/macOS”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/os--macos/"> +<meta property="og:url" content="https://kkew3.github.io/tags/os--macos/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “os/macOS”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “os/macOS”","url":"https://kkew3.github.io/tags/os--macos/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>os/macOS</em>"</h1> + </header> + + <article class="post-content"> + <ol> +<li> + <a class="post-link" href="/2024/06/13/leverage-ollama-in-iterm2-ai-integration.html"><h3 class="post-title mb0">Leverage Ollama in iTerm2 AI integration</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/os--macos"><code class="highlighter-rouge"><nobr>os/macOS</nobr></code></a></span> + </div> +<p class="post-meta small">Jun 13, 2024 at 14:46:53</p> + </li> +<li> + <a class="post-link" href="/2024/02/01/make-faded-color-wallpaper-for-mac.html"><h3 class="post-title mb0">使用 matplotlib 制作用于 macOS 的渐变色桌面</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/os--macos"><code class="highlighter-rouge"><nobr>os/macOS</nobr></code></a> | <a href="https://kkew3.github.io/tags/misc"><code class="highlighter-rouge"><nobr>misc</nobr></code></a> | <a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a></span> + </div> +<p class="post-meta small">Feb 1, 2024 at 03:22:51</p> + </li> +<li> + <a class="post-link" href="/2022/05/24/sync-music-from-mac-to-ipad-without-itunes.html"><h3 class="post-title mb0">如何不通过iTunes将Mac上的音乐同步到iPad</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/os--ios"><code class="highlighter-rouge"><nobr>os/ios</nobr></code></a> | <a href="https://kkew3.github.io/tags/os--macos"><code class="highlighter-rouge"><nobr>os/macOS</nobr></code></a></span> + </div> +<p class="post-meta small">May 24, 2022 at 12:09:10</p> + </li> +</ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html> diff --git a/tags/os--ubuntu/index.html b/tags/os--ubuntu/index.html new file mode 100644 index 000000000..babc9fbd6 --- /dev/null +++ b/tags/os--ubuntu/index.html @@ -0,0 +1,104 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> +<!-- Begin Jekyll SEO tag v2.8.0 --> +<title>Posts with tag “os/ubuntu” | Kaiwen’s personal website</title> +<meta name="generator" content="Jekyll v3.9.2"> +<meta property="og:title" content="Posts with tag “os/ubuntu”"> +<meta property="og:locale" content="en_US"> +<meta name="description" content="My blogs and research reports."> +<meta property="og:description" content="My blogs and research reports."> +<link rel="canonical" href="https://kkew3.github.io/tags/os--ubuntu/"> +<meta property="og:url" content="https://kkew3.github.io/tags/os--ubuntu/"> +<meta property="og:site_name" content="Kaiwen’s personal website"> +<meta property="og:type" content="website"> +<meta name="twitter:card" content="summary"> +<meta property="twitter:title" content="Posts with tag “os/ubuntu”"> +<script type="application/ld+json"> +{"@context":"https://schema.org","@type":"WebPage","description":"My blogs and research reports.","headline":"Posts with tag “os/ubuntu”","url":"https://kkew3.github.io/tags/os--ubuntu/"}</script> +<!-- End Jekyll SEO tag --> +<link rel="stylesheet" href="/assets/main.css"> +<link type="application/atom+xml" rel="alternate" href="https://kkew3.github.io/feed.xml" title="Kaiwen's personal website"> +<!-- Google tag (gtag.js) --> +<script async src="https://www.googletagmanager.com/gtag/js?id=G-2YQN8LEHLR"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'G-2YQN8LEHLR'); +</script> +</head> +<body> +<header class="site-header" role="banner"> + + <div class="wrapper"> +<a class="site-title" rel="author" href="/">Kaiwen's personal website</a><nav class="site-nav"> + <input type="checkbox" id="nav-trigger" class="nav-trigger"> + <label for="nav-trigger"> + <span class="menu-icon"> + <svg viewbox="0 0 18 15" width="18px" height="15px"> + <path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"></path> + </svg> + </span> + </label> + + <div class="trigger"> +<a class="page-link" href="/tags/">Tags</a><a class="page-link" href="/docs/">Docs</a><a class="page-link" href="/about/">About</a> +</div> + </nav> +</div> +</header> +<main class="page-content" aria-label="Content"> + <div class="wrapper"> + <div class="post"> + <header class="post-header"> + <h1 class="h2">Posts tagged with "<em>os/ubuntu</em>"</h1> + </header> + + <article class="post-content"> + <ol><li> + <a class="post-link" href="/2022/05/18/python-cannot-import-name-sysconfig-from-distutils.html"><h3 class="post-title mb0">python cannot import name 'sysconfig' from 'distutils'</h3></a> + <div class="small"> + <span><a href="https://kkew3.github.io/tags/dev--python"><code class="highlighter-rouge"><nobr>dev/python</nobr></code></a> | <a href="https://kkew3.github.io/tags/os--ubuntu"><code class="highlighter-rouge"><nobr>os/ubuntu</nobr></code></a></span> + </div> +<p class="post-meta small">May 18, 2022 at 15:02:51</p> + </li></ol> + </article> +</div> + + </div> + </main><footer class="site-footer h-card"> + <data class="u-url" href="/"></data> + + <div class="wrapper"> + + <h2 class="footer-heading">Kaiwen's personal website</h2> + + <div class="footer-col-wrapper"> + <div class="footer-col footer-col-1"> + <ul class="contact-list"> + <li class="p-name">Kaiwen's personal website</li> +<li><a class="u-email" href="mailto:kps6326@hotmail.com">kps6326@hotmail.com</a></li> +</ul> + </div> + + <div class="footer-col footer-col-2"> +<ul class="social-media-list"><li><a href="https://github.com/kkew3"><svg class="svg-icon"><use xlink:href="/assets/minima-social-icons.svg#github"></use></svg> <span class="username">kkew3</span></a></li></ul> +</div> + + <div class="footer-col footer-col-3"> + <p>My blogs and research reports.</p> + </div> + </div> + + </div> + +</footer> +</body> + +</html>