`sum_cols` and `sum_rows` remain in `expr.h` and `expr.cc` but removed from `_dynet.pyx`
- Dominant language
- C++
- Stars
- 3.4k
- Forks
- 701
- PR merge metrics
- No merged PRs in 30d
Description
I realized that there is a code breaking issue with a supposedly deprecated issue when used with the Python API.
While trying to build a docker instance for [my NER tagger code](https://github.com/onurgu/ner-tagger-dynet) which includes some extentions regarding morphologically rich languages, I came across a bug:
```
File "/opt/ner-tagger-dynet/crf.py", line 68, in log_sum_exp
dynet.sum_cols(dynet.transpose(dynet.exp(scores - max_score_expr_broadcast))))
AttributeError: 'module' object has no attribute 'sum_cols'
```
It runs nice in my other environments which are built with d413836cd78bf16997942baadea71b5a387fc6d1.
Further investigating the root of the problem, I saw that #997 added `sum_dim` operation and marked `sum_cols` and `sum_rows` as deprecated. However, they are not fully deprecated as they are only removed from `python/_dynet.pyx` but not from `dynet/expr.cc` and `dynet/expr.h`.
To solve this issue for me, I'll update my own code. I might actually use the DyNet's own `logsumexp`.
However, my question is: Is there any place where these deprecations are listed?
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by comparing python/_dynet.pyx with dynet/expr.cc and dynet/expr.h, then review the change from #997 and the older commit d413836cd78bf16997942baadea71b5a387fc6d1. Determine the intended status of sum_cols and sum_rows in the Python API and where their deprecation should be recorded; done means the API behavior and deprecation information are consistent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, python
- Domain
- api, machine-learning
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100