私は単語の生成にpytorchを使用していますあなたに良いアイデアシングルトンnumpy配列アイテムをリストに追加する方法は?
` prediction = prediction.data.max(1)[1] #gives a tensor value
prediction = (prediction.cpu().numpy().item()) #converts that tensor into a numpy array
result.append(int_to_word[prediction])`
を与えるであろう最初のコードを添付しています。線prediction = prediction.data.max(1)[1]
は、最大確率を持つクラスラベルを与え、テンソル値であることが分かります。
prediction = (prediction.cpu().numpy().item())
このステートメントは、テンソルをnumpy配列に変換し、関数item()
は配列から値を抽出します。
は今、私はこのエラーを取得しています理由として理解することはできませんよ、私は次のエラー 'numpy.ndarray' object has no attribute 'append'
を取得していますpattern.append(prediction)
を使用して、この値を追加しようとします。私はすでにnumpy配列をscalr値に変換しています。それでも、なぜ私はそのエラーを取得していますか?
誰でも説明して解決策を提供できますか?私は最も感謝しています。
、それはあなたがメソッドを呼び出して、そこから自分の 'result'('のように見えます。 append')は 'numpy.ndarray'ですが、おそらくあなたはそれがリストであることを期待しています。それをリストとして初期化してみるか、 'numpy.concat'を使用してください。 –
コメントありがとうございました。予測はクラスnumpyであるようです。 '.tolist()'関数を使ってリストに変換しました。今は魅力のように働いています。 :) –