当前位置: 首页 > news >正文

温州哪里有做网站将一个网站拉入黑名单怎么做

温州哪里有做网站,将一个网站拉入黑名单怎么做,wordpress设置只显标题,刚做的网站关键词就上来了参考内容#xff1a;pytorch添加C拓展简单实战编写及基本功能测试 文章目录 第一步#xff1a;编写 C 模块test.htest.cpp 第二步#xff1a;编写 setup.py第三步#xff1a;安装 C 模块第四步#xff1a;验证安装第五步#xff1a;C 模块使用test_cpp1.pytest_cpp2.py 运… 参考内容pytorch添加C拓展简单实战编写及基本功能测试 文章目录 第一步编写 C 模块test.htest.cpp 第二步编写 setup.py第三步安装 C 模块第四步验证安装第五步C 模块使用test_cpp1.pytest_cpp2.py 运行结果扩展阅读 编译安装前的文件目录 这里的 csrc 应该不是指 pytorch 项目中的 /torch/csrc csrc ├─ cpu │ ├─ test.cpp │ └─ test.h └─ setup.py第一步编写 C 模块 test.h #include torch/extension.h #include vector// 前向传播 torch::Tensor Test_forward_cpu(const torch::Tensor inputA, const torch::Tensor inputB);// 反向传播 std::vectortorch::Tensor Test_backward_cpu(const torch::Tensor gradOutput);test.cpp #include test.h// 前向传播 torch::Tensor Test_forward_cpu(const torch::Tensor x, const torch::Tensor y){AT_ASSERTM(x.sizes() y.sizes(), x must be the same size as y);torch::Tensor z torch::zeros(x.sizes());z 2 * x y;return z; }// 反向传播 std::vectortorch::Tensor Test_backward_cpu(const torch::Tensor gradOutput){torch::Tensor gradOutputX 2 * gradOutput * torch::ones(gradOutput.sizes());torch::Tensor gradOutputY gradOutput * torch::ones(gradOutput.sizes());return {gradOutputX, gradOutputY}; }// pybind11 绑定 PYBIND11_MODULE(TORCH_EXTENSION_NAME, m){m.def(forward, Test_forward_cpu, TEST forward);m.def(backward, Test_backward_cpu, TEST backward); }第二步编写 setup.py from setuptools import setup import os import glob from torch.utils.cpp_extension import BuildExtension, CppExtension# 头文件目录 include_dirs os.path.dirname(os.path.abspath(__file__)) # 源代码目录 source_cpu glob.glob(os.path.join(include_dirs, cpu, *.cpp))setup(nametest_cpp, # 模块名称需要在 python 中调用version0.1,ext_modules[CppExtension(test_cpp, sourcessource_cpu, include_dirs[include_dirs]),],cmdclass{build_ext: BuildExtension} )第三步安装 C 模块 在 csrc 文件夹下运行命令 python setup.py install第一次尝试的报错信息 /home/zjma/.conda/envs/debugtest/lib/python3.8/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !!********************************************************************************Please avoid running setup.py directly.Instead, use pypa/build, pypa/installer or otherstandards-based tools.See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.********************************************************************************!!self.initialize_options() /home/zjma/.conda/envs/debugtest/lib/python3.8/site-packages/setuptools/_distutils/cmd.py:66: EasyInstallDeprecationWarning: easy_install command is deprecated. !!********************************************************************************Please avoid running setup.py and easy_install.Instead, use pypa/build, pypa/installer or otherstandards-based tools.See https://github.com/pypa/setuptools/issues/917 for details.********************************************************************************!!self.initialize_options()参考 SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip 后得知是 setuptools 版本太高于是降低 setuptools 版本pip install setuptools58.2.0。 第二次尝试的运行结果 running install running bdist_egg running egg_info writing test_cpp.egg-info/PKG-INFO writing dependency_links to test_cpp.egg-info/dependency_links.txt writing top-level names to test_cpp.egg-info/top_level.txt reading manifest file test_cpp.egg-info/SOURCES.txt writing manifest file test_cpp.egg-info/SOURCES.txt installing library code to build/bdist.linux-x86_64/egg running install_lib running build_ext building test_cpp extension creating /home/zjma/pytorch_v1.13.1/csrc/build/temp.linux-x86_64-3.8 creating /home/zjma/pytorch_v1.13.1/csrc/build/temp.linux-x86_64-3.8/home creating /home/zjma/pytorch_v1.13.1/csrc/build/temp.linux-x86_64-3.8/home/zjma creating /home/zjma/pytorch_v1.13.1/csrc/build/temp.linux-x86_64-3.8/home/zjma/pytorch_v1.13.1 creating /home/zjma/pytorch_v1.13.1/csrc/build/temp.linux-x86_64-3.8/home/zjma/pytorch_v1.13.1/csrc creating /home/zjma/pytorch_v1.13.1/csrc/build/temp.linux-x86_64-3.8/home/zjma/pytorch_v1.13.1/csrc/cpu Emitting ninja build file /home/zjma/pytorch_v1.13.1/csrc/build/temp.linux-x86_64-3.8/build.ninja... Compiling objects... Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBSN) [1/1] c -MMD -MF /home/zjma/pytorch_v1.13.1/csrc/build/temp.linux-x86_64-3.8/home/zjma/pytorch_v1.13.1/csrc/cpu/test.o.d -pthread -B /home/zjma/.conda/envs/debugtest/compiler_compat -Wl,--sysroot/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/zjma/pytorch_v1.13.1/csrc -I/home/zjma/pytorch_v1.13.1/torch/include -I/home/zjma/pytorch_v1.13.1/torch/include/torch/csrc/api/include -I/home/zjma/pytorch_v1.13.1/torch/include/TH -I/home/zjma/pytorch_v1.13.1/torch/include/THC -I/home/zjma/.conda/envs/debugtest/include/python3.8 -c -c /home/zjma/pytorch_v1.13.1/csrc/cpu/test.cpp -o /home/zjma/pytorch_v1.13.1/csrc/build/temp.linux-x86_64-3.8/home/zjma/pytorch_v1.13.1/csrc/cpu/test.o -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE_gcc -DPYBIND11_STDLIB_libstdcpp -DPYBIND11_BUILD_ABI_cxxabi1016 -DTORCH_EXTENSION_NAMEtest_cpp -D_GLIBCXX_USE_CXX11_ABI1 -stdc14 cc1plus: warning: command-line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C creating build/lib.linux-x86_64-3.8 g -pthread -shared -B /home/zjma/.conda/envs/debugtest/compiler_compat -L/home/zjma/.conda/envs/debugtest/lib -Wl,-rpath/home/zjma/.conda/envs/debugtest/lib -Wl,--no-as-needed -Wl,--sysroot/ /home/zjma/pytorch_v1.13.1/csrc/build/temp.linux-x86_64-3.8/home/zjma/pytorch_v1.13.1/csrc/cpu/test.o -L/home/zjma/pytorch_v1.13.1/torch/lib -lc10 -ltorch -ltorch_cpu -ltorch_python -o build/lib.linux-x86_64-3.8/test_cpp.cpython-38-x86_64-linux-gnu.so creating build/bdist.linux-x86_64/egg copying build/lib.linux-x86_64-3.8/test_cpp.cpython-38-x86_64-linux-gnu.so - build/bdist.linux-x86_64/egg creating stub loader for test_cpp.cpython-38-x86_64-linux-gnu.so byte-compiling build/bdist.linux-x86_64/egg/test_cpp.py to test_cpp.cpython-38.pyc creating build/bdist.linux-x86_64/egg/EGG-INFO copying test_cpp.egg-info/PKG-INFO - build/bdist.linux-x86_64/egg/EGG-INFO copying test_cpp.egg-info/SOURCES.txt - build/bdist.linux-x86_64/egg/EGG-INFO copying test_cpp.egg-info/dependency_links.txt - build/bdist.linux-x86_64/egg/EGG-INFO copying test_cpp.egg-info/top_level.txt - build/bdist.linux-x86_64/egg/EGG-INFO writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt zip_safe flag not set; analyzing archive contents... __pycache__.test_cpp.cpython-38: module references __file__ creating dist/test_cpp-0.1-py3.8-linux-x86_64.egg and adding build/bdist.linux-x86_64/egg to it removing build/bdist.linux-x86_64/egg (and everything under it) Processing test_cpp-0.1-py3.8-linux-x86_64.egg removing /home/zjma/.conda/envs/debugtest/lib/python3.8/site-packages/test_cpp-0.1-py3.8-linux-x86_64.egg (and everything under it) creating /home/zjma/.conda/envs/debugtest/lib/python3.8/site-packages/test_cpp-0.1-py3.8-linux-x86_64.egg Extracting test_cpp-0.1-py3.8-linux-x86_64.egg to /home/zjma/.conda/envs/debugtest/lib/python3.8/site-packages test-cpp 0.1 is already the active version in easy-install.pthInstalled /home/zjma/.conda/envs/debugtest/lib/python3.8/site-packages/test_cpp-0.1-py3.8-linux-x86_64.egg Processing dependencies for test-cpp0.1 Finished processing dependencies for test-cpp0.1编译安装后的文件目录 csrc ├─ build │ ├─ bdist.linux-x86_64 │ ├─ lib.linux-x86_64-3.8 │ │ └─ test_cpp.cpython-38-x86_64-linux-gnu.so │ ├─ lib.linux-x86_64-cpython-38 │ │ └─ test_cpp.cpython-38-x86_64-linux-gnu.so │ ├─ temp.linux-x86_64-3.8 │ │ ├─ .ninja_deps │ │ ├─ .ninja_log │ │ ├─ build.ninja │ │ └─ home │ └─ temp.linux-x86_64-cpython-38 │ ├─ .ninja_deps │ ├─ .ninja_log │ ├─ build.ninja │ └─ home ├─ cpu │ ├─ test.cpp │ └─ test.h ├─ dist │ └─ test_cpp-0.1-py3.8-linux-x86_64.egg ├─ setup.py └─ test_cpp.egg-info├─ PKG-INFO├─ SOURCES.txt├─ dependency_links.txt└─ top_level.txt第四步验证安装 1、在虚拟环境的路径 /lib/python3.8/site-packages 下看到 test_cpp-0.1-py3.8-linux-x86_64.egg 文件 2、conda list 查看当前虚拟环境下已经安装的包 3、进入 python 的交互模式import test_cpp 后报错 import test_cpp Traceback (most recent call last):File stdin, line 1, in module ImportError: libc10.so: cannot open shared object file: No such file or directory参考 通过Python setup.py install的第三方包import时却无法导入是什么问题呢 - 神经的网络里挣扎的回答 - 知乎因为编译的 test_cpp 包需要依赖 torch 包导致无法导入。所以在 import test_cpp 前要先 import torch。 第五步C 模块使用 test_cpp1.py import torch import test_cpp from torch.autograd import Functionclass TestFunction(Function):staticmethoddef forward(ctx, x, y):return test_cpp.forward(x, y)staticmethoddef backward(ctx, gradOutput):gradX, gradY test_cpp.backward(gradOutput)return gradX, gradYclass Test(torch.nn.Module):def __init__(self):super(Test, self).__init__()def forward(self, inputA, inputB):return TestFunction.apply(inputA, inputB)test_cpp2.py import torch from torch.autograd import Variablefrom test_cpp1 import Testx Variable(torch.Tensor([1,2,3]), requires_gradTrue) y Variable(torch.Tensor([4,5,6]), requires_gradTrue)test Test() z test(x, y) z.sum().backward()print(x: , x) print(y: , y) print(z: , z) print(x.grad: , x.grad) print(y.grad: , y.grad)运行结果 /home/zjma/.conda/envs/debugtest/bin/python /home/zjma/PycharmProjects/pythonProject/test_cpp2.py x: tensor([1., 2., 3.], requires_gradTrue) y: tensor([4., 5., 6.], requires_gradTrue) z: tensor([ 6., 9., 12.], grad_fnTestFunctionBackward) x.grad: tensor([2., 2., 2.]) y.grad: tensor([1., 1., 1.])进程已结束退出代码为 0运行结果符合预期。 扩展阅读 pytorch之c/cuda拓展讲得很详细举的例子和上文基本一样但用到了CUDA很多内容可以扩展去看官方教程 相关内容的笔记后面可以复现一下 PyTorch进阶1C扩展pytorch 的C扩展
http://www.pierceye.com/news/118701/

