私は履歴書を分類することで構成されるマルチクラスの分類問題に取り組んでいます。scipyスパース行列を入力データとしてピクルしましたか?
私はsklearnとそのTfIdfVectorizerを使って、それを酸洗した後にTensorflowモデルでフィードする大きなscipyスパース行列を取得しました。私のローカルマシンでは、ロードし、小さなバッチを高密度な配列に変換し、フィード辞書を埋めます。すべて素晴らしいです。
今私はMLクラウドで同じことをしたいと思います。私のピクルスはgs://my-bucket/path/to/pickle
に保存されていますが、トレーナーを走らせると、このURI(IOError: [Errno 2] No such file or directory
)でピクルファイルが見つかりません。私はpickle.load(open('gs://my-bucket/path/to/pickle), 'rb')
を使ってデータを抽出しています。私はこれがGCS上のファイルを開く良い方法ではないと思うが、私はGoogle Cloudにとって全く新しいので、適切な方法を見つけることができない。
また、入力データにはTFRecordsまたはCSV形式を使用する必要がありますが、私の方法が機能しない理由はわかりません。行列の密な表現が大きすぎてメモリに収まらないため、CSVは除外されます。 TFRecordsは、そのような効率的でないデータをエンコードできますか?そしてpickleファイルからデータを読み取ることは可能ですか?
詳細な回答をいただきありがとうございました。私はTFRコードを調査しましたが、疎なデータにどのように使用するのか分かりません。 mnistのような高密度配列の場合、784次元配列を各例の1つのフィーチャにエンコードすることができます。私は、疎なデータでは、各フィーチャを別々にエンコードし、データがないときにデフォルト値(0)を設定する必要があると思います。私は正しい? –
スパースデータをエンコードする方法はさまざまです。何をエンコードしようとしていますか? – rhaertel80