1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import numpy as np
- import matplotlib.pyplot as plt
- # f(x) = 1/(1+e(-z))
- def sigmoid(x, min_value=0.3, max_value=5, right_offset=5, span=10):
- """
- min_value: y最小值
- max_value: y最大值
- right_offset: 曲线右移
- span: y从接近最小到接近最大时,自变量x的跨度
- """
- # 右移
- x -= right_offset
- # 缩放
- x *= 10 / span
- # 振幅
- return (max_value - min_value) / (1 + np.exp(-x)) + min_value
- def test():
- plt.rcParams["font.family"] = "SimHei"
- plt.rcParams["axes.unicode_minus"] = False
- plt.rcParams["font.size"] = 12
- z = np.linspace(-10, 10, 200)
- plt.plot(z, sigmoid(z))
- plt.axvline(x=0, ls="--", c="k")
- plt.axhline(ls=":", c="k")
- plt.axhline(y=0.5, ls=":", c="k")
- plt.axhline(y=1, ls=":", c="k")
- plt.xlabel("z值")
- plt.ylabel("sigmoid(z)值")
- if __name__ == "__main__":
- test()
- # for i in range(20):
- # x = i + 1
- # print(x, sigmoid(x, span=10))
- # cd grpc
- # mkdir -p cmake/build
- # pushd cmake/build
- # cmake -DgRPC_INSTALL=ON \
- # -DgRPC_BUILD_TESTS=OFF \
- # ../..
- # make -j 4
- # make install
- # popd
|