[Code scan] Convert atom-type arrays to scalars in feature_to_block

Đang mở Phù hợp với người mới
#39 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
84/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
numpy, python
Lĩnh vực
data-engineering

Hướng nghiên cứu

Đọc dftio/data/interfaces/ham_to_feature.py tại logic feature_to_block() quanh các dòng 199 và 226-227. Kiểm tra cách sử dụng kết quả của idp.untransform() cho cả các loại nguyên tử trung tâm và các loại nguyên tử biên, sau đó xác minh rằng mỗi giá trị là vô hướng trước khi lập chỉ mục chemical_symbols. Được xem là hoàn tất khi các loại nguyên tử có dạng (N, 1) không còn gây ra TypeError.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

This issue comes from a Codex global repository scan.

Problem

feature_to_block() indexes ase.data.chemical_symbols with the ndarray returned by idp.untransform(...):

https://github.com/deepmodeling/dftio/blob/c9d128f24a74ef2911e1a28f5640357488beb196/dftio/data/interfaces/ham_to_feature.py#L199

The same pattern appears for edge atoms:

https://github.com/deepmodeling/dftio/blob/c9d128f24a74ef2911e1a28f5640357488beb196/dftio/data/interfaces/ham_to_feature.py#L226-L227

When atom types are shaped like (N, 1), idp.untransform(data[_keys.ATOM_TYPE_KEY][atom].reshape(-1)) returns an array such as array([14]), and list indexing with that ndarray raises TypeError.

Suggested fix

Convert the untransformed result to a scalar before indexing:

atomic_number = int(np.asarray(idp.untransform(...)).reshape(-1)[0])
symbol = ase.data.chemical_symbols[atomic_number]
Ngôn ngữ chính
Jupyter Notebook
Star
16
Fork
14
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của deepmodeling/dftio

Tất cả issue của deepmodeling/dftio

Issue tương tự

Thêm issue về Data Engineering

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.