Due to recent updates, all users are required to create an Altair One account to login to the RapidMiner community. Click the Register button to create your account using the same email that you have previously used to login to the RapidMiner community. This will ensure that any previously created content will be synced to your Altair One account. Once you login, you will be asked to provide a username that identifies you to other Community users. Email us at Community with questions.

How to do Tensorflow image recognition?

MarkBMarkB Member Posts: 1 Learner I
edited March 2021 in Help
I want to load "fashion_mnist" dataset from "tensorflow_datasets" and process it with "Deep Learning" extension.
The original "fashion_mnist" data is (60000,(28,28,1),(1)) so, I converted it to the BATCH/ID Tensor by "Execute Python":

import pandas as pd
import numpy as np
import tensorflow as tf
import tensorflow_datasets as tfds
tfds.disable_progress_bar()
image_size = 28

def normalize_img(row):
    img = row.image.reshape((image_size,image_size))/255.0
    img = np.append(img, [range(image_size)], axis=0)
    img = np.append(img, [np.ones(image_size)*row.name], axis=0)
    img = np.append(img, [np.ones(image_size)*row.label], axis=0)
    row.image = img.T
    return row

def preprocess_df(df):
    df.image = df.apply(normalize_img, axis=1)       
    df = pd.DataFrame(np.dstack(df.image.to_numpy()).transpose(2,0,1).reshape(df.shape[0]*image_size,image_size+3))    
    df.rename(columns={28: 'id', 29:'batch', 30:'label'}, inplace=True)
    return df

def rm_main():
    dataset, metadata = tfds.load('fashion_mnist', shuffle_files=True, as_supervised=True, with_info=True)
    df_train = tfds.as_dataframe(dataset['train'], metadata)
    df_test = tfds.as_dataframe(dataset['test'], metadata)
    df_train = preprocess_df(df_train)
    df_test = preprocess_df(df_test)
    return df_train, df_test
First of all, is it correct format?
If I want to set Batch on 32 or 64. How to reshape the tensor with Rapidminer blocks?
After that I converted it to Tensor, built model with "Deep Learning (Tensor)", receive the warnings:
WARNING: Couldn't update network in epoch x
Finally, when applied it with "Apply Model (Generic)" I receive an error:
Process failed: operator cannot be executed (getColumn() can be called on 2D arrays only). 


Sign In or Register to comment.