Tensorflow
最初に Tenosorflow2.0においてtf.functionでデコレートした関数の内部でtf.gatherを使用し、勾配を計算すると以下のようなエラーが出ました。 AssertionError: Expected all args to be Tensors or Variables; but got CompositeTensor エラーの原因 問題の…
最初に ニューラルネットワーク(NN)において、学習を反復して行うことでNNの精度を向上させますが、あまり学習を反復させすぎると過学習が起こる可能性があります。そこで、過学習が起こる前、または最も精度が高い(何らかの評価指標において良い結果が出て…
以下のように学習を行ったモデルを読み込み、実行をしようとすると「TypeError: '_UserObject' object is not callable load」というエラーがでました。 学習と保存 class ClassifierModel(tf.keras.Model): # モデルのレイヤー定義 def __init__(self, **kw…
最初に 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…
Tensorflow1.x系でif文のような条件分岐を実装したい場合はtf.condを利用します(Tensorflow2.x系でも使用可能)。 www.tensorflow.orgtf.condは以下のような引数を渡してあげる必要があります。 tf.cond( pred # 条件式(直接True or Falseを指定可能) true_fn…
最初に Tensorflowではnumpyやlistのように標準のTensorオブジェクトではジャグ配列に対応していません。ですが、tf.raggedを使用すればジャグ配列にも対応することができます。今回はそのtf.raggedの簡単な使い方とtf.concatやtf.ragged.stackの違いを解説…
最初に 前回の記事でTensorflow1.13.1のEager Executionでmnistの分類モデルを作成しました。 www.kuroshum.com上の記事はほんの何時間前かに作成した記事なのですが、tensorflow1.15でないと使えない関数があり、色々と面倒になったのでTensorflow2に鞍替え…
最初に Tensorflow2.x系ではtf.functionという機能が追加されてています。(tensorflow1.x系のeagerモードでも使えるかもしれませんが、確認していないです...) www.tensorflow.orgTensorflow2.x系はdefine by runで実行されるので、tensorflow1.xのように計…
はじめに Tensorflow1.Xでは以下の記事で解説したようにDefine and Runで実行するのがデフォルトでした。 www.kuroshum.comDefine and Runとは以下の画像のように、最初に処理の金型(グラフ)を作成してから実行する際にデータを入力することで、処理を行う形…
はじめに 前回の記事はこちら kurora-shumpei.hatenablog.com この記事では、前回の記事で解説した用語を元に、実際に、Tensorflowで簡単な線形回帰モデルを実装して、実装上に用いた関数などの説明を行います。また、本記事はTensorflow1.xの解説で、Tensor…
はじめに 最近、機械学習や深層学習が広く知られるようになりました。それに加え、一部の専門的な知識を持った研究者やエンジニアだけでなく、専門外の学生や社会人の方々が「機械学習・深層学習を使ってこんな事をしてみた」といった試みをよくqitaやはてな…