with open(pkl_path) as f:
    test = pickle.load(f)

とした時に

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte

と怒られてしまう

どうやら、pklオブジェクトを読み込むときは、modeを'rb'としてバイトコードとして読み込むようにしてあげないといけないとのこと。

テキストファイルとかなら、with open()の引数にファイルパスだけでいいのですが、今回のようなシチュエーションではダメらしいです。

なので

with open(pkl_path, 'rb') as f:
    test = pickle.load(f)

同様に書き込みの時は 'wb' とすることを忘れないようにしないとですね