• A trick to ignore a data in categorical cross entropy of keras

    When there’s a data point that you want to ignore in loss computation, you can use ignore_class parameter in tf.keras.losses.SparseCategoricalCrossentropy. But the same parameter doesn’t exist in tf.keras.losses.CategoricalCrossentropy. I don’t know why, but that’s troublesome when there’s needs. Even the SparseCategoricalCrossEntropy’s ignore_class isn’t easy to use either since it requires one to add a class…

  • Structural matching simplifies the code

    Well known structural matching in python would be match case. But there’s an other kind and it checks # of items, e.g., If foo() returns [1], it works fine. But if it returns either multiple items [1, 2, 3] or an empty list, it fails. This is pretty neat. I have been checking the length…

    Tags:

  • Better dict for configuration

    When I use dict as a config of deep learning algorithms, I often run multiple training runs, varying the config value. As a trivial example: And then I run multiple iterations varying the ‘lr’. When doing that, I feel worried about making mistake like updating the dict with wrong key, e.g., To address such concerns,…

  • 시간을 초월한 개발자에 대한 조언: 이름 짓기

    트위터에서 이런 글을 읽었다. 지나치게 표면적인 이야기처럼 들릴지 모르지만, 모두의 경험은 다르다. 서로 다른 제품을 만들었고, 다른 환경, 다른 사람들과 일해왔다. 관찰의 범위가 다르고 각자가 추구해온 목표도 다르다. 그러므로 조언은 … 어디까지나 개인적인 것이고 읽는 사람이 그것을 내 상황에 맞게 이해하는 것이 필요하다. 그렇다면 그 모두를 초월한 지혜는 없을까. 여기에 ‘이름 짓기’가 떠올랐다. 컴퓨터 과학에서…

    Tags:

  • Tuple is immutable in python

    I find this very interesting. These examples are from fluent python. Likewise… The reason of these behaviors are easier to understand if we take a look at the methods of tuple. Whenever += is called for tuple, say, a += b, what’s actually happening is a + b and then a = a + b.…

    Tags:

  • Keras 에서 Jax, Flax 로 코드를 옮겨본 소감

    성능이 더 개선된다는 이유로, 그리고 기술적인 호기심으로 Keras 코드를 Jax로 옮기고 있다. 그러면서 느낀 점들을 공유해서 같은 migration을 하고 싶은 경우에 참고가 되었으면 한다. Jax 의 첫인상은 배우기 어렵단 것이었다. 특히 Sharpbits 에 그 내용이 잘 정리되어있는데 대부분은 데이터가 immutable 하다는 것으로 요약된다. 이것이 처음에는 매우 당혹스럽다가 서서히 익숙해졌다. 그러나 몇가지는 생각지도 못한 문제가 있었다.…

  • Forcing accessibility font size and dark theme on mobile chrome

    Chrome on Android has accessibility settings to override font size. But there are websites that the change doesn’t apply. Also, chrome doesn’t use dark theme even when system theme is using it. Enable these two flags at chrome://flags to fix them. Restarting Chrome, you’ll see new accessibility settings for fonts and new menu item on…

    Tags:

  • Use left option key as ALT for VIM on mac

    Use iterm2 and change the left option to ESC+ Once that done, left option will work as alt in the vim. But it will break your cursor movement in the shell, i.e., opt+left and opt+right won’t move cursor over words. To fix that, type in ‘cat’, type the key you want to bind, i.e., opt+left…

    Tags:

  • Use nerd font on chromebook terminal and changing the font size

    Press ctrl+shift+j in the terminal, then paste the below. See https://gist.github.com/izzqz/af36c5bbde67ffff0f7614cf738d75a5 for details. Plus, you can change font size. This is from https://chromium.googlesource.com/apps/libapps/+/HEAD/nassh/docs/FAQ.md#How-do-I-use-web-fonts p.s. It still doesn’t render all the icons, e.g,. vim-tree in nvim. I don’t know answer for that.

    Tags:

  • A deep learning architecture to apply Dow theory in stock price prediction

    What are the features to predict stock price? Obvious choices include: When predicting the stock price of, say, AAPL, it’s critical to consider other stocks’ price, e.g., MSFT, GOOG, META, NVDA, etc. If all the tickers in the NASDAQ are going down, we can say with confidence that we’re in a bear market. DOW theory…