1. Image Feature Extraction: A CNN is used to extract features from the image, which are then represented as a numerical vector. 2. GRU Initialization: The GRU is initialized with the feature vector and a start token, which indicates the beginning of the caption. 3. Word Generation: The GRU generates a sequence of words, one at a time, based on the previous word and the feature vector. 4. Word Embedding: Each generated word is embedded into a numerical vector, which is used as input to the GRU at the next time step. 5. Caption Generation: The sequence of generated words forms the caption, which is then output by the GRU.