clab / clab/dynet

`sum_cols` and `sum_rows` remain in `expr.h` and `expr.cc` but removed from `_dynet.pyx`

Open
#1,100 2 comments 0 reactions 0 assignees View on GitHub
minor bug
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.