python生成pkl文件(pkl文件的读取和写入)

我在训练UCF101数据集的时候,遇到一个大高玩使用pkl文件,一开始使用它们的数据炮的好好的。后来开始跑自己的数据时,就出问题了。不知道这个pkl到底是个什么东西。

原始的那个大高玩的ucf101的标签数据读取出来是这个样的:

['PommelHorse', 'Surfing', 'HammerThrow', 'PlayingViolin', 'WallPushups', 
'PullUps', 'PizzaTossing', 'SalsaSpin', 'Shotput', 'CricketShot', 'HorseRiding', 'CliffDiving', 'Rowing', 'BenchPress', 'SkyDiving', 'BaseballPitch', 'Lunges', 'Haircut', 'JumpRope', 'Kayaking', 'GolfSwing', 'FrontCrawl', 'Bowling', 
'RopeClimbing', 'BoxingSpeedBag', 'ShavingBeard', 'Swing', 'RockClimbingIndoor', 'ParallelBars', 'Fencing', 'Diving', 'TrampolineJumping', 'PlayingDhol', 
'ApplyEyeMakeup', 'HandstandWalking', 'BandMarching', 'Skijet', 'BrushingTeeth', 'Billiards', 'LongJump', 'TennisSwing', 'BreastStroke', 'Mixing', 
'TableTennisShot', 'Punch', 'VolleyballSpiking', 'PlayingCello', 'JugglingBalls', 'ApplyLipstick', 'Rafting', 'Hammering', 'BalanceBeam', 'Knitting', 'Drumming', 'HighJump', 'PlayingTabla', 'BodyWeightSquats', 'PlayingPiano', 
'HandstandPushups', 'TaiChi', 'Typing', 'SoccerPenalty', 'JavelinThrow', 
'PlayingDaf', 'Biking', 'CricketBowling', 'BlowingCandles', 'SkateBoarding', 'SoccerJuggling', 'BasketballDunk', 'CleanAndJerk', 'HeadMassage', 
'FloorGymnastics', 'SumoWrestling', 'BabyCrawling', 'HulaHoop', 
'FieldHockeyPenalty', 'MoppingFloor', 'Skiing', 'BlowDryHair', 'PoleVault', 'Basketball', 'MilitaryParade', 'PushUps', 'HorseRace', 'PlayingSitar',
 'WalkingWithDog', 'PlayingGuitar', 'StillRings', 'UnevenBars', 'Archery', 
 'BoxingPunchingBag', 'CuttingInKitchen', 'ThrowDiscus', 'Nunchucks', 
 'WritingOnBoard', 'YoYo', 'PlayingFlute', 'IceDancing', 'FrisbeeCatch', 
 'JumpingJack']

如果我们想训练自己的数据,肯定也要按照这个格式自己创建一个pkl格式的标签,没办法啊,谁让咱不会自己搭建完整的框架呢。

不多比比,直接开始

写入pkl

data = ["label1", "label2", "label3", "label4",, "label_i"]
with open("D:/Program Files/pycharm files/JE_Bi-LSTM_CRF/data_path/这边填你的保存路径/medicine.pkl", "wb") as f:
    pickle.dump(data, f)

读取pkl

    fr = open("D:/Program Files/pycharm files/JE_Bi-LSTM_CRF/data_path/这边填你的保存路径/medicine.pkl",'rb')# open的参数是pkl文件的路径
    inf = pickle.load(fr)  # 读取pkl文件的内容
    print(inf)
    fr.close()

就是这么简单

  • 6
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 要读取一个pickle文件,可以使用Python的pickle模块。下面是一个简单的例子: ```python import pickle # 打开pickle文件 with open('filename.pkl', 'rb') as f: # 从文件中加载数据 data = pickle.load(f) # 打印数据 print(data) ``` 其中,`filename.pkl`是pickle文件的名称,`rb`表示以二进制读取模式打开文件。`pickle.load(f)`从文件中加载数据并将其存储在变量`data`中。 请注意,使用pickle加载文件时,您应该只加载您信任的pickle文件,因为pickle文件可以包含任意代码。 ### 回答2: Python读取pkl文件可以使用pickle模块来实现。pickle模块是Python标准库中用于序列化(将数据对象转换为字节流)和反序列化(将字节流转换为数据对象)的模块。 首先,我们需要导入pickle模块: ```python import pickle ``` 接下来,我们可以使用pickle模块的load函数来读取pkl文件中的数据对象: ```python with open('data.pkl', 'rb') as file: data = pickle.load(file) ``` 在上面的代码中,我们使用了`open`函数打开名为'data.pkl'的文件,并将文件对象赋值给`file`。`'rb'`参数表示以二进制读取模式打开文件。然后,我们使用`pickle.load`函数从文件中加载数据对象,并将其赋值给`data`变量。最后,我们使用`with`语句来确保文件在使用后自动关闭,以防止资源泄漏。 读取完成后,我们可以对`data`进行操作,例如打印数据对象的内容: ```python print(data) ``` 需要注意的是,要确保在读取pkl文件时,使用的是与写入时相同的pickle模块和版本,以避免数据解析错误。 综上所述,这就是使用Python读取pkl文件的简要步骤。可以根据具体的需求对读取的数据对象进行进一步操作和处理。 ### 回答3: Python读取pkl文件的方法非常简单。pkl文件Python中用于存储和读取数据对象的文件格式。我们可以使用pickle模块来处理这些文件。 首先,我们需要导入pickle模块。使用`import pickle`即可。 接下来,我们可以使用`pickle.load()`函数来加载pkl文件并将其数据读取Python中的一个变量中。示例如下: ```python import pickle # 打开pkl文件 with open('data.pkl', 'rb') as file: # 使用pickle.load()函数读取数据 data = pickle.load(file) # 打印读取到的数据 print(data) ``` 在这个示例中,我们使用`with open()`语句打开了名为"data.pkl"的pkl文件,并将其存储在一个变量中。然后,我们使用`pickle.load()`函数读取并加载了这个文件中的数据,并将数据存储在变量`data`中。最后,使用`print()`函数打印这个存储的数据。 需要注意的是,`pickle.load()`函数需要传入一个用于读取文件对象,因此我们使用了`'rb'`模式打开文件,其中`'rb'`表示以二进制模式读取文件。 另外,如果我们要读取多个对象,可以使用`pickle.loads()`函数,这个函数可以接收一个包含多个对象的字节流,并返回一个包含这些对象的列表。 总结一下,Python读取pkl文件非常简单,只需要导入pickle模块,使用`pickle.load()`函数读取文件中的数据即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值