问题标签 [efficientnet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tensorflow - 来自高效网络迁移学习的错误预测
我是 TensorFlow 迁移学习的新手,我选择 tfhub 来简化查找数据集的过程,但现在我很困惑,因为当我尝试使用来自互联网的图像时,我的模型给出了错误的预测。我使用了没有微调的efficientnet_v2_imagenet1k_b0 特征向量来训练来自https://www.kaggle.com/drgfreeman/rockpaperscissors的rock-paper-scissors 数据集。我使用图像数据生成器和来自目录的流进行数据处理。
这是我的模型
这是我的火车结果
这是我在这里的测试结果
这是我第二次在使用 tfhub 进行迁移学习时得到这样的结果。我想知道为什么会发生这种情况以及如何解决它,这样这个问题就不会再发生了。非常感谢您的帮助,并为我的英语不好感到抱歉。
python - Tensorflow 神经网络中的形状不正确 - 形状中的批量大小
我正在关注有关在 Keras 上实现 EfficientNet 的教程:
我正在使用自己的数据集,因此必须手动加载它。出于某种原因,批量大小包含在张量形状中,并且会引发错误。
我不断收到错误消息:
前面的 32 显然是批量大小。但我不知道为什么这是形状并且无法弄清楚它是否匹配。
conv-neural-network - 在efficientnet中,为什么要同时执行一个maxpooling和卷积层?
我已经实现了一个 Unet-EfficientNetb2 来分割生物医学图像。当我看到模型摘要时,我在第一层看到以下内容:
型号:“型号”
层(类型)输出形状参数#连接到
input_1 (InputLayer) [(无, 512, 896, 1) 0
stem_conv (Conv2D) (无, 256, 448, 32) 288 input_1[0][0]
stem_bn (BatchNormalization) (None, 256, 448, 32) 128 stem_conv[0][0]
stem_activation (激活) (无, 256, 448, 32) 0 stem_bn[0][0]
block1a_dwconv (DepthwiseConv2D (None, 256, 448, 32) 288 stem_activation[0][0]
我的问题是......是否首先将最大池化应用于原始图像,然后再应用卷积层?我没有找到有关此的信息。
我非常感谢一些信息:)
最好的,
python - 改进 EfficientNet 的结果
晕那里,我还在python中挣扎。现在我将使用 EfficientNet 模型来检测棕榈油的成熟度。我正在使用 5852 张训练图片,分为 4 个班级(每班 1463 张)和 132 张测试图片(每班 33 张)。用 200 epoch 测试后,结果还差得远。我有什么解决方案可以改善结果吗?这是我的模型准确性和模型损失的结果。
这是我的代码
https://colab.research.google.com/drive/18AtIP7aOycHPDR84PuQ7iS8aYUdclZIe?usp=sharing
你的帮助对我来说意义重大。
python - 用于迁移学习的 TensorFlow hub 与 tf.keras.applications
我试图弄清楚使用来自 tensorflow hub 的预训练模型与使用来自 tf.keras.applications 的完全相同的架构之间有什么区别。我已经尝试训练 2 个具有相同架构的模型 - 一个来自 tf hub,另一个来自 tf.keras.applications,这应该会产生可比较的结果,但是结果却大不相同。你能解释一下区别吗?
以下是这两种模型的示例。
第二个
python - EfficientNet B0 模型在测试时无法预测正确的类别
我使用训练数据集训练了一个有效的netB0 模型,该数据集包含大约 400 张军队人员、公众和军用车辆(特别是每个类别的坦克)的图像。在训练集上对其进行训练后,我得到了大约 98% 的准确率,在测试集上,我得到了相当不错的准确率。
测试集上的混淆矩阵为:[Army, general, vehicle]
但是当我尝试预测一个单独的图像时,它并不能很好地预测它。我尝试了 StackOverflow 的不同解决方案,但无法使任何工作。
预测结果为:[0, 1, 0] 军队
python - 微调超模型
我不确定我是否可以使用新的超参数正确调整我的模型。前两个代码块解释了构建,最后一个块是我质疑模型的地方。
我创建了一个模型来设置超参数搜索空间,如下所示:
然后我调整模型以获得最佳超参数:
这是我不确定我是否通过了正确的模型的地方。我正在解冻 tune_model.layers,但我不知道我是否应该只通过 model.layers。当我两者都完成时,我得到了类似的验证准确性,所以我无法判断一种方法或另一种方法是否正确。
python - InvalidArgumentError:不兼容的形状:EfficientNet 分割中的 [25,224,224] 与 [25]
'我的代码哪里是我的错误,请帮助和错误输出 InvalidArgumentError:不兼容的形状:[25,224,224] vs. [25] [[node Equal(定义在 /Users/gorke/dedneme/bakak.py:118)]] [Op :__inference_train_function_589177]
函数调用栈:train_function
2021-11-14 16:36:06.192807: I tensorflow/core/platform/cpu_feature_guard.cc:142] 这个 TensorFlow 二进制文件使用 oneAPI 深度神经网络库 (oneDNN) 进行了优化,以在性能关键操作中使用以下 CPU 指令: AVX AVX2 要在其他操作中启用它们,请使用适当的编译器标志重建 TensorFlow。2021-11-14 22:12:50.532037:W tensorflow/core/framework/op_kernel.cc:1755] 未知:InvalidArgumentError:无法计算 Mul,因为输入 #1(从零开始)应该是浮点张量,但它是bool 张量 [Op:Mul] Traceback(最近一次调用最后一次):
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\script_ops.py”,第 242 行,调用 返回函数(设备、令牌、参数)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\script_ops.py”,第 131 行,调用 ret = self._func(*args)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\autograph\impl\api.py”,第 302 行,在包装器中返回 func(*args, **kwargs)
文件“C:/Users/gorke/dedneme/segmentation.py”,第 121 行,在 get_iou_vector intersection = np.sum(t * p)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\math_ops.py”,第 1125 行,在 binary_op_wrapper 返回 func(x, y, name=name)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\math_ops.py”,第 1457 行,在 _mul_dispatch 中返回 multiply(x, y, name=name)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\util\dispatch.py”,第 201 行,在 wrapper return target(*args, **kwargs)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\math_ops.py”,第 509 行,乘法返回 gen_math_ops.mul(x, y, name)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\gen_math_ops.py”,第 6165 行,在 mul _ops.raise_from_not_ok_status(e, name)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\framework\ops.py”,第 6843 行,在 raise_from_not_ok_status Six.raise_from(core._status_to_exception(e.code, message), None)
文件“”,第 3 行,在 raise_from
tensorflow.python.framework.errors_impl.InvalidArgumentError:无法计算 Mul,因为输入 #1(从零开始)应该是一个浮点张量,但它是一个布尔张量 [Op:Mul]
2021-11-14 22:14:44.710685:W tensorflow/core/framework/op_kernel.cc:1755] 未知:InvalidArgumentError:无法计算 Mul,因为输入 #1(从零开始)应该是浮点张量,但它是bool 张量 [Op:Mul] Traceback(最近一次调用最后一次):
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\script_ops.py”,第 242 行,调用 返回函数(设备、令牌、参数)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\script_ops.py”,第 131 行,调用 ret = self._func(*args)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\autograph\impl\api.py”,第 302 行,在包装器中返回 func(*args, **kwargs)
文件“C:/Users/gorke/dedneme/segmentation.py”,第 121 行,在 get_iou_vector intersection = np.sum(t * p)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\math_ops.py”,第 1125 行,在 binary_op_wrapper 返回 func(x, y, name=name)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\math_ops.py”,第 1457 行,在 _mul_dispatch 中返回 multiply(x, y, name=name)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\util\dispatch.py”,第 201 行,在 wrapper return target(*args, **kwargs)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\math_ops.py”,第 509 行,乘法返回 gen_math_ops.mul(x, y, name)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\gen_math_ops.py”,第 6165 行,在 mul _ops.raise_from_not_ok_status(e, name)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\framework\ops.py”,第 6843 行,在 raise_from_not_ok_status Six.raise_from(core._status_to_exception(e.code, message), None)
文件“”,第 3 行,在 raise_from
tensorflow.python.framework.errors_impl.InvalidArgumentError:无法计算 Mul,因为输入 #1(从零开始)应该是一个浮点张量,但它是一个布尔张量 [Op:Mul]
2021-11-14 22:19:39.476601:W tensorflow/core/framework/op_kernel.cc:1755] 未知:InvalidArgumentError:无法计算 Mul,因为输入 #1(从零开始)应该是浮点张量,但它是bool 张量 [Op:Mul] Traceback(最近一次调用最后一次):
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\script_ops.py”,第 242 行,调用 返回函数(设备、令牌、参数)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\script_ops.py”,第 131 行,调用 ret = self._func(*args)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\autograph\impl\api.py”,第 302 行,在包装器中返回 func(*args, **kwargs)
文件“C:/Users/gorke/dedneme/segmentation.py”,第 121 行,在 get_iou_vector intersection = np.sum(t * p)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\math_ops.py”,第 1125 行,在 binary_op_wrapper 返回 func(x, y, name=name)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\math_ops.py”,第 1457 行,在 _mul_dispatch 中返回 multiply(x, y, name=name)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\util\dispatch.py”,第 201 行,在 wrapper return target(*args, **kwargs)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\math_ops.py”,第 509 行,乘法返回 gen_math_ops.mul(x, y, name)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\gen_math_ops.py”,第 6165 行,在 mul _ops.raise_from_not_ok_status(e, name)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\framework\ops.py”,第 6843 行,在 raise_from_not_ok_status Six.raise_from(core._status_to_exception(e.code, message), None)
文件“”,第 3 行,在 raise_from
tensorflow.python.framework.errors_impl.InvalidArgumentError:无法计算 Mul,因为输入 #1(从零开始)应该是一个浮点张量,但它是一个布尔张量 [Op:Mul]
2021-11-14 23:15:24.128064:W tensorflow/core/framework/op_kernel.cc:1755] 无效参数:TypeError:无法将 0 转换为 dtype bool Traceback 的 EagerTensor(最近一次调用最后一次):
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\script_ops.py”,第 242 行,调用 返回函数(设备、令牌、参数)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\script_ops.py”,第 131 行,调用 ret = self._func(*args)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\autograph\impl\api.py”,第 302 行,在包装器中返回 func(*args, **kwargs)
文件“C:/Users/gorke/dedneme/bakak.py”,第 79 行,在 get_iou_vector p = B>0
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\gen_math_ops.py”,第 3963 行,在更大的 _result = pywrap_tfe.TFE_Py_FastPathExecute(
TypeError:无法将 0 转换为 dtype bool 的 EagerTensor
2021-11-14 23:21:21.918825:W tensorflow/core/framework/op_kernel.cc:1755] 无效参数:TypeError:无法将 0 转换为 dtype bool Traceback 的 EagerTensor(最近一次调用最后一次):
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\script_ops.py”,第 242 行,调用 返回函数(设备、令牌、参数)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\script_ops.py”,第 131 行,调用 ret = self._func(*args)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\autograph\impl\api.py”,第 302 行,在包装器中返回 func(*args, **kwargs)
文件“C:/Users/gorke/dedneme/bakak.py”,第 80 行,在 get_iou_vector p = B>0
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\gen_math_ops.py”,第 3963 行,在更大的 _result = pywrap_tfe.TFE_Py_FastPathExecute(
TypeError:无法将 0 转换为 dtype bool' 的 EagerTensor
python - EfficientNet 图像分割
`我是 python 新手,我不知道如何解决错误 ERROR = InvalidArgumentError:不兼容的形状:[18,224,224,1] vs. [18,3] [[node gradient_tape/binary_crossentropy/mul/BroadcastGradientArgs(定义在 /用户/gorke/dedneme/bakak.py:104) ]] [Op:__inference_train_function_38062]
函数调用栈:train_function
2021-11-15 00:18:51.499094: I tensorflow/core/platform/cpu_feature_guard.cc:142] 这个 TensorFlow 二进制文件使用 oneAPI 深度神经网络库 (oneDNN) 进行了优化,以在性能关键操作中使用以下 CPU 指令: AVX AVX2 要在其他操作中启用它们,请使用适当的编译器标志重建 TensorFlow。2021-11-15 00:19:07.914846:W tensorflow/core/framework/op_kernel.cc:1755] 无效参数:TypeError:无法将 0 转换为 dtype bool Traceback 的 EagerTensor(最近一次调用):文件“C:\ Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\script_ops.py”,第 242 行,在调用中 返回 func(device, token, args) 文件“C:\Users\gorke\anaconda3\lib\ site-packages\tensorflow\python\ops\script_ops.py",第 131 行,调用中 ret = self._func(*args) 文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\autograph\impl\api.py”,第 302 行,在包装器中返回 func(*args, **kwargs) 文件“C:/Users/gorke/dedneme/bakak.py”,第 66 行,在 get_iou_vector p = B>0 文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python \ops\gen_math_ops.py",第 3963 行,在更大的 _result = pywrap_tfe.TFE_Py_FastPathExecute(TypeError:无法将 0 转换为 dtype bool 的 EagerTensor 2021-11-15 02:47:23.132670:W tensorflow/core/framework/op_kernel.cc :1755] 无效参数:TypeError:无法将 0 转换为 dtype bool Traceback 的 EagerTensor(最近一次调用最后一次):
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\script_ops.py”,第 242 行,调用 返回函数(设备、令牌、参数)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\script_ops.py”,第 131 行,调用 ret = self._func(*args)
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\autograph\impl\api.py”,第 302 行,在包装器中返回 func(*args, **kwargs)
文件“C:/Users/gorke/dedneme/bakak.py”,第 66 行,在 get_iou_vector p = B>0
文件“C:\Users\gorke\anaconda3\lib\site-packages\tensorflow\python\ops\gen_math_ops.py”,第 3963 行,在更大的 _result = pywrap_tfe.TFE_Py_FastPathExecute(
TypeError:无法将 0 转换为 dtype bool 的 EagerTensor `