Christian Walker homered as the Houston Astros beat the Colorado Rockies 7-6 to snap an eight-game losing streak, with six-run third inning powering the win.