Photo by Annie Spratt on Unsplash

我第一次(自)學程式是小六畢業的暑假。小學時已經有電腦課,只上一些簡單的作業系統跟文書、繪圖操作。當時不知在哪看到說 MS-DOS 5.0 有附一個可以寫程式的東西叫 QBasic.exe,結果就去書店找了一本 Quick Basic 的中文電腦書來學,並在那個暑假寫了我的頭幾支程式。

(QB 是所謂的 Structured BASIC,它不再需要在每一行前面寫行號,功能也更強大。此外 QBasic 其實又是 Quick Basic 的簡化版,拿掉了編譯可執行檔的功能。)

在那個台灣還沒有 STEM 教育、資訊素養若有可無的年代,寫程式的概念跟最佳實踐方式沒人教,就只能自己胡亂摸索。但也因為這樣,國中開始自學 Visual Basic 4(高中時是用 6.0),到大學時雖然沒有考進資訊科技科 …


Photo by Vishnu Mohanan on Unsplash

This is a simple article, originating from one of my experiments for a failed company project proposal.

Tensorflow/Keras is (still) a popular AI package, and AutoKeras (a open AutoML or automated machine learning Python package) lets you train a neural network model in TF without having to set any parameters. It requires Tensorflow 2, which in turn needs 64-bit Python runtime. However, official Raspberry Pi OS is still using 32-bit kernels.

It’s not that hard to find 64-bit OS, but there are so many dependencies that are never fully documented. I managed to find the solution: here I’ll show you…


Photo by Jorge Ramirez on Unsplash

(上圖不是 ESP8266,不過就將就吧。)

前言

Raspberry Pi Pico 的問世,使更多人開始重新注意到 MicroPython 這個嵌入式系統用的 Python 語言。儘管 MicroPython 在執行速度上不及 C++ 等語言,但它有很多語言與功能上的便利優點。

ESP8266 和 IoT 自造專案已經不是新玩意,然而你仍然能用它們來做些低成本的物聯網裝置。若你對 MicroPython 與周邊裝置有一定了解,還可以隨自己的需求改造。不過,一般人對這會不會有興趣呢?

本文要展示的,就是筆者至目前為止最喜歡的三個 ESP8266 IoT 專案。你可以在完全不懂程式與硬體的前提下,照著以下步驟做出你自己的裝置,放在自己家裡或辦公室使用。也因為如此,這篇不會太深入講語言和硬體知識,但你能在書 …


昨天拿到了我訂的 RPi Pico,多花了一點銀子,但新玩意總得親自動手玩才能有點概念。

2021 年 1 月下旬,樹莓派基金會出人意表地發表了 Raspberry Pi Pico — — 一款小型、便宜的微控制器,搭載自家研發的 RP2040(雙核 Cortex M0+,最高時脈 133 HMz)。而且不僅如此:MicroPython 的開發者 Damien George 已經替它設計了專屬的韌體,可直接從樹莓派單板電腦 OS 內附的 Thonny IDE 連線,連官方書籍都準備好了。此外,包括 Arduino、Adafruit、Sparkfun 和 Pimoroni 都會用 RP2040 生產自己的開發板。

(Pico 只裝有一個類比溫度感應器。寫這篇文時,Arduino 的版本 Ardu …


Photo by Alex Motoc on Unsplash

ROT13 (“rotate by 13 places”) is a simple letter substitution cipher, a special case of “Caesar cipher” and was once popular on Internet forums.

The rule is very simple: you replace each letters with the 13th letter behind them. If the range is over the last letter z, just loop back and continue to count from letter a. Since there are 26 letters in English, apply ROT13 twice (or 4, 6, 8 times…) will return the original text:

ROT13("Python") -> "Clguba"
ROT13("Clguba") -> "Python"

Although The Zen of Python said “There should be one — and preferably only one —…


Photo by Corinne Kutz on Unsplash

如果你在學機器學習,應該會聽過「邏輯斯迴歸」。邏輯斯迴歸是個好用的分類器演算法,而想在 scikit-learn 中匯入、訓練和使用它也相當簡單。然而,邏輯斯迴歸是如何分類資料的,就需要一點技巧來解釋了。

很多人會從數學式子切入,但對如在下我這種數學不好的人來說,抽象的方程式永遠非常難懂。而有些書或網站會附上邏輯斯函數的圖表,但它們通常跟後面的程式範例沒有直接關係(此外這些書或網站經常也只是抄襲其他人的範例)。最後,已嚴然成為 Python 機器學習代名詞的 scikit-learn 儘管在其網站上有很多視覺化範例,但它們大多極其複雜,要拿來應用實在是有難度。

而這就是這篇文章的出發點:記錄我對於 scikit-learn 幾種模型之視覺化的簡單研究成果。將機器學習模型視覺化,對於教學其實有很大的 …


Photo by Andrew Le on Unsplash

The sole goal of this is to use (or abuse) one new feature comes with Python 3.9: Relaxing Grammar Restrictions On Decorators (PEP 614). Since almost no one mentioned about it before, I decided to write a little article here.

Of course, the way I use it is very probably not “Pythonic”, and maybe shouldn’t be used at all in your work, but we can still have some fun here, right?

Apparently, PEP 614 is mainly designed for PyQt5, which you can attach a button clicking method as a decorator to another function to create button events. But the PEP…


Photo by Austin Neill on Unsplash

前陣子筆者買了本書 TinyML,這本書是講如何在(特定的,咳咳)開發板上佈署 Tensorflow Lite 神經網路模型。我個人雖然對 Tensorflow 幾乎一竅不通,但對於如何在微控制器或開發板應用它,倒是相當有興趣。

(其實廣義來說,TinyML 可以泛指將機器學習用在微控制器的領域。不過,這邊主要以 Tensorflow Lite 為主。)

不過讀一讀就發現就發現,佈署模型的過程似乎相當繁雜,且並不是在 Windows 環境下進行,對筆者這樣的初學者來說實在不友善。此外,若打開 Arduino IDE 內的 Tensorflow 範例,一口氣就跳出 8 個檔案,程式碼也密密麻麻的,看了真教人心驚驚。

這就好像有人介紹給你一個很酷的東西,結果講到重要的實作細節,你就卡住難以前進了,有 …


Photo by fabio on Unsplash

筆者是個坦白說數學不怎麼樣,也沒什麼興致做純學術研究的人。不過,在大約三個月前,網路上有人分享一個叫做 SEFR 的演算法,由伊朗塔比阿特莫達勒斯大學和美國波士頓大學的研究者提出。該演算法的設計對象居然是 Arduino Uno 這類低耗能嵌入式裝置,而且可直接在開發板上進行模型訓練 — — 可想而知,這讓筆者相當感興趣。最近剛好有些時間,便決定來鑽研一下。

你可在此閱讀這篇論文:SEFR: A Fast Linear-Time Classifier for Ultra-Low Power Devices

SEFR 名稱其實來自自 2012 的一篇論文 A semi-supervised feature ranking method with ensemble learning(使用集成學習的半監 …

Alan Wang

Former translator, after-hours Maker, sunny-day analog film shooter. Currently a junior tech-book editor based in Taiwan. https://krantasblog.blogspot.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store