スタイル変換のStyle Lossとは何をやっているか
スタイル変換やImage to Imageの損失関数で使われる・Style Lossの実装を詳しく見ていきます。Style Lossの計算で用いているグラム行列の計算方法をTensorFlowで考えます。 Style L […]...
KerasのLambdaレイヤーの引数をループ内で変えるときにハマった話
KerasのLambdaレイヤーはとても便利で、自作の関数ほか、TensorFlowの組み込みの強力な関数もレイヤーとして扱うことができます。しかし、ループごとに引数を変えながらLambdaレイヤーでラップするようなケー […]...
複数の入力にtf.scanを使うケースでValueErrorが出たときの対処法
複数の入力に対してtf.scanを使うケースで、入力や引数のshapeが正しいのに「ValueError: The two structures don’t have the same nested stru […]...
モルフォロジー変換は実はMaxPoolingだったという話(TensorFlowでの実装)
画像処理の重要な変換に膨張(Dilation)や収縮(Erosion)といったモルフォロジー変換があります。実はこれはディープラーニングでよく使われるMaxPoolingフィルターで置き換えることができます。Tensor […]...
TensorFlowの関数で画像にモザイクを書ける方法
TensorFlow2.0の関数を使い、画像にモザイクをかける方法を紹介します。OpenCVやPILでの書き方はいろいろありますが、TensorFlowでどう書くかはまず出てきませんでした。GPUやTPUでのブーストも使 […]...
TensorFlowでもラプラシアンピラミッドを作る
以前作ったPyTorchのラプラシアンピラミッドをTensorFlow2.0に移植しました。何かと便利なラプラシアンピラミッドをつかってみよう。 環境 TensorFlow2.0 CPUの動作で確認しましたが、一応TPU […]...
TensorFlow2.0でDistributed Trainingをいい感じにやるためのデコレーターを作った
TensorFlow2.0+TPUで訓練していて、いちいちマルチデバイスための訓練・Validationのコード書くの面倒くさいなと思ったので、それをいい感じにラップしてくれるデコレーターを作ってみました。ただ単に「@d […]...
TensorFlow2.0で訓練の途中に学習率を変える方法
TensorFlow2.0で訓練の途中に学習率を変える方法を、Keras APIと訓練ループを自分で書くケースとで見ていきます。従来のKerasではLearning Rate Schedulerを使いましたが、TF2.0 […]...
TensorFlow2.0でDistribute Trainingしたときにfitと訓練ループで精度が違ってハマった話
TensorFlowでDistribute Training(複数GPUやTPUでの訓練)をしたときに、Keras APIのfit()でのValidation精度と、訓練ループを書いたときの精度でかなり(1~2%)違うと […]...
TensorFlow2.0+TPUで複数のモデルを交互に訓練するテスト
GANの利用を想定します。以前TPUだと複数のモデルを同時or交互に訓練するというのは厳しかったのですが、これがTF2.0で変わったのか確かめます。 環境:TensorFlow2.0.0、Colab TPU コード おま […]...