无法从Google Colab保存Tensorflow模型

用户名

我正在尝试从google colab保存我的tensorflow模型,但这给了我一个错误,我不知道为什么它给出了与``无法序列化tensorflow.GraphDef的协议缓冲区的序列化相关的错误(2897149641bytes)会大于限制(2147483647字节)',同时附加我已经使用的代码,下面我附加了弹出的错误

x = tf.placeholder(tf.float32, shape = [None, 4])
y_true = tf.placeholder(tf.float32, shape = [None, 4])

hidden_layer_1 = tf.layers.dense(x, 100, activation = tf.nn.relu)
hidden_layer_2 = tf.layers.dense(hidden_layer_1, 100, activation = tf.nn.relu)
output = tf.layers.dense(hidden_layer_2, 4, activation = tf.nn.sigmoid)

cost_func = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(labels=y_true,logits=output))
optimizer = tf.train.AdamOptimizer(learning_rate=0.001)
train = optimizer.minimize(cost_func)

init = tf.global_variables_initializer()
saver = tf.train.Saver()

steps = 100
cost_train = []
cost_test = []
accu_train = []
accu_test = []
with tf.Session() as sess:

    sess.run(init)

    for i in range(steps):


        _, c_train, pred_train = sess.run([train, cost_func, output],feed_dict={x:X_train,y_true:y_train})
        _, c_test, pred_test = sess.run([train, cost_func, output],feed_dict={x:X_test,y_true:y_test})

        matches_train = tf.equal(tf.argmax(pred_train,1),tf.argmax(y_train,1))
        matches_test = tf.equal(tf.argmax(pred_test,1),tf.argmax(y_test,1))

        acc_train = tf.reduce_mean(tf.cast(matches_train,tf.float32))
        acc_test = tf.reduce_mean(tf.cast(matches_test,tf.float32))

        a_train = sess.run(acc_train,feed_dict={x:X_train,y_true:y_train,})
        a_test = sess.run(acc_test,feed_dict={x:X_test,y_true:y_test,})

        cost_train.append(c_train)
        cost_test.append(c_test)

        accu_train.append(a_train)
        accu_test.append(a_test)

        print('Currently on step {}'.format(i))
        print('TRAIN ERROR =', c_train,  '\t', 'TEST ERROR =', c_test)
        print('TRAIN ACCURACY =', a_train,  '\t', 'TEST ACCURACY =', a_test)
        print('---------------------------------------------------------------------------------------------------------------------------------------------------------')
    save_path = saver.save(sess, "/content/drive/My Drive/data/model/model.ckpt")
    final_pred = sess.run(output,feed_dict={x:test})
---------------------------------------------------------------------------
InvalidArgumentError                      Traceback (most recent call last)
<ipython-input-56-f10b5e5ffc9f> in <module>()
     29         accu_test.append(a_test)
     30 
---> 31         save_path = saver.save(sess, "model.ckpt")
     32 
     33         print('Currently on step {}'.format(i))

3 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/saver.py in save(self, sess, save_path, global_step, latest_filename, meta_graph_suffix, write_meta_graph, write_state, strip_default_attrs, save_debug_info)
   1198               meta_graph_filename,
   1199               strip_default_attrs=strip_default_attrs,
-> 1200               save_debug_info=save_debug_info)
   1201 
   1202     if self._is_empty:

/usr/local/lib/python3.6/dist-packages/tensorflow/python/training/saver.py in export_meta_graph(self, filename, collection_list, as_text, export_scope, clear_devices, clear_extraneous_savers, strip_default_attrs, save_debug_info)
   1241     return export_meta_graph(
   1242         filename=filename,
-> 1243         graph_def=ops.get_default_graph().as_graph_def(add_shapes=True),
   1244         saver_def=self.saver_def,
   1245         collection_list=collection_list,

/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/ops.py in as_graph_def(self, from_version, add_shapes)
   3463     """
   3464     # pylint: enable=line-too-long
-> 3465     result, _ = self._as_graph_def(from_version, add_shapes)
   3466     return result
   3467 

/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/ops.py in _as_graph_def(self, from_version, add_shapes)
   3388     with self._lock:
   3389       with c_api_util.tf_buffer() as buf:
-> 3390         c_api.TF_GraphToGraphDef(self._c_graph, buf)
   3391         data = c_api.TF_GetBuffer(buf)
   3392       graph = graph_pb2.GraphDef()

InvalidArgumentError: Cannot serialize protocol buffer of type tensorflow.GraphDef as the serialized size (2897149641bytes) would be larger than the limit (2147483647 bytes)
几何

您正在创建matches_train/testacc_train/test张量每次循环运行时,他们都被添加到该图形。可以将它们移出循环,也可以替换为numpy函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从Google Colab保存完整的Tensorflow模型

Tensorflow无法保存模型

无法在Google Colab中加载spaCy模型

Google COLAB免费版本保存Keras训练的模型

训练好的模型无法保存 tensorflow keras

无法在 Tensorflow 中保存或恢复模型

将TensorFlow检查点保存在Google Colab中

无法使用TensorFlow和TFLEARN保存或加载模型

具有tensorflow 2的Sagemaker无法保存模型

Google Colab Tensorflow模型未在时代中使用所有示例

我可以将在 Google Colab 的 Tensorflow 上创建的“.py”或“.ipynb”模型/文件转换为 coreML 模型/文件吗?

无法加载数据 Google Colab

Google colab 无法添加评论

在Google Colab中保存失败

无法在tensorflow会话中保存tf.contrib.learn宽模型和深模型并在TensorFlow Serving上提供

Google Colab:从本地上传Pytorch模型后,“无法连接到运行时”

无法在Google colab上加载spacy模型'en_core_web_lg'

无法保存滑轨模型

无法保存和恢复训练有素的TensorFlow模型

无法保存子类的TensorFlow 2.1模型-__call __()缺少1个必需的位置参数:'x'

无法在Google Colab中运行Pyspark

无法在Google Colab中安装Textract

google colab错误-无法打开任何内容

无法从Google Colab下载.ckpt权重

无法在Google Colab上安装PySpark

无法在Google Colab中运行FlappyBird PLE

无法在 Google Colab 中读取 csv 文件

在Google Colab中运行TensorFlow测试

使用Google Colab的TensorFlow 1中的TensorBoard