سلام
برای اینکه مثلا تصاویرتون از 28x28 به 28x28x3 تغییر پیدا کنه باید ورودیها رو تغییر بدید
چون شبکه rnn ه و روی تصویر هم ترتیب خاصی وجود نداره، اینکه چه جوری تصویر رو به عنوان یه دنباله ای از ورودی ها در بیارید دیگه انتخاب خودتونه و بستگی به مساله داره
مثلا در لینکی که گذاشتید اومده هر تصویر 28x28 رو به عنوان 28 تا داده در نظر گرفته که هر داده 28 بعد داره(یعنی هر سطر یا ستون عکس رو به عنوان یک گام زمانی در نظر گرفته)
یه ایده خیلی ساده برای تصاویر رنگی، می تونه اینطوری باشه:
num_input = 28*3
اما حتما رفتار reshape برای دیتاهاتون رو چک کنید که برای مثال وقتی یه بچ 100 تایی با سایز 28x28x3 به اندازه
100x28x84 تغییر میکنه، عناصر ماتریس اولیه چطوری توی ماتریس جدید چیده میشن
الان من دقیق خاطرم نیست که توی tf ، تابع reshape به چه ترتیبی عناصر رو انتخاب میکنه، اما هر جوری که باشه در نهایت با ترکیب transpose و بعدش reshape میشه به ترتیب دلخواه رسید
اگه هم دیدید اینطوری خیلی پیچیده میشه میشه هر کانال رو جداگانه سطر سطر کرد و بعدش 3 تا سطر متناظر از هر کانال رو دوباره concat کرد
توضیحاتی که من دادم فقط یه مثال بود بر اساس کدی که گذاشته بودید وگرنه هر ترتیب دیگه هم می تونید روی داده ها بذارید، مثلا می تونیم به جای سطر یا ستون(84یه بردار بعدی)، پیکسل پیکسل داده ها رو وارد کنیم (یه بردار با 3 بعد متناظر با rgb) یا هر جور دیگه ای که بسته به مساله صلاح می دونید