pythonはnpy形式ファイルをtxtファイルに変換する操作を実現します。

4899 ワード

下記のコードはnpyのフォーマットデータを読み出してコンソールに出力します。

import numpy as np
 
##      ,       
import sys
np.set_printoptions(threshold=sys.maxsize)
 
boxes=np.load('./input_output/boxes.npy')
print(boxes)
np.savetxt('./input_output/boxes.txt',boxes,fmt='%s',newline='
') print('---------------------boxes--------------------------')
下記のコードでnpy形式ファイルをtxtに変換し、現在のディレクトリと同じファイル名に保存します。
フォルダ全体の下にある複数のファイルを変換することができます。

import os
import numpy as np
path='./input_output' #        npy  ,
txtpath='./input_output'
namelist=[x for x in os.listdir(path)]
for i in range( len(namelist) ):
 datapath=os.path.join(path,namelist[i]) #specific address
 print(namelist[i])
 data = np.load(datapath).reshape([-1, 2]) # (39, 2)
 np.savetxt('%s/%s.txt'%(txtpath,namelist[i]),data)
print ('over')
import os
import numpy as np
path='./input_output' #        npy  
txtpath='./input_output'
namelist=[x for x in os.listdir(path)]
for i in range( len(namelist) ):
 datapath=os.path.join(path,namelist[i]) #specific address
 print(namelist[i])
 #data = np.load(datapath).reshape([-1, 2]) # (39, 2)
 input_data = np.load(datapath) # (39, 2)
 data = input_data.reshape(1, -1)
 np.savetxt('%s/%s.txt'%(txtpath,namelist[i]),data)
print ('over')
同じコードで、単一のnpyファイルを読み込み、txtとして保存することができます。

import numpy as np
input_data = np.load(r"C:\test.npy")
print(input_data.shape)
data = input_data.reshape(1,-1)
print(data.shape)
print(data)
np.savetxt(r"C:\test.txt",data,delimiter=',')
pycharmのコンソールのサイズを変更します。
Pythonのエディタとしてpycharmを使っている場合、コンソールのbufはデフォルトで1024です。出力データが多すぎると、buffサイズを変更する必要があります。
すべてのデータ出力、修正方法:
pycharmインストールディレクトリのbinディレクトリの下でidea.propertiesファイルを見つけて、idea.cycle.buffer値を修正します。もともとは1024です。
(-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------Oldline.cleyder.Inders----------idea.cycle.buffer.size=102400
補足知識:npy形式のファイルを読み込む
npyファイルはネットワークの重み付けを保存します。
問題:Ubuntu環境下でgeditでnpyファイルを開くと、このような内容は全く見られません。

解決方法:復号後のファイル内容をコンソールに出力するコードを作成します。

import numpy as np
context = np.load('E:/KittiSeg_pretrained0/vgg16.npy',encoding="latin1")
print(context)
ファイルの位置は自分の保管場所によって変更します。
運転コード出力結果は

{'conv1_2': [array([[[[ 1.66219279e-01, 1.42701820e-01, -4.02113283e-03, ...,
      6.18828237e-02, -1.74057148e-02, -3.00644431e-02],
     [ 9.46945231e-03, 3.87477316e-03, 5.08365929e-02, ...,
     -2.77981739e-02, 1.71373668e-03, 6.82722731e-03],
     [ 6.32681847e-02, 2.12877709e-02, -1.63465310e-02, ...,
      8.80054955e-04, 6.68104272e-03, -1.41139806e-03],
     ...,
     [ 3.47490981e-03, 8.47019628e-02, -4.07223180e-02, ...,
     -1.13523193e-02, -7.48998486e-03, 3.19077494e-03],
     [ 5.97234145e-02, 4.97663505e-02, -3.23118735e-03, ...,
      1.43114366e-02, 3.03175431e-02, -4.23925705e-02],
     [ 1.33459672e-01, 4.95484173e-02, -1.78808011e-02, ...,
      2.25385167e-02, 3.02020740e-02, -2.17075031e-02]],

    [[ 2.12007999e-01, 2.10127644e-02, -1.47626130e-02, ...,
      2.29580477e-02, 1.23102348e-02, -3.08422819e-02],
     [-2.62175221e-03, 7.42094172e-03, 6.74030930e-02, ...,
     -3.06594316e-02, 1.80578313e-03, 4.27369215e-03],
     [ 2.27197763e-02, -1.07841045e-02, -1.31095545e-02, ...,
     -1.15751950e-02, 4.18359675e-02, -1.92268589e-03],
     ...,
     [-2.70304317e-03, 7.41161704e-02, -3.32262330e-02, ...,
     -1.10277236e-02, 1.39831286e-02, 5.34419343e-03],
     [-3.20506282e-02, -2.40584910e-02, -4.52397857e-03, ...,
     -6.04042644e-03, 2.01962605e-01, -5.04491515e-02],
     [ 1.68114193e-02, -2.33167298e-02, -1.40886130e-02, ...,
     -7.79278344e-03, 1.28428593e-01, -2.58184522e-02]],

  [[-5.91698708e-03, -2.26223674e-02, 4.88128467e-03, ...,
    4.13784146e-04, -4.84175496e-02, 1.63675251e-03],
   [-3.93767562e-03, 9.07397643e-03, 5.36517277e-02, ...,
   -2.56106984e-02, -4.17886395e-03, 2.47476017e-03],
   [-3.07008922e-02, -1.09781921e-02, -3.69096454e-03, ...,
   -1.19221993e-02, -1.39777903e-02, 8.52933805e-03],
   ...,
   ..........................................
以上のpythonはnpy形式ファイルをtxtファイルに変換して操作します。つまり、小編は皆さんに共有している内容です。参考にしてもらいたいです。どうぞよろしくお願いします。