mxnet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leonard Lausen <leon...@lausen.nl>
Subject Re: [Discuss] MXNet Python < 3.6 Support Deprecation
Date Thu, 22 Aug 2019 15:01:28 GMT
Hi,

Pedro stated "Seems 3.6 is a reasonable choice." and there have been a
few +1 after Chaitanya's reply to Pedro. I would like to check if these
only refer to Chaitanya's mail about a dedicated "improvement" effort or
about dropping 3.5.

Thus two questions:

1) Are there any concerns about dropping Python 3.5? Now is your chance to
speak up if you think so.

2) Should new MXNet 1.x (experimental?) functionality (for example numpy
compatible interface) only target the Python versions to be supported in
MXNet 2? The current plan is to make many MXNet 2 features available as
"opt-in" in MXNet 1.x. Supporting older Python versions on MXNet 1 for
these features may impact design and functionality and create
unnecessary technical debt.


Personally I argue for targeting only 3.6+ as
- 3.5 will go EOL in 388 days and a potential MXNet 2 release together
  with our Semantic Versioning backwards compatibility guarantees would
  keep us "stuck" on 3.5 for the years to come. JetBrains 2018 survey
  showed only 11% of users used 3.5.
- 3.6 introduced a number of fundamental and relevant changes that we
  may want to build on and for which we can expect user adoption to
  increase over the years (thus MXNet should try to be compatible).
  - "PEP 526: Syntax for variable annotations" which we may even be able
    to use for shape typing along the lines of numpy
    https://docs.google.com/document/d/1vpMse4c6DrWH5rq2tQSx3qwP_m_0lyn-Ij4WHqQqRHY/
  - asyncio module is stable with 3.6 and associated 3.7 language
    features such as contextvars only have backports for 3.6. Some parts
    of Gluon currently rely on thread-local state, which is not correct
    if users call MXNet from within asyncio code.
  Locking ourselves to 3.5 means we can't support these and may provide
  a bad user-experience in coming years.
- Part of the Ecosystem (GluonNLP) only support 3.6+ anyways.

I would also like to cite James MacGlashan to point out how targeting
3.6+ could help usability and attract more users:

  Pipe dream: I'd love it if Mxnet not only dropped Python 2 support for
  a more consistent design, but also went all in on Python 3.6 for type
  hint integration. There are enough different types involved in MXNet
  that types can help clarify usage, particularly for disambiguating
  symbol vs ndarray vs list vs tuple; tuple of ints rather than tuple of
  floats; etc.
  https://github.com/apache/incubator-mxnet/issues/8703#issuecomment-520881450

Thus we can see targeting 3.6+ as a great opportunity for the MXNet
project!

Best regards
Leonard

