クロの制作日記

tf.saved_model.load()でのTypeError: '_UserObject' object is not callable loadの対処法

以下のように学習を行ったモデルを読み込み、実行をしようとすると「TypeError: '_UserObject' object is not callable load」というエラーがでました。 学習と保存 class ClassifierModel(tf.keras.Model): # モデルのレイヤー定義 def __init__(self, **kw…

scikit-learnでデータをTrain・Test・Varidationに分割する方法

機械学習においてデータをTrain(学習)・Test(テスト)・Validation(検証)データに分割したい場合があると思いますが、scikit-learnの関数にはTrainとTestデータに分割するtrain_test_split()しかありません。言うてもそんなに難しい処理ではないので自分でコ…

C++で数字の文字列(区切り文字つき)をsplitする関数

最初に 某プログラムスキルチェックサイトで「3 19 2」のような、空白で数字が区切られている文字列が入力されることがありました。そんな場合でも各々の数字をint型として取得する関数を作成しましたので共有します。C++初心者ですので、あまりよろしくない…

Tensorflowのwhile_loopで配列に値を結合する方法

最初に tf.while_loopで以下のように配列に値を結合していくとエラーが吐かれます。 def add(x): return x+1 def condition(_i, x): return _i < 4 def update(_i, x): x = tf.concat([x, [_i]],axis=0) return _i+1, x ind = tf.constant(0) v1 = tf.Variab…

tf.condで引数ありの関数を使いたい場合

Tensorflow1.x系でif文のような条件分岐を実装したい場合はtf.condを利用します(Tensorflow2.x系でも使用可能)。 www.tensorflow.orgtf.condは以下のような引数を渡してあげる必要があります。 tf.cond( pred # 条件式(直接True or Falseを指定可能) true_fn…

tensorflowでのジャグ配列の扱い(tf.ragged.stackとtf.stack・tf.concatの違い)

最初に Tensorflowではnumpyやlistのように標準のTensorオブジェクトではジャグ配列に対応していません。ですが、tf.raggedを使用すればジャグ配列にも対応することができます。今回はそのtf.raggedの簡単な使い方とtf.concatやtf.ragged.stackの違いを解説…

初心者が頑張るTensorflow2入門(NN + CNNでのmnist分類)

最初に 前回の記事でTensorflow1.13.1のEager Executionでmnistの分類モデルを作成しました。 www.kuroshum.com上の記事はほんの何時間前かに作成した記事なのですが、tensorflow1.15でないと使えない関数があり、色々と面倒になったのでTensorflow2に鞍替え…