Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在Google Colab上下载TensorFlow训练模型?_Python_Tensorflow_Machine Learning_Model - Fatal编程技术网

Python 如何在Google Colab上下载TensorFlow训练模型?

Python 如何在Google Colab上下载TensorFlow训练模型?,python,tensorflow,machine-learning,model,Python,Tensorflow,Machine Learning,Model,我是一个新手,正在研究机器学习,我在GoogleColab上创建了一个模型 我的目标是在Android应用程序中使用该模型进行离线预测。所以我需要下载经过训练的模型 我只知道我需要将我的模型保存为.pb文件,以便制作我的Android应用程序。我到处寻找,也许有答案,但它们太短了,我无法理解 所以我们需要非常详细的答案 是我的Test.ipynb文件,是否有人能花点时间来训练该模型,看看我们能否将其下载到本地驱动器。这就是我如何从Collab保存和下载模型文件的方法 仅保存可训练变量(这些是我的

我是一个新手,正在研究机器学习,我在
Google
Colab
上创建了一个模型

我的目标是在Android应用程序中使用该模型进行离线预测。所以我需要下载经过训练的模型

我只知道我需要将我的模型保存为
.pb
文件,以便制作我的Android应用程序。我到处寻找,也许有答案,但它们太短了,我无法理解 所以我们需要非常详细的答案


是我的
Test.ipynb
文件,是否有人能花点时间来训练该模型,看看我们能否将其下载到本地驱动器。

这就是我如何从Collab保存和下载模型文件的方法

  • 仅保存可训练变量(这些是我的存储/恢复FN):
  • 代码如下:

    def store(sess_var, model_path):        
        if model_path is not None:
            saver = tf.train.Saver(var_list=tf.trainable_variables())
            save_path = saver.save(sess_var, model_path)
            print("Model saved in path: %s" % save_path)
        else:
            print("Model path is None - Nothing to store")
    
    
    
    def restore(sess_var, model_path):
        if model_path is not None:
            if os.path.exists("{}.index".format(model_path)):
                saver = tf.train.Saver(var_list=tf.trainable_variables())
                saver.restore(sess_var, model_path)
                print("Model at %s restored" % model_path)
            else:
                print("Model path does not exist, skipping...")
        else:
            print("Model path is None - Nothing to restore")
    
  • 压缩存储模型的目录-确保它不包含任何其他内容:
    !tar-czvf model.tar.gz models/

  • 下载模型:

    从google.colab导入文件
    下载('model.tar.gz')

  • 由于您只存储可训练变量,而不是整个会话,因此模型的大小很小,因此可以下载。请务必使用
    Chrome
    -我无法在Firefox上获得最后一个代码片段。

    这应该可以做到:

    import tensorflow as tf
    from google.colab import files
    
    
    # Specify export directory and use tensorflow to save your_model
    export_dir = './saved_model'
    tf.saved_model.save(your_model, export_dir=export_dir)
    
    请注意,导出目录包含多个文件,但如果您只想下载.pb文件,则应执行以下操作

    # Download the model
    files.download(export_dir + '/saved_model.pb')
    

    我不知道为什么Stackoverflow不能正确格式化我的python代码——如果有人能帮助我,那就太好了。您好,“您的模型存储在哪里”是什么意思?我有以下错误:tar:models:Cannot stat:No这样的文件或目录tar:Exiting with failure status由于以前的错误您将
    .pb
    文件存储在名为
    models
    的目录中,请执行上述步骤。我的观点是压缩所有生成的
    saver.save
    并从Collab下载。对不起,我的本地驱动器中没有.pb文件,所有的东西都在Google服务器上运行。也许我不明白你的意思。你能不能写一些能用的东西呢?.pb或
    protobuf
    文件是由
    tf.train.Saver
    存储在你的协作机器上的。我已经给你密码了。您可以假定传递到我上面提供的
    store
    函数的
    model\u路径是
    models/my\u model.pb
    sess\u var
    是会话变量。