質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%

Q&A

解決済

2回答

2314閲覧

tensorflowのTypeError

katsuton

総合スコア7

0グッド

0クリップ

投稿2017/12/21 04:25

###前提・実現したいこと
tensorflowのチュートリアルseq2seqに関するものです。
全くの初心者で何が起きているのかわかりません
ご教授願います
###発生している問題・エラーメッセージ

line 114, in __init__ softmax_loss_function=softmax_loss_function) TypeError: model_with_buckets() got multiple values for argument 'softmax_loss_function'

###該当のソースコード

python

1 if forward_only: 2 self.outputs, self.losses = tf.contrib.legacy_seq2seq.model_with_buckets( 3 self.encoder_inputs, self.decoder_inputs, targets, 4 self.target_weights, buckets, self.target_vocab_size, 5 lambda x, y: seq2seq_f(x, y, True), 6 softmax_loss_function=softmax_loss_function) 7 8 if output_projection is not None: 9 for b in xrange(len(buckets)): 10 self.outputs[b] = [tf.matmul(output, output_projection[0]) + 11 output_projection[1] 12 for output in self.outputs[b]] 13 else: 14 self.outputs, self.losses = tf.contrib.legacy_seq2seq.model_with_buckets( 15 self.encoder_inputs, self.decoder_inputs, targets, 16 self.target_weights, buckets, self.target_vocab_size, 17 lambda x, y: seq2seq_f(x, y, False), 18 softmax_loss_function=softmax_loss_function)

###試したこと

###補足情報(言語/FW/ツール等のバージョンなど)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Neural Machine Translation (seq2seq) Tutorialによると

This version of the tutorial requires TensorFlow Nightly. For using the stable TensorFlow versions, please consider other branches such as tf-1.4.

とのことなので、Installationに示されている通りtf-nightlyの導入が必要だと思われます。
導入手順や注意点などの詳細は各URLを参照ください。

なお、全くの初心者であれば導入も大変かもしれませんので、まずはより簡単なチュートリアルから始めることをお勧めします。

投稿2017/12/21 04:46

can110

総合スコア38252

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mkgrei

2017/12/21 05:58

本当ですね。 https://github.com/tensorflow/nmt/tree/tf-1.4 に自分でTensorflowをコンパイルしなくてよい版がありますが、Githubに載っているチュートリアルであることから、難易度の高さはそれなりに想像できます。 最新版のTensorflowv1.4のfixが必要らしいですし。 どのレベルの初心者かは不明ですが、チュートリアルとは言え、MNISTのエキスパートを容易にこなせるレベルを要求されても不思議ではないですね。
katsuton

2017/12/21 06:44 編集

ありがとうございます 適当に嗜んでいる程度なので何ら説明を読まずしていました。
can110

2017/12/21 08:29

このチュートリアル「ディープラーニング/tensorflow」初心者のためじゃなく、ある程度の知識・経験はあるが「Neural Machine Translation?手法」は初心者のためのもの、のような感じですねぇ。 私には難しくてさっぱりですが^-^;
guest

0

StackOverflowに、該当の質問が既出でしたが、
そのエラーは、ある関数を実行する時に、とある引数を二重に受け取ってしまった場合に生じるものです。
そちらの例だと、おそらくこの処理にて、すでにsoftmax_loss_functionを引数で指定しているのに、
更にsoftmax_loss_functionを指定しているために生じているのかと。

tf.contrib.legacy_seq2seq.model_with_buckets( self.encoder_inputs, self.decoder_inputs, targets, self.target_weights, buckets, self.target_vocab_size, lambda x, y: seq2seq_f(x, y, True), softmax_loss_function=softmax_loss_function)

一度、tf.contrib.legacy_seq2seq.model_with_buckets の引数に
何を指定するべきか確認すると解決すると思います。

投稿2017/12/21 04:36

naosk8

総合スコア86

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問