TF Python producing malformed JSON for numpy style arrays.
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Java
- Star
- 928
- Fork
- 227
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
TF Python serializes numpy style arrays (e.g. Java NdArray) in the format 'normalizer': array([[0.2, 0.2], [0.1, 0.3]], dtype=float32)'.
This is not standard JSON, and tools, like GSON, throw a MalformedJsonException when trying to parse this.
The issue is how to best handle this in TF Java.
I have looked at GSON using customized TypeAdapter and Serilaizers/Deserializers, but I cannot get past the low level parsing throwing the MalformedJsonException. Right now I think my only alternative is to write a pre-parser to convert the array() format string to a wellformed JSON string.
For example, for the above example:
{
'normalizer': {
" '_ArraySize_' = [1,2],
" '_ArrayData_' = [[0.2, 0.2], [0.1, 0.3]],
" '_ArrayType_' = 'float32'
}
}
_ArraySize_ is the array's shape and _ArrayType_ is the datatype for the NdArray.
This format is taken from OpenJData
Also, once we settle on a way to do this, should the NdArray package be modified to include serialize/deserialize methods.
What about compatibility with TF Python?
Any suggestions?
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện quá trình serialization TF Python được thể hiện trong issue và theo dõi cách dữ liệu TF Java NdArray đi đến bước parsing của GSON. So sánh biểu diễn mảng được đề xuất với định dạng OpenJData và xác định hành vi tương thích được mong đợi; được xem là hoàn thành khi định dạng và phạm vi trách nhiệm đối với serialization/deserialization đã được thống nhất, đồng thời không còn tạo ra JSON không hợp lệ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java, python, tensorflow
- Lĩnh vực
- api, backend
- Loại issue
- Lỗi
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 22/100