作成中のニューラル ネットワークの重みを保存するためにテキスト ファイルを使用していますが、このテキスト フィールドに保存されている重みを編集する際に深刻な問題が発生しています。基本的に、私は非常に規則的な形式のファイルを作成しています:Word + \t + Weight + \n。次に、次のコードを使用してこのテキスト ファイルを実行し、パーツを取得します。
with open(Neuron_File, 'r+') as Original_Neurons:
for Neuron in Original_Neurons:
Word_Stem = re.sub(r'^([a-z-]*)([\t]?)([0-9.]*)(\n)$', r'\1', Neuron)
Weight = float(re.sub(r'^([a-z-]*)([\t]?)([0-9.]*)(\n)$', r'\3', Neuron))
これは機能していますが、Weight の値を変更して、同じテキスト ファイルの同じ場所に書き戻せるようにしたいと考えています。希望どおりに変更された新しいファイルを正常に作成できましたが、元のファイルに書き戻す際に奇妙な問題が発生しています。以下のコードを使用しています。
def Replace(New_File, Old_File):
for line in open(New_File):
open(Old_File, 'w').write(str(line))
しかし、何らかの理由で、この関数はファイル内の特定のポイントで単純に壊れます。最初の 80% は正常に転送されますが、その後、行の途中で一見ランダムなポイントでファイルが切断されます。何か案は?同様のトピックに関する他の質問があることは知っていますが、いずれも私の状況には当てはまらないようであり、私が得ているような別のエラーについての言及は見つかりません。
問題はナビゲート可能ですが、私の主な関心は、このエラーの原因です。私はそのようなものを見たことがなく、何が起こっているのかわからなかったので興味をそそられました。