TensorflowAPI的环境搭建

@ [TOC](TensorflowAPI的环境构建)

#下载对应tensorflow版本的API

1.首先要明确自己下载其中tensorflow版本的API

[tensorflow各版本的CUDA和Cudnn版本对应关系](https://blog.csdn.net/qq_27825451/article/details/89082978)![在这里插入图片描述(https://img-blog.csdnimg.cn /2020080310452154.png?x-oss-process=图像/水印,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI2ODIwOA ==,FF_16,color_

2.下载Tensorflow对象检测

[API网址](https://github.com/tensorflow/models)通过标签标签选择对应的版本,在这里我下载的是1.120的版本,进入此版本的目录之后,右上角下载zip就是对应的版本从github上下载项目(右上角“克隆或下载”-“ DownloadZIP”),下载到本地目录(避免中文),解压。

![在这里插入图片描述(https://img-blog.csdnimg.cn/20200803104641123.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZGGGG_FA_L_N

我的下载目录如下,自己根据自己的需求选择目录即可![在这里插入图片描述](https://img-blog.csdnimg.cn/20200803104652267.png)##配置对应的tensorflow环境这一步的如果没有阿纳康达,CUDA,CUDNN,参考链接进行配置](https://blog.csdn.net/weixin_44268208/article/ details / 96455642)使用Windows + R:运行窗口,输入cmd打开命令窗口:命令窗口中输入以下命令,进行环境配置

这里我配置的是3.6的python环境,不写版本默认下载最高版本,tfAPI是我给这个环境起的名字。

康达创建--name tfAPI蟒= 3.6 ```激活环境```畅达激活tfAPI ```下载对应版本的tensorflow,注意命名和之前有所变化,-i后面是更多源大的网址,可以自行选择[参考连接](https://blog.csdn.net/panyingzeng/article/details/105000714)```PIP安装-i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow GPU的== 1.12.0 ```4.验证tensorflow安装成功,从命令窗口进入蟒蛇进行验证,出现以下内容都是安装成功[在这里插入图片描述(HTTPS:// IMG-博客csdnimg CN / 20200803104954632.png?X-oSS-过程=图像/水印,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI2OFFwOA,颜色为[107-oss-过程=图像/水印,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI2ODIwOA ==,size_16,color_FFFFFF,t_70)# #5。Protobuf安装与配置









 








在https://github.com/google/protobuf/releases网站中选择windows版本(最下面),解压后将bin文件夹中的【protoc.exe】放到C:\ Windows
在模型\研发\目录下打开命令行窗口,输入:输入下面这个命令不报错即为成功```。#来自tensorflow /模型/ protoc object_detection / PROTOS / * .proto --python_out = ```在这一步有时候会出错,可以尝试把/*.proto这部分改成文件夹下特定的文件名,一个一个试,每运行一个,文件夹下应该出现对应的.py结尾的文件。不报错即可。## 6.PYTHONPATH环境变量设置在'此电脑'-'属性'-'高级系统设置'-'环境变量'-'系统变量'中新建称为'PYTHONPATH'的变量,将模型/研究/及模型/研究/ slim两个文件夹的完整目录添加,分号替换,效果如下图:![在这里插入图片描述(https://img-blog.csdnimg.cn/20200803105127646.png?x- OSS-过程=图像/水印,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI2ODIwOA ==,size_16,color_FFFFFF,t_70)可以测试的API,在模型/科研/文件夹下测试:盒品带在目录模型\研究\ object_detection找到object_detection_tutorial.ipynb文件,可以使用jupyter进行运行,也可以使用Pycharm进行运行` `






 


 







在numpy为np的ossix.moves.urllib为urllib的sys文件中导入tar文件流tensorflow为tf的zip文件从distutils.version开始从集合StrictVersion从io传递defaultdict从matplotlib到StringIO从matplotlib到pyplot作为从PIL到图像的PLT#这是必需的,因为笔记本存储在object_detection文件夹中。来自object_detection.utils的sys.path.append(“..”)如果StrictVersion(TF。__版本__)<StrictVersion(“ 1.9.0'):导入('请升级TensorFlow安装到v1.9。*或更高版本!)#需要显示图像。#%matplotlib从utils内联约会utils✓label_map_util从vissutil视觉化_utils#要下载的模型。'http ://download.tensorflow.org/models/object_detection/'#冻结检测图的路径。这是对象检测的实际模型。PATH_TO_FROZEN_GRAPH= MODEL_NAME +'/ Frozen_inference_graph .pb'#用一个框PATH_TO_LABELS = os .path.join('数据','mscoco_label_map.pbtxt')打开器= urllib.request.URLopener()打开器。获取(DOWNLOAD_BASE + MODEL_FILE,MODEL_FILE)tar_file = tarfile。 getmembers():文件名= os.path.basename(文件名)如果文件名中的'frozen_inference_graph.pb':tar_file.extract(文件,os.getcwd())detection_graph = tf.Graph(),带有detection_graph .as_default():od_graph_def = tf.GraphDef(),带有tf。“” category_index = label_map_util.create_category_IMAGET_IMAGET_IMAGET =














































































[os.path.join(PATH_TO_TEST_IMAGES_DIR,'image {}。jpg'.format(i))对于范围为i(1,3)的i)#输出图像的尺寸,以英寸为单位。IMAGE_SIZE=(12, 8)def run_inference_for_single_image(图像,图形):带有graph.as_default():tf.Session()评估:#获取输入和输出张量的句柄ops = tf.get_default_graph()。get_operations()all_tensor_names = {在tensor_dict = {}在['num_detections','detection_boxes','detection_scores,'detection_classes','detection_masks'中键入tensor_name = key +':0',如果all_tensor_names中的tensor_name:tensor_dict [key] =tf。get_default_graph()。”] [0] ,tf。int32)detection_boxes = tf。切片(detection_boxes,[0,0],[real_num_detection,-1])detection_masks = tf。切片(detection_masks,[0,0,0],[real_num_detection]] ,,,-1,-1])detection_masks_reframed =utils_ops。reframe_box_masks_to_image_masks(detection_masks,detection_boxes,图像)。形状[0],图像。形状[1])detection_masks_reframed =
































            .cast(tf.greater(detection_masks_reframed,0.5),tf.uint8)
        #顺序程序,按批处理尺寸
        tensor_dict ['detection_masks'] = tf.expand_dims(
            detection_masks_reframed,0)
      image_tensor = t(get_get_graph).get_tensor_by_name('image_tensor:0')#正在运行output_dict = sess.run(tensor_dict,feed_dict = {image_tensor:image,0)})#所有这些都是float32 numpy方法,因此将进行类型转换为适当的output_dict ['num_detections'] = int(output_dict ['num_detections'] [0])output_dict ['detection_classes'] = output_dict ['detection_classes'] [0] .astype(np.uint8)output_dict ['detection_boxes' ] = output_dict ['detection_boxes'] [0] output_dict ['detection_scores'] = output_dict ['detection_scores'] [0]      如果        output_dict中的“ detection_masks” :output_dict ['detection_masks'] = output_dict ['detection_masks'] [0]在TEST_IMAGE_PATHS中  返回image_path的output_dict :  image = Image.open(image_path)




















  #稍后将使用基于数组的图像表示形式,以准备
  带有框和标签的#结果图像。
  image_np = load_image_into_numpy_array(image)
  #扩展尺寸,因为模型期望图像具有以下形状:[1,None,None,3] 
  image_np_expanded = np.expand_dims(image_np,axis = 0)
  #实际检测。
  output_dict = run_inference_for_single_image(image_np,detection_graph)
  #可视化检测结果。
  vis_util.visualize_boxes_and_labels_on_image_array(
      image_np,
      output_dict ['detection_boxes'],
      output_dict ['detection_classes'],
      output_dict ['detection_scores'],
      category_index,
      instance_masks = output_dict.get('detection_masks'),
      use_normalized_coordinates = True,
      line_thickness = 8)
  plt.figure(figsize = IMAGE_SIZE)
  plt.imshow(image_np)```


##在运行过程中如果出现以下问题:
###如果出现ModuleNotFoundError:没有名为“ object_detection”的模块
在win10上转到(\ model master \ models-master \ research)在此路径中打开cmd并键入python setup.py install如果出现ModuleNotFoundError:没有名为“ nets”的模块[参考链接](https:// blog。 csdn.net/qq_37644877/article/details/92772820)


![在这里插入图片描述](https://img-blog.csdnimg.cn/20200803105338232.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI2ODIwOA==,size_16,color_FFFFFF,t_70)
### 如果出现ModuleNotFoundError: No module named 'tensorflow.compat.v1'
[安装对应版本](https://blog.csdn.net/kudou1994/article/details/88427296)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200803105415615.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI2ODIwOA==,size_16,color_FFFFFF,t_70)
### 如果出现AttributeError: keypoints

[参考链接](https://stackoverflow.com/questions/62296937/attributeerror-keypoints-object-detection-using-tensorflow-1-14)
照着回答1的人修改 Visualzation_utils和 object_detection_tutorial.py里面的代码,可以直接把他里面的代码拷贝过来https://github.com/osrf/tensorflow_object_detector/blob/master/src/object_detection/utils/label_map_util.py#L58

### 如果没有出现框框
[参考链接](https://blog.csdn.net/lalalanddd/article/details/105231015?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task -blog-BlogCommendFromMachineLearnPai2-1.channel_param)

### 如果出现ModuleNotFoundError: No module named 'nets'
[参考链接](https://blog.csdn.net/qq_37644877/article/details/92772820)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201222170631231.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI2ODIwOA==,size_16,color_FFFFFF,t_70)


##注:整体文章参考链接[博客参考链接](https://blog.csdn.net/dy_guox/article/details/79081499?utm_source=app)

你可以按照以下步骤搭建TensorFlow.NET机器学习环境: 1. 安装.NET Core SDK:TensorFlow.NET是基于.NET Core开发的,因此首先需要安装.NET Core SDK。你可以从Microsoft官方网站下载并安装适用于你的操作系统的.NET Core SDK。 2. 创建一个新的.NET Core项目:打开命令行终端或者使用Visual Studio创建一个新的.NET Core项目。你可以使用以下命令创建一个新的控制台应用程序: ``` dotnet new console -n MyTensorFlowProject cd MyTensorFlowProject ``` 3. 引入TensorFlow.NET包:在项目文件(.csproj)中添加对TensorFlow.NET包的引用。打开项目文件并添加以下内容: ```xml <ItemGroup> <PackageReference Include="TensorFlow.NET" Version="0.12.0" /> </ItemGroup> ``` 确保将版本号设置为最新版本。保存文件并关闭。 4. 安装TensorFlow运行时库:TensorFlow.NET依赖于TensorFlow C API,因此需要安装TensorFlow运行时库。你可以从TensorFlow官方网站下载并安装适用于你的操作系统的TensorFlow运行时库。 5. 编写代码:打开项目文件夹中的Program.cs文件,并使用以下代码编写你的机器学习代码: ```csharp using TensorFlow; class Program { static void Main(string[] args) { // 创建一个新的会话 using (var session = new TFSession()) { // 构建你的机器学习模型 // ... // 运行会话 var runner = session.GetRunner(); // 设置输入数据 // ... // 运行模型并获取输出 // ... } } } ``` 在代码中,你需要根据你的机器学习任务构建模型,并使用TFSession类来创建一个新的会话。然后,你可以使用会话来运行模型并获取输出。 6. 构建和运行项目:在项目文件夹中打开命令行终端,并使用以下命令构建和运行项目: ``` dotnet build dotnet run ``` 这将编译并执行你的机器学习代码。 以上是搭建TensorFlow.NET机器学习环境的基本步骤。你可以根据你的具体需求进一步扩展和优化你的机器学习代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值