Preheat the oven to 350 degrees. Prepare (3) 9 inch round cake pans by spraying with non-stick cooking spray and lining with parchment paper.
In a large bowl combine the flour, sugar, cinnamon, baking soda, and salt. Using an electric hand mixer at medium-high speed, or KitchenAid with a paddle attachment, mix together the canola oil, eggs, and vanilla.
Gradually add the dry ingredients to the wet ingredients, mixing until combined.
Stir in the carrots, walnuts, and raisins. Distribute the cake batter evenly between the 3 baking pans. Bake for 40 minutes, or until a toothpick inserted into the center of the cake comes out clean.
Remove the cake from the oven and let cool on a wire rack for 10 minutes. Turn the cake out of the cake pans and return the cake to the wire rack, allowing it to cool completely.
For the frosting
Mix cream cheese and butter together in a large bowl using a hand mixer at medium speed until smooth.
Add the vanilla extract and gradually add the confectioners' sugar, mixing until creamy and completely combined.
Frost the cake layers, then frost the top and sides of the cake. Decorate with chopped walnuts (if using).