3-Tensorflow-demo_0801_简单的Saver.py

部署运行你感兴趣的模型镜像


import tensorflow as tf
import os
"""
模型持久化:
    含义:将当前训练好的模型图 和 权重保存到本地磁盘中,方便后续的使用。
    1、服务器训练好了一个模型,迁移到 移动端使用;
    2、深度学习训练都很耗时,耗钱。 可以迁移学习。
"""

def train():
    with tf.Graph().as_default():
        v1 = tf.get_variable(
            'v1', dtype=tf.float32, shape=[1], initializer=tf.random_normal_initializer()
        )
        v2 = tf.get_variable(
            'v2', dtype=tf.float32, shape=[1], initializer=tf.random_normal_initializer()
        )
        rezult = v1 + v2
        # 构建持久化的对象
        saver = tf.train.Saver()

        # 创建持久化的文件路径
        save_file = './models/ai20/model.ckpt'
        dirpath = os.path.dirname(save_file)
        if not os.path.exists(dirpath):
            os.makedirs(dirpath)
            print('成功创建文件夹:{}'.format(dirpath))

        # 二、构建会话
        with tf.Session() as sess:
            sess.run(tf.global_variables_initializer())
            print(sess.run([v1, v2, rezult]))
            """
            [array([0.25989017], dtype=float32), 
            array([-0.12384889], dtype=float32), 
            array([0.13604128], dtype=float32)]
            """
            # 执行持久化
            saver.save(sess=sess, save_path=save_file)
            print('变量成功保存至:{}'.format(save_file))


def restore_var():
    with tf.Graph().as_default():
        v1 = tf.get_variable(
            'v1', dtype=tf.float32, shape=[1], initializer=tf.random_normal_initializer()
        )
        v2 = tf.get_variable(
            'v2', dtype=tf.float32, shape=[1], initializer=tf.random_normal_initializer()
        )
        rezult = v1 + v2

        # 构建持久化的对象
        saver = tf.train.Saver()

        # 创建持久化的文件路径
        save_file = './models/ai20/model.ckpt'
        dirpath = os.path.dirname(save_file)
        if not os.path.exists(dirpath):
            os.makedirs(dirpath)
            print('成功创建文件夹:{}'.format(dirpath))

        # 二、构建会话
        with tf.Session() as sess:
            # 直接恢复变量,所以无需变量初始化
            saver.restore(sess, save_path=save_file)
            print(sess.run([v1, v2, rezult]))
            """
            [array([0.25989017], dtype=float32), 
            array([-0.12384889], dtype=float32), 
            array([0.13604128], dtype=float32)]
            """


if __name__ == '__main__':
    # train()
    restore_var()

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

<think>好的,用户遇到了TensorFlow模块导入错误的问题,具体是ModuleNotFoundError: No module named &#39;tensorflow.python&#39;。首先,我需要分析可能的原因。通常,这种错误可能是由于TensorFlow安装不完整或损坏导致的,也可能是因为环境配置问题,比如Python版本不兼容或者路径问题。 根据用户提供的引用内容,之前有提到过安装依赖的问题,比如引用[3]中的packaging模块缺失,用户可能已经解决过类似的问题。现在的问题是关于tensorflow.python模块找不到,这可能与安装过程中文件损坏有关。 接下来,我需要考虑解决方法。首先,建议用户检查TensorFlow是否正确安装。可能用户安装的是CPU版本,但需要GPU版本,或者安装过程中出现了中断。因此,重新安装TensorFlow是一个可行的步骤,同时指定版本以确保兼容性。例如,使用pip install tensorflow==2.12.0来安装特定版本,避免最新版可能的不兼容问题。 另外,虚拟环境的问题也需要考虑。如果用户使用了conda或其他虚拟环境,可能环境没有正确激活,或者安装路径存在问题。建议用户创建新的虚拟环境,并在其中安装TensorFlow,以避免依赖冲突。 还有可能用户代码中直接引用了tensorflow.python的子模块,这在TensorFlow 2.x中是不推荐的,因为内部结构可能发生了变化。建议用户检查代码,避免直接引用内部模块,而是使用公开的API。 最后,环境变量和路径问题也可能导致模块无法找到。用户需要确保Python解释器的路径正确,并且没有多个Python版本冲突的情况。 总结可能的解决步骤:1. 重新安装TensorFlow;2. 检查Python版本兼容性;3. 使用虚拟环境;4. 检查代码中的引用方式;5. 验证环境路径。需要将这些步骤详细列出,并参考之前的引用内容,比如引用[4]中提到的GPU配置可能相关,但当前问题更可能是安装问题。同时,生成相关问题帮助用户进一步排查。</think>针对TensorFlow模块导入错误$ModuleNotFoundError: No module named &#39;tensorflow.python&#39;$,请按以下步骤排查: 1. **验证TensorFlow安装完整性** - 执行$pip list | grep tensorflow$检查安装版本 - 若显示版本异常(如残留文件),建议强制重装: ```bash pip uninstall tensorflow -y pip install tensorflow==2.12.0 --force-reinstall ``` - GPU用户需确认安装$tensorflow-gpu$包[^2] 2. **检查Python环境路径** - 运行$python -c "import sys; print(sys.path)"$确认路径包含TensorFlow安装目录 - 典型路径应为:$your_env_path/site-packages/tensorflow$ 3. **处理版本兼容性问题** - TensorFlow 2.x中部分模块路径已变更: ```python # 错误引用方式 from tensorflow.python import keras # 正确引用方式 from tensorflow import keras ``` 4. **使用虚拟环境隔离** - 创建新的conda环境避免依赖冲突[^4]: ```bash conda create -n tf_env python=3.8 conda activate tf_env pip install tensorflow==2.12.0 ``` 5. **排查环境配置问题** - 检查CUDA/cuDNN版本与TensorFlow版本的对应关系 - 验证GPU驱动配置是否正确[^4] - 确保未在代码中过早初始化Session影响模块加载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值