You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi there, I was wondering what's the status of supporting TensorFlow version 2.12 and Python 3.11?
This currently fails with TF 2.12 installed (but setting PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python as suggested works afai see). It seems like kernels just have to be recompiled if I get that right? I.e. a new version with the new protobuf library, and that's it?
Details
In [1]: import tf_quant_finance
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[1], line 1
----> 1 import tf_quant_finance
File ~/mambaforge/envs/tmp310/lib/python3.10/site-packages/tf_quant_finance/__init__.py:73
71 from tf_quant_finance import black_scholes
72 from tf_quant_finance import datetime
---> 73 from tf_quant_finance import experimental
74 from tf_quant_finance import math
75 from tf_quant_finance import models
File ~/mambaforge/envs/tmp310/lib/python3.10/site-packages/tf_quant_finance/experimental/__init__.py:17
14 """Experimental modules."""
16 from tf_quant_finance.experimental import instruments
---> 17 from tf_quant_finance.experimental import local_stochastic_volatility
18 from tf_quant_finance.experimental import local_volatility
19 from tf_quant_finance.experimental import lsm_algorithm
File ~/mambaforge/envs/tmp310/lib/python3.10/site-packages/tf_quant_finance/experimental/local_stochastic_volatility/__init__.py:16
1 # Copyright 2020 Google LLC
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
(...)
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 """Local volatility model."""
---> 16 from tf_quant_finance.experimental.local_stochastic_volatility.local_stochastic_volatility_model import LocalStochasticVolatilityModel
17 from tf_quant_finance.experimental.local_stochastic_volatility.lsv_variance_model import LSVVarianceModel
19 from tensorflow.python.util.all_util import remove_undocumented # pylint: disable=g-direct-tensorflow-import
File ~/mambaforge/envs/tmp310/lib/python3.10/site-packages/tf_quant_finance/experimental/local_stochastic_volatility/local_stochastic_volatility_model.py:25
23 from tf_quant_finance import math
24 from tf_quant_finance import utils as tff_utils
---> 25 from tf_quant_finance.experimental import local_volatility as lvm
26 from tf_quant_finance.experimental.pricing_platform.framework.market_data import utils
27 from tf_quant_finance.math import pde
File ~/mambaforge/envs/tmp310/lib/python3.10/site-packages/tf_quant_finance/experimental/local_volatility/__init__.py:17
1 # Copyright 2020 Google LLC
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
(...)
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
15 """Local volatility model."""
---> 17 from tf_quant_finance.experimental.local_volatility.local_volatility_model import LocalVolatilityModel
19 from tensorflow.python.util.all_util import remove_undocumented # pylint: disable=g-direct-tensorflow-import
21 _allowed_symbols = [
22 "LocalVolatilityModel",
23 ]
File ~/mambaforge/envs/tmp310/lib/python3.10/site-packages/tf_quant_finance/experimental/local_volatility/local_volatility_model.py:26
24 from tf_quant_finance import math
25 from tf_quant_finance import types
---> 26 from tf_quant_finance.experimental.pricing_platform.framework.market_data import volatility_surface
27 from tf_quant_finance.math import interpolation
28 from tf_quant_finance.math import piecewise
File ~/mambaforge/envs/tmp310/lib/python3.10/site-packages/tf_quant_finance/experimental/pricing_platform/__init__.py:16
1 # Copyright 2020 Google LLC
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
(...)
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 """Pricing platform module."""
---> 16 from tf_quant_finance.experimental.pricing_platform import framework
17 from tf_quant_finance.experimental.pricing_platform import instrument_protos
19 from tensorflow.python.util.all_util import remove_undocumented # pylint: disable=g-direct-tensorflow-import
File ~/mambaforge/envs/tmp310/lib/python3.10/site-packages/tf_quant_finance/experimental/pricing_platform/framework/__init__.py:16
1 # Copyright 2020 Google LLC
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
(...)
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 """Framework module."""
---> 16 from tf_quant_finance.experimental.pricing_platform.framework import core
17 from tf_quant_finance.experimental.pricing_platform.framework import equity_instruments
18 from tf_quant_finance.experimental.pricing_platform.framework import market_data
File ~/mambaforge/envs/tmp310/lib/python3.10/site-packages/tf_quant_finance/experimental/pricing_platform/framework/core/__init__.py:16
1 # Copyright 2020 Google LLC
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
(...)
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 """Pricing platform module."""
---> 16 from tf_quant_finance.experimental.pricing_platform.framework.core import business_days
17 from tf_quant_finance.experimental.pricing_platform.framework.core import currencies
18 from tf_quant_finance.experimental.pricing_platform.framework.core import curve_types
File ~/mambaforge/envs/tmp310/lib/python3.10/site-packages/tf_quant_finance/experimental/pricing_platform/framework/core/business_days.py:17
14 """Supported bank holidays and business day conventions."""
16 import enum
---> 17 from tf_quant_finance.experimental.pricing_platform.instrument_protos import business_days_pb2
19 __all__ = ["BusinessDayConvention",
20 "convention_from_proto_value",
21 "BankHolidays",
22 "holiday_from_proto_value"]
25 BusinessDayConvention = enum.Enum(
26 "BusinessDayConvention",
27 zip(business_days_pb2.BusinessDayConvention.keys(),
28 business_days_pb2.BusinessDayConvention.keys()))
File ~/mambaforge/envs/tmp310/lib/python3.10/site-packages/tf_quant_finance/experimental/pricing_platform/instrument_protos/__init__.py:16
1 # Copyright 2020 Google LLC
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
(...)
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 """Instrument protos module."""
---> 16 from tf_quant_finance.experimental.pricing_platform.instrument_protos import all_instruments_pb2 as instruments
17 from tf_quant_finance.experimental.pricing_platform.instrument_protos import american_equity_option_pb2 as american_equity_option
18 from tf_quant_finance.experimental.pricing_platform.instrument_protos import business_days_pb2 as business_days
File ~/mambaforge/envs/tmp310/lib/python3.10/site-packages/tf_quant_finance/experimental/pricing_platform/instrument_protos/all_instruments_pb2.py:14
9 # @@protoc_insertion_point(imports)
11 _sym_db = _symbol_database.Default()
---> 14 from tf_quant_finance.experimental.pricing_platform.instrument_protos import american_equity_option_pb2 as tf__quant__finance_dot_experimental_dot_pricing__platform_dot_instrument__protos_dot_american__equity__option__pb2
15 from tf_quant_finance.experimental.pricing_platform.instrument_protos import interest_rate_swap_pb2 as tf__quant__finance_dot_experimental_dot_pricing__platform_dot_instrument__protos_dot_interest__rate__swap__pb2
16 from tf_quant_finance.experimental.pricing_platform.instrument_protos import forward_rate_agreement_pb2 as tf__quant__finance_dot_experimental_dot_pricing__platform_dot_instrument__protos_dot_forward__rate__agreement__pb2
File ~/mambaforge/envs/tmp310/lib/python3.10/site-packages/tf_quant_finance/experimental/pricing_platform/instrument_protos/american_equity_option_pb2.py:14
9 # @@protoc_insertion_point(imports)
11 _sym_db = _symbol_database.Default()
---> 14 from tf_quant_finance.experimental.pricing_platform.instrument_protos import business_days_pb2 as tf__quant__finance_dot_experimental_dot_pricing__platform_dot_instrument__protos_dot_business__days__pb2
15 from tf_quant_finance.experimental.pricing_platform.instrument_protos import currencies_pb2 as tf__quant__finance_dot_experimental_dot_pricing__platform_dot_instrument__protos_dot_currencies__pb2
16 from tf_quant_finance.experimental.pricing_platform.instrument_protos import date_pb2 as tf__quant__finance_dot_experimental_dot_pricing__platform_dot_instrument__protos_dot_date__pb2
File ~/mambaforge/envs/tmp310/lib/python3.10/site-packages/tf_quant_finance/experimental/pricing_platform/instrument_protos/business_days_pb2.py:33
12 _sym_db = _symbol_database.Default()
17 DESCRIPTOR = _descriptor.FileDescriptor(
18 name='tf_quant_finance/experimental/pricing_platform/instrument_protos/business_days.proto',
19 package='tf_quant_finance.experimental.pricing_platform.instrument_protos',
(...)
23 serialized_pb=b'\nTtf_quant_finance/experimental/pricing_platform/instrument_protos/business_days.proto\x12@tf_quant_finance.experimental.pricing_platform.instrument_protos*\xd7\x01\n\x15\x42usinessDayConvention\x12#\n\x1f\x42USINESS_DAY_CONVENTION_UNKNOWN\x10\x00\x12\x11\n\rNO_ADJUSTMENT\x10\x01\x12\x0c\n\x08PREVIOUS\x10\x02\x12\r\n\tFOLLOWING\x10\x03\x12\x15\n\x11MODIFIED_PREVIOUS\x10\x04\x12\x16\n\x12MODIFIED_FOLLOWING\x10\x05\x12\x15\n\x11\x45OM_NO_ADJUSTMENT\x10\x06\x12\x10\n\x0c\x45OM_PREVIOUS\x10\x07\x12\x11\n\rEOM_FOLLOWING\x10\x08*9\n\x0c\x42\x61nkHolidays\x12\x19\n\x15\x42\x41NK_HOLIDAYS_UNKNOWN\x10\x00\x12\x06\n\x02US\x10\x01\x12\x06\n\x02UK\x10\x02\x42\x02P\x01\x62\x06proto3'
24 )
26 _BUSINESSDAYCONVENTION = _descriptor.EnumDescriptor(
27 name='BusinessDayConvention',
28 full_name='tf_quant_finance.experimental.pricing_platform.instrument_protos.BusinessDayConvention',
29 filename=None,
30 file=DESCRIPTOR,
31 create_key=_descriptor._internal_create_key,
32 values=[
---> 33 _descriptor.EnumValueDescriptor(
34 name='BUSINESS_DAY_CONVENTION_UNKNOWN', index=0, number=0,
35 serialized_options=None,
36 type=None,
37 create_key=_descriptor._internal_create_key),
38 _descriptor.EnumValueDescriptor(
39 name='NO_ADJUSTMENT', index=1, number=1,
40 serialized_options=None,
41 type=None,
42 create_key=_descriptor._internal_create_key),
43 _descriptor.EnumValueDescriptor(
44 name='PREVIOUS', index=2, number=2,
45 serialized_options=None,
46 type=None,
47 create_key=_descriptor._internal_create_key),
48 _descriptor.EnumValueDescriptor(
49 name='FOLLOWING', index=3, number=3,
50 serialized_options=None,
51 type=None,
52 create_key=_descriptor._internal_create_key),
53 _descriptor.EnumValueDescriptor(
54 name='MODIFIED_PREVIOUS', index=4, number=4,
55 serialized_options=None,
56 type=None,
57 create_key=_descriptor._internal_create_key),
58 _descriptor.EnumValueDescriptor(
59 name='MODIFIED_FOLLOWING', index=5, number=5,
60 serialized_options=None,
61 type=None,
62 create_key=_descriptor._internal_create_key),
63 _descriptor.EnumValueDescriptor(
64 name='EOM_NO_ADJUSTMENT', index=6, number=6,
65 serialized_options=None,
66 type=None,
67 create_key=_descriptor._internal_create_key),
68 _descriptor.EnumValueDescriptor(
69 name='EOM_PREVIOUS', index=7, number=7,
70 serialized_options=None,
71 type=None,
72 create_key=_descriptor._internal_create_key),
73 _descriptor.EnumValueDescriptor(
74 name='EOM_FOLLOWING', index=8, number=8,
75 serialized_options=None,
76 type=None,
77 create_key=_descriptor._internal_create_key),
78 ],
79 containing_type=None,
80 serialized_options=None,
81 serialized_start=155,
82 serialized_end=370,
83 )
84 _sym_db.RegisterEnumDescriptor(_BUSINESSDAYCONVENTION)
86 BusinessDayConvention = enum_type_wrapper.EnumTypeWrapper(_BUSINESSDAYCONVENTION)
File ~/mambaforge/envs/tmp310/lib/python3.10/site-packages/google/protobuf/descriptor.py:796, in EnumValueDescriptor.__new__(cls, name, index, number, type, options, serialized_options, create_key)
793 def __new__(cls, name, index, number,
794 type=None, # pylint: disable=redefined-builtin
795 options=None, serialized_options=None, create_key=None):
--> 796 _message.Message._CheckCalledFromGeneratedFile()
797 # There is no way we can build a complete EnumValueDescriptor with the
798 # given parameters (the name of the Enum is not known, for example).
799 # Fortunately generated files just pass it to the EnumDescriptor()
800 # constructor, which will ignore it, so returning None is good enough.
801 return None
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
1. Downgrade the protobuf package to 3.20.x or lower.
2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
The text was updated successfully, but these errors were encountered:
Hi there, I was wondering what's the status of supporting TensorFlow version 2.12 and Python 3.11?
This currently fails with TF 2.12 installed (but setting
PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python
as suggested works afai see). It seems like kernels just have to be recompiled if I get that right? I.e. a new version with the new protobuf library, and that's it?Details
The text was updated successfully, but these errors were encountered: