zoukankan      html  css  js  c++  java
  • pickle 模块

      在机器学习中,我们常常需要把训练好的模型存储起来,这样在进行决策时直接将模型读出,而不需要重新训练模型,这样就大大节约了时间。Python提供的pickle模块就很好地解决了这个问题,它可以序列化对象并保存到磁盘中,并在需要的时候读取出来,任何对象都可以执行序列化操作。

    Pickle模块中最常用的函数为:

    (1)pickle.dump(obj, file, [,protocol])

            函数的功能:将obj对象序列化存入已经打开的file中。

           参数讲解:

    • obj:想要序列化的obj对象。
    • file:文件名称。
    • protocol:序列化使用的协议。如果该项省略,则默认为0。如果为负值或HIGHEST_PROTOCOL,则使用最高的协议版本。

    (2)pickle.load(file)

            函数的功能:将file中的对象序列化读出。

            参数讲解:

    • file:文件名称。

    (3)pickle.dumps(obj[, protocol])

           函数的功能:将obj对象序列化为string形式,而不是存入文件中。

           参数讲解:

    • obj:想要序列化的obj对象。
    • protocal:如果该项省略,则默认为0。如果为负值或HIGHEST_PROTOCOL,则使用最高的协议版本。

    (4)pickle.loads(string)

           函数的功能:从string中读出序列化前的obj对象。

           参数讲解:

    • string:文件名称。

         【注】 dump() 与 load() 相比 dumps() 和 loads() 还有另一种能力dump()函数能一个接着一个地将几个对象序列化存储到同一个文件中,随后调用load()来以同样的顺序反序列化读出这些对象。

        

    • json,用于字符串 和 python数据类型间进行转换
    • pickle,用于python特有的类型 和 python的数据类型间进行转换
  • 相关阅读:
    PAT 1088. Rational Arithmetic
    PAT 1087. All Roads Lead to Rome
    PAT 1086. Tree Traversals Again
    PAT 1085. Perfect Sequence
    PAT 1084. Broken Keyboard
    PAT 1083. List Grades
    PAT 1082. Read Number in Chinese
    求最大公因数
    [转载]Latex文件转成pdf后的字体嵌入问题的解决
    [转载]Matlab有用的小工具小技巧
  • 原文地址:https://www.cnblogs.com/jmc218/p/11933430.html
Copyright © 2011-2022 走看看