사용자 도구

사이트 도구


matplotlib

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
matplotlib [2020/07/21 16:03] rex8312matplotlib [2024/03/23 02:38] (현재) – 바깥 편집 127.0.0.1
줄 171: 줄 171:
 </code> </code>
  
-===== MAP-Elite archive ===== 
  
-<code python> 
-behavior_description = np.random.randint(0, 3, (20, 4)) 
-quality = np.random.random(20) 
- 
-map_size = behavior_description.max(0) - behavior_description.min(0) + 1 
- 
-height_size = 1 
-width_size = 1 
-height_idx = [] 
-width_idx = [] 
-for idx, s in enumerate(map_size): 
- if height_size > width_size: 
-    width_idx.append(idx) 
-    width_size *= s 
-    else: 
-    height_idx.append(idx) 
- height_size *= s 
- 
-height_ticks = map_size[height_idx] 
-height = np.product(height_ticks) 
-width_ticks = map_size[width_idx] 
-width = np.product(width_ticks) 
-bd_map = np.zeros((height, width)) 
- 
- bd_idxs = behavior_description - behavior_description.min(0) 
- 
-for bd_idx, qv in zip(bd_idxs, quality): 
- y = 0 
- for i, hi in enumerate(bd_idx[height_idx]): 
-    y += hi * np.product(height_ticks[i+1:]) 
- x = 0 
-    for i, wi in enumerate(bd_idx[width_idx]): 
-    x += wi * np.product(width_ticks[i+1:]) 
- bd_map[y][x] = qv 
- 
-fig = plt.figure() 
-ax = fig.add_subplot(111) 
-ax.set_xticklabels([]) 
-ax.set_yticklabels([]) 
-n_solutions = len(quality) 
-search_space_size = np.product(bd_map.shape) 
-ax.set_xlabel(f'{n_solutions:,} / {search_space_size:,} = {n_solutions/search_space_size:.3f}') 
-im = ax.imshow(bd_map, cmap='jet', vmin=0, vmax=1) 
-fig.colorbar(im) 
-plt.show() 
-plt.close() 
-</code> 
  
 ===== Neural Net Weights/Activation ===== ===== Neural Net Weights/Activation =====
matplotlib.1595347419.txt.gz · 마지막으로 수정됨: (바깥 편집)