使用 tensorflow 进行基本图像分类 [关闭]

Posted

技术标签:

【中文标题】使用 tensorflow 进行基本图像分类 [关闭]【英文标题】:Basic Image Classification using tensorflow [closed] 【发布时间】:2019-08-06 19:42:05 【问题描述】:
train = 'C:\ProgramData\Anaconda3\animal train'
test = 'C:\ProgramData\Anaconda3\animal test'
lr = 0.001

def label_image(img):
    word_label = img.split('.')[-3]
    if word_label == "cat": return [1,0]
    elif word_label == "dog": return [0,1]

def create_train_data():
    training_data = []
    for img in tqdm(os.listdir(train)):
        label = label_img(img)
        path = os.path.join(train,img)
        img = cv2.resize(cv2.imread(path,cv2.IMREAD_GRAYSCALE),(50,50))
        training_data.append([np.array(img), np.array(label)])
    shuffle(training_data)
    return(training_data)

我是 tensorflow 新手,这是我的第一个项目(猫与狗图像分类)

能否请您详细解释每一行 create_train_data() 函数实际上在做什么?

【问题讨论】:

SO 不是为了“详细解释每一行”。您可以通过谷歌搜索了解每个 API 调用。有关分类教程,请参阅示例文档,例如 tensorflow.org/tutorials/keras/basic_classification 在开始之前我已经经历过。 os.path.join() 到底在做什么?我理解了几乎所有我在这部分有疑问的程序 【参考方案1】:

OpenCV 中的图像读取如下 img = cv2.imread("path/to/image", flags)

现在“path/to/image”是您的工作目录或绝对路径。

path = os.path.join(train,img) 在您的代码中创建绝对路径。我认为由于您在工作目录中,因此在这种情况下也应该直接读取图像。

【讨论】:

非常感谢。这回答了它

以上是关于使用 tensorflow 进行基本图像分类 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用 TensorFlow CNN 进行图像分类

Tensorflow2 图像分类-Flowers数据及分类代码详解

提高 Tensorflow 图像分类的速度

tensorflow 对多张图片进行分类

Keras CIFAR-10图像分类 ResNet 篇

Keras CIFAR-10图像分类 VGG 篇