Preheat oven to 350°F Grease two 9-inch round cake pans, then line with parchment paper. Grease again and dust lightly with flour.
Prepare cake: Cream butter and sugar on medium-high speed for 3-5 minutes. Crack eggs into a small bowl. With mixer on medium speed, add eggs 1 at a time, scraping down bowl once during mixing. Add vanilla and almond extracts and mix well. Don't be concerned if the mixture looks curdled.
In a separate bowl, sift together dry ingredients.
With mixer on low, alternately add dry ingredients and milk to the the batter. Mix until just combined. Fold in the coconut.
Pour batter into prepared pans, smoothing the top. Bake in center of oven 40-50 minutes, until tops are brown and cake tester comes out clean. Cool on baking rack for 30 minutes before removing cakes from pans.
Prepare frosting: Mix cream cheese, butter, vanilla, and almond extract. Add confectioners sugar and mix until just smooth (don't whip).
Assemble cake by placing one layer, top side down, and spreading it with frosting. Place second layer on top of the first. Frost tops and sides. Sprinkle cake lightly with coconut.
Serve at room temperature.