2017-05-31 5 views
0

最近、Tensor Flowでディープラーニングを始めました。私は多くのオンラインリソースを読み、初心者のためにUdacityコースを受講しました。私はディープラーニングの基本原則の多くを得ました。しかし、私が今苦労しているのは、これらのリソースの話題ではありませんでした。私は自分のネットを訓練するために、私自身のラベル付きデータ(CSV形式)を自分のPythonプログラムにどうやって入れられるか分かりません。私はthis postingに出くわして、投稿が示した方法で入力パイプを実装し始めました。私はTensorFlowにCSVデータを取得する方法

sess.run(optimizer, feed_dict={ 
     x: features, 
     y: labels, 
    }) 

TFと私の機能ラベルを供給することによって、私のモデルを訓練しようとするとエラーに

TypeError: The value of a feed cannot be a tf.Tensor object. Acceptable feed values include Python scalars, strings, lists, numpy ndarrays, or TensorHandles. 

Xを投げているし、Yは、プレースホルダとして定義され、セッションはを呼んでいますtf.global_variables_initializer()

x = tf.placeholder(tf.float32, shape=[10, batch_size]) 
y = tf.placeholder(tf.float32) 

しかし、tf.train.shuffle_batchによって返されたオブジェクトはTensorsなのですか?どうすればNumpy Arrayのような有効なデータ型に戻すことができますか?それとも、他のより効率的な方法でデータを読み込むべきでしょうか?

+0

私の答えは問題を解決しましたか? – hars

+0

@harsはい、最初のアプローチが今動作します。私はあなたの2番目のソリューションを試しましたが、私はこれがどのように機能すべきか正確にはわかりません。 – MoVo99

答えて

0

2つの方法で実行できます。

  1. feed_dict付:

    features_numpy,labels_numpy = sess.run([features,labels]) 
    sess.run(optimizer, feed_dict={ x: features_numpy,y: labels_numpy}) 
    

    、セッションを実行し、機能やラベルのnumpyの値を取得し、feed_dictを使用してモデルにそれを養います。しかしこれは、TFデータをNumpyにコピーして、それを再びTFに送るので、非効率的です。効率的な方法はに従ってください。

  2. 避けfeed_fict

    はfeed_dictとプレースホルダを使用しないでください。フィーチャとラベルノードをモデルに直接接続します。それともこの

    x = features 
    y = labels 
    

    は、予測を取得したり、モデルを訓練するsess.run(model_output /損失/精度)を行うのですか。

これが役立ちます。

関連する問題