We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Lock Tensorflow to 1.11.0 release until TensorFlow probability has caught up
# Description

[TensorFlow 1.12.0 has been released](https://github.com/tensorflow/tensorflow/releases/tag/v1.12.0) and it has breaking changes. Most notably

> Remove `tf.contrib.linalg`. `tf.linalg` should be used instead. 

This doesn't affect us, but it does affect [TensorFlow Probability `v0.3.0`, which breaks](https://travis-ci.org/diana-hep/pyhf/jobs/451151767#L668-L685):

```
ImportError while loading conftest '/home/travis/build/diana-hep/pyhf/tests/conftest.py'.
tests/conftest.py:46: in <module>
    (pyhf.tensor.tensorflow_backend(session=tf.Session()), None)
pyhf/tensor/__init__.py:28: in __getattr__
    from .tensorflow_backend import tensorflow_backend
pyhf/tensor/tensorflow_backend.py:3: in <module>
    import tensorflow_probability as tfp
../../../virtualenv/python3.6.3/lib/python3.6/site-packages/tensorflow_probability/__init__.py:21: in <module>
    from tensorflow_probability.python import *  # pylint: disable=wildcard-import
../../../virtualenv/python3.6.3/lib/python3.6/site-packages/tensorflow_probability/python/__init__.py:22: in <module>
    from tensorflow_probability.python import distributions
../../../virtualenv/python3.6.3/lib/python3.6/site-packages/tensorflow_probability/python/distributions/__init__.py:44: in <module>
    from tensorflow_probability.python.distributions.linear_gaussian_ssm import LinearGaussianStateSpaceModel
../../../virtualenv/python3.6.3/lib/python3.6/site-packages/tensorflow_probability/python/distributions/linear_gaussian_ssm.py:34: in <module>
    tfl = tf.contrib.linalg
../../../virtualenv/python3.6.3/lib/python3.6/site-packages/tensorflow/python/util/lazy_loader.py:54: in __getattr__
    return getattr(module, item)
E   AttributeError: module 'tensorflow.contrib' has no attribute 'linalg'
```

Until `tfp` updates to using `v1.12` we'll have to lock to them.

## Related Issues

- Issue #330 

# Checklist

- [x] Run `git fetch` to get the most up to date version of `master`
- [x] Searched through existing Issues to confirm this is not a duplicate issue
- [x] Filled out the Description, Expected Behavior, Actual Behavior, and Steps to Reproduce sections above or have edited/removed them in a way that fully describes the issue


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `setup.py`
Content:
```
1 #!/usr/bin/env python
2 
3 from setuptools import setup, find_packages
4 from os import path
5 import sys
6 
7 this_directory = path.abspath(path.dirname(__file__))
8 if sys.version_info.major < 3:
9     from io import open
10 with open(path.join(this_directory, 'README.md'), encoding='utf-8') as readme_md:
11     long_description = readme_md.read()
12 
13 extras_require = {
14     'tensorflow': [
15         'tensorflow>=1.10.0',
16         'tensorflow-probability==0.3.0',
17         'numpy<=1.14.5,>=1.14.0',  # Lower of 1.14.0 instead of 1.13.3 to ensure doctest pass
18         'setuptools<=39.1.0',
19     ],
20     'torch': ['torch>=0.4.0'],
21     'mxnet': [
22         'mxnet>=1.0.0',
23         'requests<2.19.0,>=2.18.4',
24         'numpy<1.15.0,>=1.8.2',
25         'requests<2.19.0,>=2.18.4',
26     ],
27     # 'dask': [
28     #     'dask[array]'
29     # ],
30     'xmlimport': ['uproot'],
31     'minuit': ['iminuit'],
32     'develop': [
33         'pyflakes',
34         'pytest>=3.5.1',
35         'pytest-cov>=2.5.1',
36         'pytest-benchmark[histogram]',
37         'pytest-console-scripts',
38         'python-coveralls',
39         'coverage>=4.0',  # coveralls
40         'matplotlib',
41         'jupyter',
42         'nbdime',
43         'uproot>=3.0.0',
44         'papermill',
45         'graphviz',
46         'bumpversion',
47         'sphinx',
48         'sphinxcontrib-bibtex',
49         'sphinxcontrib-napoleon',
50         'sphinx_rtd_theme',
51         'nbsphinx',
52         'sphinx-issues',
53         'm2r',
54         'jsonpatch',
55         'ipython<7',  # jupyter_console and ipython clash in dependency requirement -- downgrade ipython for now
56         'pre-commit',
57         'black;python_version>="3.6"',  # Black is Python3 only
58         'twine',
59     ],
60 }
61 extras_require['complete'] = sorted(set(sum(extras_require.values(), [])))
62 
63 setup(
64     name='pyhf',
65     version='0.0.15',
66     description='(partial) pure python histfactory implementation',
67     long_description=long_description,
68     long_description_content_type='text/markdown',
69     url='https://github.com/diana-hep/pyhf',
70     author='Lukas Heinrich',
71     author_email='lukas.heinrich@cern.ch',
72     license='Apache',
73     keywords='physics fitting numpy scipy tensorflow pytorch mxnet dask',
74     classifiers=[
75         "Programming Language :: Python :: 2",
76         "Programming Language :: Python :: 2.7",
77         "Programming Language :: Python :: 3",
78         "Programming Language :: Python :: 3.6",
79     ],
80     packages=find_packages(),
81     include_package_data=True,
82     python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*",
83     install_requires=[
84         'scipy',  # requires numpy, which is required by pyhf, tensorflow, and mxnet
85         'click>=6.0',  # for console scripts,
86         'tqdm',  # for readxml
87         'six',  # for modifiers
88         'jsonschema>=v3.0.0a2',  # for utils, alpha-release for draft 6
89         'jsonpatch',
90     ],
91     extras_require=extras_require,
92     entry_points={'console_scripts': ['pyhf=pyhf.commandline:pyhf']},
93     dependency_links=[],
94 )
95
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -12,7 +12,7 @@
 
 extras_require = {
     'tensorflow': [
-        'tensorflow>=1.10.0',
+        'tensorflow<1.12.0,>=1.10.0',
         'tensorflow-probability==0.3.0',
         'numpy<=1.14.5,>=1.14.0',  # Lower of 1.14.0 instead of 1.13.3 to ensure doctest pass
         'setuptools<=39.1.0',

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -12,7 +12,7 @@\n \n extras_require = {\n     'tensorflow': [\n-        'tensorflow>=1.10.0',\n+        'tensorflow<1.12.0,>=1.10.0',\n         'tensorflow-probability==0.3.0',\n         'numpy<=1.14.5,>=1.14.0',  # Lower of 1.14.0 instead of 1.13.3 to ensure doctest pass\n         'setuptools<=39.1.0',\n", "issue": "Lock Tensorflow to 1.11.0 release until TensorFlow probability has caught up\n# Description\r\n\r\n[TensorFlow 1.12.0 has been released](https://github.com/tensorflow/tensorflow/releases/tag/v1.12.0) and it has breaking changes. Most notably\r\n\r\n> Remove `tf.contrib.linalg`. `tf.linalg` should be used instead. \r\n\r\nThis doesn't affect us, but it does affect [TensorFlow Probability `v0.3.0`, which breaks](https://travis-ci.org/diana-hep/pyhf/jobs/451151767#L668-L685):\r\n\r\n```\r\nImportError while loading conftest '/home/travis/build/diana-hep/pyhf/tests/conftest.py'.\r\ntests/conftest.py:46: in <module>\r\n    (pyhf.tensor.tensorflow_backend(session=tf.Session()), None)\r\npyhf/tensor/__init__.py:28: in __getattr__\r\n    from .tensorflow_backend import tensorflow_backend\r\npyhf/tensor/tensorflow_backend.py:3: in <module>\r\n    import tensorflow_probability as tfp\r\n../../../virtualenv/python3.6.3/lib/python3.6/site-packages/tensorflow_probability/__init__.py:21: in <module>\r\n    from tensorflow_probability.python import *  # pylint: disable=wildcard-import\r\n../../../virtualenv/python3.6.3/lib/python3.6/site-packages/tensorflow_probability/python/__init__.py:22: in <module>\r\n    from tensorflow_probability.python import distributions\r\n../../../virtualenv/python3.6.3/lib/python3.6/site-packages/tensorflow_probability/python/distributions/__init__.py:44: in <module>\r\n    from tensorflow_probability.python.distributions.linear_gaussian_ssm import LinearGaussianStateSpaceModel\r\n../../../virtualenv/python3.6.3/lib/python3.6/site-packages/tensorflow_probability/python/distributions/linear_gaussian_ssm.py:34: in <module>\r\n    tfl = tf.contrib.linalg\r\n../../../virtualenv/python3.6.3/lib/python3.6/site-packages/tensorflow/python/util/lazy_loader.py:54: in __getattr__\r\n    return getattr(module, item)\r\nE   AttributeError: module 'tensorflow.contrib' has no attribute 'linalg'\r\n```\r\n\r\nUntil `tfp` updates to using `v1.12` we'll have to lock to them.\r\n\r\n## Related Issues\r\n\r\n- Issue #330 \r\n\r\n# Checklist\r\n\r\n- [x] Run `git fetch` to get the most up to date version of `master`\r\n- [x] Searched through existing Issues to confirm this is not a duplicate issue\r\n- [x] Filled out the Description, Expected Behavior, Actual Behavior, and Steps to Reproduce sections above or have edited/removed them in a way that fully describes the issue\r\n\n", "before_files": [{"content": "#!/usr/bin/env python\n\nfrom setuptools import setup, find_packages\nfrom os import path\nimport sys\n\nthis_directory = path.abspath(path.dirname(__file__))\nif sys.version_info.major < 3:\n    from io import open\nwith open(path.join(this_directory, 'README.md'), encoding='utf-8') as readme_md:\n    long_description = readme_md.read()\n\nextras_require = {\n    'tensorflow': [\n        'tensorflow>=1.10.0',\n        'tensorflow-probability==0.3.0',\n        'numpy<=1.14.5,>=1.14.0',  # Lower of 1.14.0 instead of 1.13.3 to ensure doctest pass\n        'setuptools<=39.1.0',\n    ],\n    'torch': ['torch>=0.4.0'],\n    'mxnet': [\n        'mxnet>=1.0.0',\n        'requests<2.19.0,>=2.18.4',\n        'numpy<1.15.0,>=1.8.2',\n        'requests<2.19.0,>=2.18.4',\n    ],\n    # 'dask': [\n    #     'dask[array]'\n    # ],\n    'xmlimport': ['uproot'],\n    'minuit': ['iminuit'],\n    'develop': [\n        'pyflakes',\n        'pytest>=3.5.1',\n        'pytest-cov>=2.5.1',\n        'pytest-benchmark[histogram]',\n        'pytest-console-scripts',\n        'python-coveralls',\n        'coverage>=4.0',  # coveralls\n        'matplotlib',\n        'jupyter',\n        'nbdime',\n        'uproot>=3.0.0',\n        'papermill',\n        'graphviz',\n        'bumpversion',\n        'sphinx',\n        'sphinxcontrib-bibtex',\n        'sphinxcontrib-napoleon',\n        'sphinx_rtd_theme',\n        'nbsphinx',\n        'sphinx-issues',\n        'm2r',\n        'jsonpatch',\n        'ipython<7',  # jupyter_console and ipython clash in dependency requirement -- downgrade ipython for now\n        'pre-commit',\n        'black;python_version>=\"3.6\"',  # Black is Python3 only\n        'twine',\n    ],\n}\nextras_require['complete'] = sorted(set(sum(extras_require.values(), [])))\n\nsetup(\n    name='pyhf',\n    version='0.0.15',\n    description='(partial) pure python histfactory implementation',\n    long_description=long_description,\n    long_description_content_type='text/markdown',\n    url='https://github.com/diana-hep/pyhf',\n    author='Lukas Heinrich',\n    author_email='lukas.heinrich@cern.ch',\n    license='Apache',\n    keywords='physics fitting numpy scipy tensorflow pytorch mxnet dask',\n    classifiers=[\n        \"Programming Language :: Python :: 2\",\n        \"Programming Language :: Python :: 2.7\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.6\",\n    ],\n    packages=find_packages(),\n    include_package_data=True,\n    python_requires=\">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*\",\n    install_requires=[\n        'scipy',  # requires numpy, which is required by pyhf, tensorflow, and mxnet\n        'click>=6.0',  # for console scripts,\n        'tqdm',  # for readxml\n        'six',  # for modifiers\n        'jsonschema>=v3.0.0a2',  # for utils, alpha-release for draft 6\n        'jsonpatch',\n    ],\n    extras_require=extras_require,\n    entry_points={'console_scripts': ['pyhf=pyhf.commandline:pyhf']},\n    dependency_links=[],\n)\n", "path": "setup.py"}], "after_files": [{"content": "#!/usr/bin/env python\n\nfrom setuptools import setup, find_packages\nfrom os import path\nimport sys\n\nthis_directory = path.abspath(path.dirname(__file__))\nif sys.version_info.major < 3:\n    from io import open\nwith open(path.join(this_directory, 'README.md'), encoding='utf-8') as readme_md:\n    long_description = readme_md.read()\n\nextras_require = {\n    'tensorflow': [\n        'tensorflow<1.12.0,>=1.10.0',\n        'tensorflow-probability==0.3.0',\n        'numpy<=1.14.5,>=1.14.0',  # Lower of 1.14.0 instead of 1.13.3 to ensure doctest pass\n        'setuptools<=39.1.0',\n    ],\n    'torch': ['torch>=0.4.0'],\n    'mxnet': [\n        'mxnet>=1.0.0',\n        'requests<2.19.0,>=2.18.4',\n        'numpy<1.15.0,>=1.8.2',\n        'requests<2.19.0,>=2.18.4',\n    ],\n    # 'dask': [\n    #     'dask[array]'\n    # ],\n    'xmlimport': ['uproot'],\n    'minuit': ['iminuit'],\n    'develop': [\n        'pyflakes',\n        'pytest>=3.5.1',\n        'pytest-cov>=2.5.1',\n        'pytest-benchmark[histogram]',\n        'pytest-console-scripts',\n        'python-coveralls',\n        'coverage>=4.0',  # coveralls\n        'matplotlib',\n        'jupyter',\n        'nbdime',\n        'uproot>=3.0.0',\n        'papermill',\n        'graphviz',\n        'bumpversion',\n        'sphinx',\n        'sphinxcontrib-bibtex',\n        'sphinxcontrib-napoleon',\n        'sphinx_rtd_theme',\n        'nbsphinx',\n        'sphinx-issues',\n        'm2r',\n        'jsonpatch',\n        'ipython<7',  # jupyter_console and ipython clash in dependency requirement -- downgrade ipython for now\n        'pre-commit',\n        'black;python_version>=\"3.6\"',  # Black is Python3 only\n        'twine',\n    ],\n}\nextras_require['complete'] = sorted(set(sum(extras_require.values(), [])))\n\nsetup(\n    name='pyhf',\n    version='0.0.15',\n    description='(partial) pure python histfactory implementation',\n    long_description=long_description,\n    long_description_content_type='text/markdown',\n    url='https://github.com/diana-hep/pyhf',\n    author='Lukas Heinrich',\n    author_email='lukas.heinrich@cern.ch',\n    license='Apache',\n    keywords='physics fitting numpy scipy tensorflow pytorch mxnet dask',\n    classifiers=[\n        \"Programming Language :: Python :: 2\",\n        \"Programming Language :: Python :: 2.7\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.6\",\n    ],\n    packages=find_packages(),\n    include_package_data=True,\n    python_requires=\">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*\",\n    install_requires=[\n        'scipy',  # requires numpy, which is required by pyhf, tensorflow, and mxnet\n        'click>=6.0',  # for console scripts,\n        'tqdm',  # for readxml\n        'six',  # for modifiers\n        'jsonschema>=v3.0.0a2',  # for utils, alpha-release for draft 6\n        'jsonpatch',\n    ],\n    extras_require=extras_require,\n    entry_points={'console_scripts': ['pyhf=pyhf.commandline:pyhf']},\n    dependency_links=[],\n)\n", "path": "setup.py"}]}