25春-机器学习作业(留档)
首先,在 GitHub 上找到目标项目,并 Fork 到自己的仓库中。 项目地址:
使用以下命令将 Fork 后的仓库克隆到本地:
git clone git@github.com:WuSangui571/tensorflow-minist.git
为了隔离项目环境,使用 Anaconda 创建一个新的虚拟环境。
在 Anaconda Prompt 中执行以下命令,并在提示时输入 y
确认:
conda create -n minist python=3.8
使用编辑器打开本地项目。 示意图如下:
下载 MNIST 数据集,下载地址为: http://yann.lecun.com/exdb/mnist/
下载完成后,将数据集解压并放置在项目根目录下。
6. 安装依赖并试运行项目
激活刚刚创建的虚拟环境,并安装项目所需的 Python 库。安装完成后,尝试运行项目代码。
在此过程中,遇到了以下错误:
运行时报出以下错误:
AttributeError: module 'tensorflow' has no attribute 'InteractiveSession'
错误原因分析:
该项目原本基于 TensorFlow 1.x 开发,使用了
InteractiveSession()
。当前环境安装的是 TensorFlow 2.x,而 2.x 默认启用了 Eager Execution(即时执行模式),不再需要显式创建 Session,因此
InteractiveSession()
已被移除。
8. 解决方法
最简单的兼容方案:启用 TensorFlow 1.x 兼容模式
在项目中进行以下修改即可兼容运行:
替换导入 TensorFlow 的方式:
# 原始代码
# import tensorflow as tf
# 修改后代码
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
这样可以在 TensorFlow 2.x 环境中继续使用 1.x 的写法,快速跑通项目。 (注意:虽然可行,但项目整体依然基于旧版 API)
9. 运行成功及结果截图
修改代码后,项目可以顺利运行,结果示例如下:
使用以下 Git 命令,将本地修改同步到 GitHub 仓库:
git add .
git commit -m "修改 TensorFlow 版本兼容问题"
git push
至此,本次机器学习项目部署、运行与调试已全部完成。 我将把修改后的项目代码(不包含数据集文件)发送给老师;同时,老师也可以通过以下项目主页下载完整代码版本(含数据集):
项目地址:
- 微信
- 赶快加我聊天吧
- 赶快加我聊天吧