本文主要是介绍22/04/09总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
继安装了cuda cudnn最新版之后发现没有对应的tensorflow 因为之前安装的一个2.8.0用这倒也是挺正常的构建了个sequential线性的神经网络,但是在构建的时候虽然能正常跑也能进行训练但是,再用layers给中间层添加初始化和正则化处罚项的时候就直接报错了,而且没法用pycharm进补全(连提示都没)称之为没法正确的引用第三方库,一开始是以为导的包的问题就到处找正确导包的格式,因为在tensorflow2.0下
├── tensorflow├── _api├── compiler├── contrib├── core├── examples├── include├── python├── tools└── __init__.py
keras不是他的子包所以直接引用pycharm会报unresolved reference但是呢它可以正常运行所以问题不在这。
然后我再检查cuda版本和tensorflow版本对应的时候发现我tensorflow2.8.0有点新,cuda11.5也有点新而且tensorflow官网最新的对应关系才到2.6.0。所以干脆重新把这一套重新装一遍。结果发现是anaconda里的keras版本和tensorflow版本不对应(教程都已变得重复cuda和tensorflow和cudnn版本的对应谁知道keras这里还有个坑)细心那细心
4/13更新
在使用mnist数据集进行分类处理的时候,出现了形状不兼容的问题Incompatible shapes: [64,28] vs. [64]
原因在于,密集层无法处理像图像这样的 2D 数据,您应该首先将输入展平为向量,然后将其传递给您的模型,否则,您将在输出中获得其他维度,然后是您的标签和 logits(模型输出)不兼容,你会得到错误。所以要在模型前添加一个展平层
model.add(layers.Flatten(input_shape=(x_train.shape[1:])))#增加这一行代码即可
model.add(layers.Dense(32))
model.add(layers.Dense(32))
model.add(layers.Dense(10))
这篇关于22/04/09总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!