In a separate bowl, sift together the flour, baking powder and soda, salt and cinnamon. Blend the flour in with the wet ingredients.
Gently fold in the carrots, drained pineapple, coconut and walnuts.
Grease and flour two 9" baking pans.
Divide the batter between the two pans.
Bake for 35-40 minutes or until the center of the cake bounces back when you touch it.
Allow the cakes to cool for 10 minutes in the pan, the turn them out on a wire rack to cool completely.
For the frosting:
Using an electric mixer, mix the butter and cream cheese, scraping down the sides as needed, until the mixture is light and fluffy. This will take about 3 minutes.
With the mixer on low speed, add the powdered sugar, 1/2 a cup at a time, until it is thoroughly mixed.
Add the vanilla and beat the frosting on medium speed for about 2 minutes.
Frost the cake:
Once the cake is cooled, place one layer on a cake plate. Frost the top of the cake layer.
Place the second layer on top, then use the remaining frosting to cover the top and sides of the cake.
Decorate with additional chopped nuts if desired.
The calories shown are based on the cake being cut into 15 pieces, with 1 serving being 1 slice of cake. Since different brands of ingredients have different nutritional information, the calories shown are just an estimate.