"Srivastava, Rohit Kumar" <srivastava.141@buckeyemail.osu.edu> writes:
> +1
>
> On 7/19/19, 12:59 PM, "Zhu Zhaoqi" <zhaoqizhu96@gmail.com> wrote:
>
>     +1
>     
>     Lin Yuan <apeforest@gmail.com> 于2019年7月19日周五 上午12:06写道:
>     
>     > +1
>     >
>     > On Fri, Jul 19, 2019 at 12:03 AM Chaitanya Bapat <chai.bapat@gmail.com>
>     > wrote:
>     >
>     > > +1 definitely.
>     > >
>     > > Going forward,
>     > > MXNet repo as it stands has ~95,000+ lines of Python code [1]
>     > > OpenEdx has a million (10x) LOC and this mammoth effort of porting from
>     > > Python 2 to 3 is treated as a separate project named Incremental
>     > > Improvement. [2]
>     > > We can take inspiration from them and have a similar effort by calling
>     > > action from the community. Issues can be maintained in a separate JIRA
>     > > board to track high priority tasks.
>     > >
>     > > Also, I can see gluon-nlp adding themselves to the Python3 statement.
>     > Once
>     > > the vote passes, one of us could submit a PR to add MXNet as well.
>     > >
>     > > [1] https://codeclimate.com/
>     > > [2]
>     > >
>     > https://open.edx.org/blog/python-2-is-ending-we-need-to-move-to-python-3/
>     > >
>     > >
>     > > On Thu, 18 Jul 2019 at 21:39, Kshitij Kalambarkar <
>     > > kshitijkalambarkar@gmail.com> wrote:
>     > >
>     > > > +1
>     > > >
>     > > > On Fri, Jul 19, 2019, 04:28 Pedro Larroy <pedro.larroy.lists@gmail.com
>     > >
>     > > > wrote:
>     > > >
>     > > > > Seems 3.6 is a reasonable choice.
>     > > > >
>     > > > > On Thu, Jul 18, 2019 at 2:15 PM Marco de Abreu <
>     > > marco.g.abreu@gmail.com>
>     > > > > wrote:
>     > > > > >
>     > > > > > Looking at EOL is certainly a good idea! I think once we
get closer
>     > > to
>     > > > > > deprecation, we can check adoption statistics to make a
>     > well-informed
>     > > > > > decision that gives us the most advantages without dropping
the
>     > ball
>     > > > on a
>     > > > > > majority of users (or supporting a branch that is going
EOL soon).
>     > A
>     > > > > survey
>     > > > > > from 2018 [1] determined the following distribution:
>     > > > > > 3.5: 11%
>     > > > > > 3.6: 54%
>     > > > > > 3.7: 30%
>     > > > > >
>     > > > > > Deprecation for 3.5 is scheduled for 2020-09-13 [2]. Deprecation
>     > for
>     > > > 3.6
>     > > > > is
>     > > > > > scheduled for 2021-12-23 [2].Deprecation for 3.7 is scheduled
>     > > > > > for 2023-06-27 [2].
>     > > > > >
>     > > > > > Following the trend, I'd say that it would be a decision
between
>     > > Python
>     > > > > 3.6
>     > > > > > and 3.7. Later on, I'd propose to check recent surveys and
also
>     > have
>     > > a
>     > > > > > separate thread to determine if there's anything we're missing
>     > (e.g.
>     > > a
>     > > > > big
>     > > > > > company being unable to use Python 3.7). What do you think?
>     > > > > >
>     > > > > > Best regards,
>     > > > > > Marco
>     > > > > >
>     > > > > > [1]:
>     > > https://www.jetbrains.com/research/python-developers-survey-2018/
>     > > > > > [2]: https://devguide.python.org/#status-of-python-branches
>     > > > > >
>     > > > > > On Thu, Jul 18, 2019 at 9:42 PM Yuan Tang <terrytangyuan@gmail.com
>     > >
>     > > > > wrote:
>     > > > > >
>     > > > > > > I would suggest supporting Python 3.5+ since the earlier
versions
>     > > > have
>     > > > > > > reached end-of-life status:
>     > > > > > > https://devguide.python.org/devcycle/#end-of-life-branches
>     > > > > > >
>     > > > > > > On Thu, Jul 18, 2019 at 3:36 PM Pedro Larroy <
>     > > > > pedro.larroy.lists@gmail.com
>     > > > > > > >
>     > > > > > > wrote:
>     > > > > > >
>     > > > > > > > +1
>     > > > > > > >
>     > > > > > > > This would simplify CI, reduce costs and more.
I think a
>     > followup
>     > > > > > > > question is what would be the mininum Python3
version
>     > supported?
>     > > > > > > > Depending on that we might be able to use type
annotations for
>     > > > > example
>     > > > > > > > or other features.
>     > > > > > > >
>     > > > > > > > Pedro.
>     > > > > > > >
>     > > > > > > > On Thu, Jul 18, 2019 at 12:07 PM Yuan Tang <
>     > > > terrytangyuan@gmail.com>
>     > > > > > > > wrote:
>     > > > > > > > >
>     > > > > > > > > +1
>     > > > > > > > >
>     > > > > > > > > On Thu, Jul 18, 2019 at 2:51 PM Yuxi Hu <
>     > darrenyxhu@gmail.com>
>     > > > > wrote:
>     > > > > > > > >
>     > > > > > > > > > +1
>     > > > > > > > > >
>     > > > > > > > > > On Thu, Jul 18, 2019 at 11:31 AM Tong
He <
>     > > hetong007@gmail.com>
>     > > > > > > wrote:
>     > > > > > > > > >
>     > > > > > > > > > > +1
>     > > > > > > > > > >
>     > > > > > > > > > > Best regards,
>     > > > > > > > > > >
>     > > > > > > > > > > Tong He
>     > > > > > > > > > >
>     > > > > > > > > > >
>     > > > > > > > > > > Jake Lee <gstu1130@gmail.com>
于2019年7月18日周四 上午11:29写道:
>     > > > > > > > > > >
>     > > > > > > > > > > > +1
>     > > > > > > > > > > >
>     > > > > > > > > > > > On Thu, Jul 18, 2019 at 11:27
AM Junru Shao <
>     > > > > > > > junrushao1994@gmail.com>
>     > > > > > > > > > > > wrote:
>     > > > > > > > > > > >
>     > > > > > > > > > > > > +1
>     > > > > > > > > > > > >
>     > > > > > > > > > > > > On Thu, Jul 18, 2019
at 11:12 AM Anirudh Acharya <
>     > > > > > > > > > > anirudhkrec@gmail.com>
>     > > > > > > > > > > > > wrote:
>     > > > > > > > > > > > >
>     > > > > > > > > > > > > > +1
>     > > > > > > > > > > > > >
>     > > > > > > > > > > > > > On Thu, Jul 18,
2019 at 11:03 AM Marco de Abreu <
>     > > > > > > > > > > > marco.g.abreu@gmail.com
>     > > > > > > > > > > > > >
>     > > > > > > > > > > > > > wrote:
>     > > > > > > > > > > > > >
>     > > > > > > > > > > > > > > +1
>     > > > > > > > > > > > > > >
>     > > > > > > > > > > > > > > -Marco
>     > > > > > > > > > > > > > >
>     > > > > > > > > > > > > > > Sheng Zha <zhasheng@apache.org>
schrieb am Do.,
>     > > 18.
>     > > > > Juli
>     > > > > > > > 2019,
>     > > > > > > > > > > > 19:59:
>     > > > > > > > > > > > > > >
>     > > > > > > > > > > > > > > > Dear MXNet
community,
>     > > > > > > > > > > > > > > >
>     > > > > > > > > > > > > > > > I'd like
to reopen the discussion on
>     > deprecating
>     > > > > python2
>     > > > > > > > > > support.
>     > > > > > > > > > > > > This
>     > > > > > > > > > > > > > > > would
help modernize the design and engineering
>     > > > > practice
>     > > > > > > in
>     > > > > > > > > > MXNet
>     > > > > > > > > > > > to
>     > > > > > > > > > > > > > help
>     > > > > > > > > > > > > > > > improve
speed and quality.
>     > > > > > > > > > > > > > > >
>     > > > > > > > > > > > > > > > For this
purpose, I reopened the issue on this
>     > > > here:
>     > > > > > > > > > > > > > > >
>     > > > > https://github.com/apache/incubator-mxnet/issues/8703
>     > > > > > > > > > > > > > > >
>     > > > > > > > > > > > > > > > If the
consensus is towards the direction of
>     > > > dropping
>     > > > > > > > python2
>     > > > > > > > > > > > > support,
>     > > > > > > > > > > > > > I
>     > > > > > > > > > > > > > > > suggest
we announce our plan to drop python2
>     > > > support
>     > > > > in
>     > > > > > > the
>     > > > > > > > > > next
>     > > > > > > > > > > > > > release,
>     > > > > > > > > > > > > > > > and actually
drop the support in the next major
>     > > > > version.
>     > > > > > > > > > Thanks.
>     > > > > > > > > > > > > > > >
>     > > > > > > > > > > > > > > > -sz
>     > > > > > > > > > > > > > > >
>     > > > > > > > > > > > > > >
>     > > > > > > > > > > > > >
>     > > > > > > > > > > > >
>     > > > > > > > > > > >
>     > > > > > > > > > >
>     > > > > > > > > >
>     > > > > > > > > >
>     > > > > > > > > > --
>     > > > > > > > > > Yuxi(Darren) Hu, Ph.D.
>     > > > > > > > > > Software Development Engineer
>     > > > > > > > > > Amazon Web Services
>     > > > > > > > > >
>     > > > > > > >
>     > > > > > >
>     > > > >
>     > > >
>     > >
>     > >
>     > > --
>     > > *Chaitanya Prakash Bapat*
>     > > *+1 (973) 953-6299*
>     > >
>     > > [image: https://www.linkedin.com//in/chaibapat25]
>     > > <https://github.com/ChaiBapchya>[image:
>     > https://www.facebook.com/chaibapat
>     > > ]
>     > > <https://www.facebook.com/chaibapchya>[image:
>     > > https://twitter.com/ChaiBapchya] <https://twitter.com/ChaiBapchya
>     > >[image:
>     > > https://www.linkedin.com//in/chaibapat25]
>     > > <https://www.linkedin.com//in/chaibapchya/>
>     > >
>     >
>     

Mime
View raw message