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

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

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

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Q&A

解決済

2回答

1351閲覧

バイナリファイルを復元する方法を教えていただきたいです。

iface

総合スコア42

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

0グッド

0クリップ

投稿2022/12/23 05:28

前提

現在FPGAのディープラーニング実装に伴い、デフォルトのデータセットがバイナリファイルのためデータがどのように配列されているのか確認したいため、復元する方法を知りたいと思っています。

実現したいこと

ここに実現したいことを箇条書きで書いてください。

  • ▲▲機能を動作するようにする

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

python

1class Cucumber9(DenseDesignMatrix): 2 def __init__(self, which_set): 3 4 self.path = '/home/murakami/CUCUMBER-9/prototype_1' 5 self.img_shape = (3, 32, 32) 6 self.img_size = np.prod(self.img_shape) #3072 7 8 if which_set in {'train'}: 9 X, y = self.load_data() 10 elif which_set in {'test', 'valid'}: 11 X, y = self.load_data_test() 12 13 X = X.astype('float32') 14 15 super(CUCUMBER9, self).__init__(X=X, y=y) 16 17 def unpickle(self, file_name): 18 with open(file_name, 'rb') as f: 19 if sys.version_info.major == 2: 20 return pickle.load(f) 21 elif sys.version_info.major == 3: 22 return pickle.load(f, encoding='latin-1') 23 24 def load_data(self): 25 26 nb_train_samples = 2475 27 28 X = np.zeros((nb_train_samples, self.img_size), dtype='uint8') 29 y = np.zeros((nb_train_samples,1), dtype='uint8') 30 for i in range(1, 6): 31 fpath = os.path.join(self.path, 'data_batch_' + str(i)) 32 batch_dict = self.unpickle(fpath) 33 34     print('batch_dict = '+batch_dict) 35 36 data = batch_dict['data'] 37 labels = batch_dict['labels'] 38 39 X[(i-1)*495:i*495, :] = data.reshape(495, self.img_size) 40 y[(i-1)*495:i*495, 0] = labels 41 42 return X, y 43 44

試したこと

34行目のようにprint文を追加して確認してみましたが、省略された形で辞書型の配列が出力されます。
できれば、省略されない形で出力できる方法を教えていただきたいです。

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

python2.7

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

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

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

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

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

can110

2022/12/23 05:52

省略された形で出力される値の型はなんでしょうか?(numpy.arrayなど?)
iface

2022/12/23 06:33

おそらくnumpy.arrayだと思います。 以下のような形で格納しておりまして、あまりにもデータが長すぎるので、間のデータが...のように省略されていました。 {'filename':[ '~.csv', '~.csv', ...],   'labels':[ 0, 0, , ...], 'data':array([[-440,-910,... ],[1135,-1031,.... ],[ ]...])}
guest

回答2

0

ありがとうございます。
やってみます。

投稿2022/12/23 07:21

iface

総合スコア42

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

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

0

ベストアンサー

できれば、省略されない形で出力できる方法を教えていただきたいです。

numpypandasなど、具体的な方法はそれぞれ異なりますが、その型において省略されないように出力できるようなオプション(があれば)を指定すればよいです。

Python

1import sys 2import numpy as np 3import pandas as pd 4 5np.set_printoptions(threshold=sys.maxsize) 6 7pd.set_option('display.max_rows', None) 8pd.set_option('display.max_columns', None) 9pd.set_option('display.width', None) 10 11batch_dict = { 12 'list':[i for i in range(100)], 13 'dict':{i:i for i in range(100)}, 14 'numpy':np.zeros((1,100)), 15 'df':pd.DataFrame([[i for i in range(100)]])} 16print(batch_dict) 17""" 18{'list': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99], 'dict': {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, 10: 10, 11: 11, 12: 12, 13: 13, 14: 14, 15: 15, 16: 16, 17: 17, 18: 18, 19: 19, 20: 20, 21: 21, 22: 22, 23: 23, 24: 24, 25: 25, 26: 26, 27: 27, 28: 28, 29: 29, 30: 30, 31: 31, 32: 32, 33: 33, 34: 34, 35: 35, 36: 36, 37: 37, 38: 38, 39: 39, 40: 40, 41: 41, 42: 42, 43: 43, 44: 44, 45: 45, 46: 46, 47: 47, 48: 48, 49: 49, 50: 50, 51: 51, 52: 52, 53: 53, 54: 54, 55: 55, 56: 56, 57: 57, 58: 58, 59: 59, 60: 60, 61: 61, 62: 62, 63: 63, 64: 64, 65: 65, 66: 66, 67: 67, 68: 68, 69: 69, 70: 70, 71: 71, 72: 72, 73: 73, 74: 74, 75: 75, 76: 76, 77: 77, 78: 78, 79: 79, 80: 80, 81: 81, 82: 82, 83: 83, 84: 84, 85: 85, 86: 86, 87: 87, 88: 88, 89: 89, 90: 90, 91: 91, 92: 92, 93: 93, 94: 94, 95: 95, 96: 96, 97: 97, 98: 98, 99: 99}, 'numpy': array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 19 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 20 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 21 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 22 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 23 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 24 0., 0., 0., 0.]]), 'df': 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 250 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99} 26"""

投稿2022/12/23 06:10

can110

総合スコア38352

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問