python - 无法使用 Tensorflow 加载多通道 TIFF 文件
问题描述
我正在从事一个涉及多图像 TIFF 文件的图像分类项目。我的当前目录设置如下:
data
|
|__class1
| |
| |__ file1.tiff
| |__ file2.tiff
|
|__class2
|
|__ file3.tiff
...
每个 TIFF 代表一个多通道显微图像(3 个通道),因此我想将它们全部用于学习。
我为PNG文件尝试了以下代码,并取得了一些成功:
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import preprocessing
keras.backend.clear_session()
image_size = (1280, 1024)
batch_size = 2
# Import images as a dataset
training = tf.keras.preprocessing.image_dataset_from_directory(
"./data/",
validation_split=0.1,
color_mode = 'grayscale',
subset="training",
label_mode='int',
seed=1337,
image_size=image_size,
batch_size=batch_size,
)
我收到以下错误:
Traceback (most recent call last):
File "/home/E627046/miniconda3/envs/cellimaging/lib/python3.8/site-packages/te nsorflow/python/framework/op_def_library.py", line 517, in _apply_op_helper
values = ops.convert_to_tensor(
File "/home/E627046/miniconda3/envs/cellimaging/lib/python3.8/site-packages/te nsorflow/python/profiler/trace.py", line 163, in wrapped
return func(*args, **kwargs)
File "/home/E627046/miniconda3/envs/cellimaging/lib/python3.8/site-packages/te nsorflow/python/framework/ops.py", line 1507, in convert_to_tensor
raise ValueError(
ValueError: Tensor conversion requested dtype string for Tensor with dtype float 32: <tf.Tensor 'args_0:0' shape=() dtype=float32>
对于将这些 TIFF 文件加载到 python 中以启动分类管道的最佳解决方案,我更加困惑。我争论过是否将这些 TIFF 文件转换为 PNG 文件,但我不确定这是否可行,因为这些 TIFF 文件是多图像的,我很确定 PNG 不支持。我真的很想保留维度。如果对如何解决这个“TIFF 堆栈”问题有任何建议,请告诉我。
解决方案
推荐阅读
- c# - ASP Web API:将对象序列化为 JSON 时指定自定义字段名称
- r - 在轴上显示数字而不是 e
- angularjs - AngularJS:页面加载后执行 JavaScript 脚本
- python - Python对特定字符的爆炸函数
- javascript - Javascript中数组的嵌套过滤
- python - 错误 ModelForm 在 django 中没有指定模型类
- c++ - 动态分配的数组未正确复制
- c# - 统一旋转是不稳定的
- azure-data-factory - DateTime 格式错误,复制活动。Azure 数据工厂
- javascript - node.js - mongoose findOneandUpdate 中的嵌套数组,带有 arrayFilter