相关文章:

  • 建网站需要软件c 怎么做能让窗体访问网站
  • 呼家楼网站建设黄骅市官方网站
  • 空包网站分站怎么做手表网站哪个最好知乎
  • 手机商城建站系统网站建设有关建筑网站建设方案
  • 做网站需要具备的基础条件wordpress 修改后台
  • 网站做点击收费标准重庆建设工业集团
  • wordpress个人网站备案管理广州网站搭建费用
  • 英文网站建设的原因泰安房产信息网网签查询
  • 怎么将网站做成html如何寻找一批做网站的公司
  • 苏州网站建设孙峰南宁站建站时间
  • 海淀手机网站设计公司苏州建设工程有限公司
  • 兰州网站设计制作王妃貌美还狠凶
  • 做新闻微网站有哪些淘宝优惠劵做网站模版
  • 网站维护的意义百度一下官网首页百度
  • 我是做网站怎么赚钱外贸网站google推广
  • 无锡网站seo报价软件开发模型是对软件开发过程的一种规范描述
  • 暴利产品竞价单页网站微信电商小程序开发公司
  • 网站中的搜索功能怎么做怎样在网站做友情链接
  • 新闻单位建设网站的意义怎么和其它网站做友情链接
  • 做哪类网站没有版权问题帮忙做公司网站
  • 商城式网站具备哪些功能吗郑州网站设
  • 潍坊市做网站沈阳专业网站制作团队
  • 婚恋网站女孩子都是做美容西安做网站南通公司
  • 网站制作培训中心想做网站建设
  • 免费模板素材网站ppth5开源网站模板
  • 建筑型专业网站有哪些网站想做个链接怎么做的
  • 公司建站文案给网站公司看的wordpress打赏
  • 卡密网站怎么做交易所网站建设教程
  • 响应式网站建设代理wordpress程序在ftp中上传到空间 网页怎么打不开
  • 做网站中网页的大小赤峰建筑人才网