tensorflow学习过程记录

目录

一、异常、错误

1、tensorboard报错无法打开显示

2、导入matplotlib.pyplot失败

3、pandas、sklearn导入失败

4、报错No module named 'tensorflow.examples.tutorials'

5、jupyter报错ProfilerNotRunningError: Cannot stop profiling. No profiler is running. tensorboard报错Windows fatal exception: access violation

6、导入docx失败

7、AttributeError: module 'PIL.Image' has no attribute 'imresize'

8、通过tf.keras.applications.InceptionV3获取InceptionV3模型时,报错AttributeError: 'str' object has no attribute 'decode'

9、猫狗大战迁移学习代码中,模型预测的代码报错

二、操作方法

1、打开tensorboard

2、tensorboard查看某个日志目录的图数据

参考文章


一、异常、错误

1、tensorboard报错无法打开显示

ModuleNotFoundError: No module named 'tensorflow_core.estimator'

        解决:发现tensorflow-estimator与tensorflow的版本不匹配,tensorflow是2.0.0,tensorflow-estimator是2.6.0,使用如下代码进行版本降级到2.0.0:

conda install tensorflow-estimator=2.0.0

        根据上述方法,仍然无法实现,根据参考资料6,把tf.summary.FileWriter(path, sess.graph)的path改为本地的日志目录,这里的本地目录选择'D:/sdxx/log_CNN_single',之后在anaconda prompt中,先进入本地目录,再把日志的地址指向这个本地目录:

cd D:\sdxx\log_CNN_single
tensorboard --logdir=D:\sdxx\log_CNN_single

2、导入matplotlib.pyplot失败

        jupyter notebook(tf2)虚拟环境中,以下代码导入报错,提示不存在包,

import matplotlib.pyplot as plt

        那就在anaconda prompt中install对应的matplotlib,这里选择了3.3.4版本,其中对应python3.7,可以使用conda search [包名] 查看相应包的版本信息。

conda install matplotlib=3.3.4

3、pandas、sklearn导入失败

        在anaconda prompt中安装了pandas,但是在jupyter notebook(tf2)虚拟环境中,导入pandas包仍然一直报错,直到看见(base)这个怪怪的标志,才发现是没有切换虚拟环境。。。

        如何解决?在anaconda prompt中,首先(每次开启prompt后的第一步,也是最重要的一步),使用如下代码切换虚拟环境到tf2:

conda activate tf2

        然后再通过conda安装pandas、scikit-learn等包:

conda install pandas
conda install scikit-learn

        这里的scikit-learn对应的是sklearn,注意安装时的名字。

4、报错No module named 'tensorflow.examples.tutorials'

        使用如下代码导入input_data时发生报错:

from tensorflow.examples.tutorials.mnist import input_data

        查阅资料,发现是当前虚拟环境(我的虚拟环境名是tf2)的tensorflow的examples中,不存在tutorials文件夹,因此,只要找到这个tutorials文件夹,并将它复制/移动到该目录下,tensorflow就可以正确使用mnist数据集的相关操作。

        首先,查看tf2虚拟环境的tensorflow目录:

print(tf.__file__) 

        我的tensorflow目录是(因机器而异):

D:\sdxx\Anaconda3\envs\tf2\lib\site-packages\tensorflow_core\examples

        然后,找到该目录,做好准备。

        接着,按照许多帖子的说法,需要到tensorflow官方的GitHub中下载tutorials,但目前官方已不提供该文件夹,因此下载某博主提供的文件夹(请查看参考文章3,点击相应的某盘链接进行安装),成功解决该问题,复制/移动后的目录如下图所示:

成功复制/移动tutorials文件夹后的效果示例

        接下来就可以正常导入,然后对MNIST数据集进行相应的训练啦!

5、jupyter报错ProfilerNotRunningError: Cannot stop profiling. No profiler is running. tensorboard报错Windows fatal exception: access violation

        找博客搜资料找了半天,最后发现是tensorboard命令没有输对,一定要进入日志所在目录,我的在C盘/用户/logs/中,要先通过cd进入该目录,然后执行如下代码,最后就能在tensorboard中正确查看相关图数据。

tensorboard --logdir .

6、导入docx失败

        在anaconda prompt中,首先(每次开启prompt后的第一步,也是最重要的一步),使用如下代码切换虚拟环境到tf2:

conda activate tf2

        然后再通过pip安装python-docx包:

pip install python-docx

7、AttributeError: module 'PIL.Image' has no attribute 'imresize'

        这里尝试通过其他方法转换实现imresize的功能,但是找不到突破点,于是尝试把scipy的版本降级为1.1.0,暂时解决该问题,后续遇到有能力再解决。

8、通过tf.keras.applications.InceptionV3获取InceptionV3模型时,报错AttributeError: 'str' object has no attribute 'decode'

        由于Python3的str默认不是bytes,需要先encode转为bytes,再decode;Python2的str默认是bytes,所以可以decode。

        通过把h5py降级为2.10.0,即可解决

9、猫狗大战迁移学习代码中,模型预测的代码报错

##模型预测
#1.载入模型
with open('./models/cat_dog.yaml') as yamlfile:
    loaded_model_yaml=yamlfile.read()
model=tf.keras.models.model_from_yaml(loaded_model_yaml)
model.load_weights('./models/cat_dog.h5') #导入模型的权重参数

        错误是代码line3的load函数缺少必填的Loader参数:

TypeError: load() missing 1 required positional argument: 'Loader'

        由于Yaml 5.1版本后弃用yaml.load(file),Yaml 5.1版本后需要指定Loader,通过默认加载器(FullLoader)禁止执行任意函数使得此load函数的安全得到加强。

        通过降低pyyaml版本即可。修改成

pip install pyyaml==5.3


二、操作方法

1、打开tensorboard

tensorboard --logdir=<directory_name>

        举个例子,我的日志文件存放在E盘的log文件夹中:

tensorboard --logdir=E:/log

        稍等片刻,当出现如下信息时,表示启动成功,在浏览器中打开该网页即可。

TensorBoard 2.8.0 at http://localhost:6006/

2、tensorboard查看某个日志目录的图数据

        .表示当前目录

tensorboard --logdir .

参考文章

1.

ModuleNotFoundError: No module named ‘tensorflow_core.estimator‘_modulenotfounderror: no module named 'tensorflow.c-CSDN博客

2.

TensorBoard最全使用教程:看这篇就够了-CSDN博客

3.

No module named ‘tensorflow.examples.tutorials‘报错解决办法_p2p_菜鸟1号!!-CSDN学习社区

4.

tensorboard 报错 Windows fatal exception: access violation-CSDN博客

5.​​​​​​

python读取文件报错:ProfilerNotRunningError: Cannot stop profiling. No profiler is running._python 关闭 profiling-CSDN博客

6.

tensorboard 报错 Windows fatal exception: access violation-CSDN博客

7.

TensorFlow学习日记:使用tf.keras读取model_weights.h5文件时遇到‘str‘ object has no attribute ‘decode‘问题解决_tf.keras.applications.'str' object has no attribut-CSDN博客

8.

python TypeError: load() missing 1 required positional argument: ‘Loader‘-CSDN博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值