ImportError: cannot import name ‘PILLOW_VERSION’ from ‘PIL’

PyTorchというか、torchvisionを使おうとしただけで、こんなエラーが:

ImportError: cannot import name 'PILLOW_VERSION' from 'PIL'

Pillow 7.0.0でPILLOW_VERSIONが削除されたのが原因らしい。

PILLOW_VERSION has been removed. Use __version__ instead.

https://pillow.readthedocs.io/en/stable/releasenotes/7.0.0.html

とはいえ、ライブラリ内で使われているし、いろいろ理由があってライブラリのバージョンを下げたりライブラリを直接修正するのもできない。

で、

import PIL

PIL.PILLOW_VERSION = PIL.__version__

from torchvision import ...

とかいうアレなworkaroundを思いついた(動く)んだけど、これでいいのかPython。

コミックマーケット97

≪4日目≫2019年12月31日(火)西地区“H”ブロック38a です。

↓のような感じになりそうです。詳細は後程。なりませんでした。

2019年12月23日更新

  • 作曲ができないシリーズの新刊は出ます
  • 完結はしませんでした(むしろここから新章?)
  • 自作曲 (CD) はナシで

新刊は「組合せ最適化で音楽の実習はできない」という話です。

既刊は専門書的な体裁にしていましたが、おかげでガチに専門的な内容だと思われてしまったり、ネタが伝わらなかったりした反省をふまえて、新刊は「読み物」として、とりあえず気楽に読んでもらえる体裁にしました。逆に駄文が増えてしまった感もありますが。

ラノベ調を目指しましたが、なにぶん初めての試みなので、クオリティはお察しください。あと、ラノベ調なので縦書きにしたかったのですが、数式が入るので断念しました。

2019年12月28日更新

AIに溺れるな (4)

いや、前回で終わりのつもりだったんだけど、燃料が届いたので。まあ、これもAIをダシにした何かだよね。

大学入試のマークシート偏重に識者「将来の失業者量産」危惧
https://www.news-postseven.com/archives/20191216_1506306.html

なんというかツッコミどころ満載すぎて。そもそも、高校教育のゴールって大学入試なの?それが現実だというならその是正が先でしょう。

AIに溺れるな

2年半ほど前、NHKスペシャル『AIに聞いてみた どうすんのよ!? ニッポン』という番組で「40代ひとり暮らしが日本を滅ぼす」という「提言」をしたことが話題になった。

NHKのサイトでは「40代ひとり暮らしを減らせば日本がよくなる」という、40代ひとり暮らしの皆さんに忖度した表現へ置き換えられているが、元のセンセーショナルな文言は他メディアに広くコピペされている上、当のNHKも文書として残している。

-Walloc-size-larger-than= とは?

特定のコードを特定のコンパイルオプションつきでコンパイルするとこんなのが出る

warning: argument 1 value '18446744073709551615' exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]

例えば NetBSD の src/lib/libc/gen/asysctl.c を -O3 で(というか -O2 -fsplit-paths でも)コンパイルすると出る。
通常は -O2 なので出ない。

NetBSD 8.0 と 8.1 以降で npf の挙動が違う?

NetBSD/amd64 8.0_STABLE(以下 8.0)
NetBSD/amd64 8.1_STABLE(8.1)
NetBSD/amd64 9.0_BETA(9.0)

こんな感じの、中からの通信はプロトコルを問わないけれど、外からはsshだけ受け付ける npf.conf

$ext_if = "bge0" # or "re0" or ...
$ext_v4 = inet4($ext_if)
group "external" on $ext_if {
        pass stateful out final all # rule (1)
        pass in final proto tcp to $ext_v4 port ssh # rule (2)
}
default {
        pass final on lo0 all
        block all # rule (3)
}

だけど、8.1, 9.0 だと外から ssh で接続できない。