前言:
本专栏在保证内容完整性的基础上,力求简洁,旨在让初学者能够更快地、高效地入门TensorFlow2 深度学习框架。如果觉得本专栏对您有帮助的话,可以给一个小小的三连,各位的支持将是我创作的最大动力!
系列文章汇总:TensorFlow2 入门指南
Github项目地址:https://github.com/Keyird/TensorFlow2-for-beginner
从上一篇文章: TensorFlow2 入门指南 | 14 网络模型的装配、训练与评估
我们学会了如何使用 compile 进行模型的装配,其中就包括了损失函数。这篇文章就来简单谈谈如何来构建损失函数。损失函数包括两种:
- 一种是默认的 内置损失函数,可以直接调用的,适合初学者;
- 还有一种,就是 自定义损失函数,需要自行构建,这是进阶者必须掌握的。
Original: https://blog.csdn.net/wjinjie/article/details/122338205
Author: AI 菌
Title: TensorFlow2 入门指南 | 15 默认损失函数 & 自定义损失函数
相关阅读2
Title: Anaconda3中库的安装及在pycharm使用
文章目录
前言
Andaconda的安装前文已经提到。现在介绍Anaconda的使用。
一、查看版本
在电脑开始菜单。Anaconda文件夹下打开Anaconda Prompt。输入 conda --version
版本为4.6.11
; 二、创建虚拟环境及操作
1.创建环境
在Anaconda Prompt终端输入:
conda create --name 环境名 python=版本号
比如我创建一个环境名为tensorflow的虚拟环境,python版本为3.7
conda create --name tensorflow python=3.7
使用 conda info -e
查看是否有你创建的虚拟环境
见上图,这里已经有了 tensorflow
环境。(base
为Anaconda安装时就存在的基础环境)
如果环境创建失败,请查看这篇博客,这里给出一种解决方法:虚拟环境失败请看这里
2.conda其他命令
conda remove -n tensorflow -all
删除名称为tensorflow的虚拟环境
conda list
列出本虚拟环境中所有安装的库,看命令行最前面括号里就知道目前所在哪个环境中。
conda activate tensorflow
激活tensorflow虚拟环境。不需要先退出上一个环境。
conda deactivate tensorflow
关闭虚拟环境
conda install pip
安装pip管理器
三、在指定环境中安装所需的库
1、首先激活环境 conda activate tensorflow
(一定要先确认所在环境)
2、使用 pip
安装管理器,在创建环境的时候会安装有 pip
。如果没有就用conda安装
3、安装所需要的库。
例1:安装tensorflow2-cpu版本:安装2.2.
pip install tensorflow==2.2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
例2:安装tensorlayer 2.2.1版本
pip install tensorlayer==2.2.1 -i https://pypi.tuna.tsinhua.edu.cn/simple
安装时请指定安装源。这里指定清华源。官方源下载太慢,还容易出错。等待下载即可。
此处列出国内常用源地址(一般记住一个就行):
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/ 中国科技大学
https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣:http://pypi.douban.com/simple/
安装指定的版本请用 库名==版本号
指定;例: pip install numpy==1.16.1
卸载指定库: pip uninstall "库名"
例: pip uninstall numpy
四、Pycharm中使用安装了指定库的解释器
首先,打开自己的项目。在 File--settings--Project:"自己的项目名"
打开之后可能是这样:没有东西
接下来,点红圈那里的齿轮,然后点 Add...
:
选择 conda Environment
之后先点 Existing environment
,然后再点2处的...
最后找到Anaconda安装的文件夹,跟据 1--2--3--4
步找到 python.exe
,点 OK
就可以愉快的使用了
; 五、结语
如:我在 Anaconda
中使用conda创建了名为 tensorflow
的虚拟环境,在虚拟环境中使用 pip
安装了 tensorflow==2.2
,安装了 numpy==1.16.1
。那么经过解释器的导入。现在再Pycharm中打开python文件就可以导入 tensorflow
和 numpy
,就不会出现找不到库的问题了
Original: https://blog.csdn.net/m0_52304861/article/details/123561307
Author: 皮皮
Title: Anaconda3中库的安装及在pycharm使用
相关阅读3
Title: ROS+ubuntu20.04+opencv4.5.5
环境:
ubuntu20.04
opencv4.5.5
ros: noetic
参考链接:
在ROS中使用OpenCV进行简单的图像处理
ROS中使用opencv
第一个链接注释比较多,第二个链接是搞定的,成功的界面是这样的:
读取opencv的程序:
static const char WINDOW[] = "Image window";
static void help()
{
printf("\nThis program demonstrates converting OpenCV Image to ROS Image messages \n"
);
}
int main(int argc, char** argv)
{
help();
ros::init(argc, argv, "image_converter");
//Reading an image from the file
cv::Mat cv_image = cv::imread("/home/qiao/1.png");
if(cv_image.empty() )
{
ROS_ERROR("Read the picture failed!");
return -1;
}
//Convert OpenCV image to ROS message
ros::NodeHandle node;
image_transport::ImageTransport transport(node);
image_transport::Publisher image_pub;
image_pub=transport.advertise("OutImage", 1);
ros::Time time=ros::Time::now();
cv_bridge::CvImage cvi;
cvi.header.stamp = time;
cvi.header.frame_id = "image";
cvi.encoding = "bgr8";
cvi.image = cv_image;
sensor_msgs::Image im;
cvi.toImageMsg(im);
image_pub.publish(im);
ROS_INFO("Converted Successfully!");
//Show the image
cv::namedWindow(WINDOW);
cv::imshow(WINDOW,cv_image);
cv::waitKey(0);
ros::spin();
return 0;
}
后面还需要编译:
mkdir -p 工作区/src
cd 工作区/src
catkin_init_workspace
catkin_create_pkg --rosdistro noetic 工作区 sensor_msgs cv_bridge roscpp std_msgs image_transport
find_package(OpenCV REQUIRED)
include_directories(include ${OpenCV_INCLUDE_DIRS})
include_directories(include ${catkin_INCLUDE_DIRS})
add_executable(node src/node.cpp)
target_link_libraries(node ${catkin_LIBRARIES} ${OpenCV_LIBRARIES})
add_dependencies(node 工作区_gencpp)
cd 工作区
catkin_make
2022年1月7更新:
find_package(OpenCV 4 REQUIRED)
我之前是加了OpenCV 4 的,但是我全部重新整了一遍发现不需要加4,因为我系统里很干净就一个我编译的opencv4.2,所以我就去掉了4
find_package(OpenCV REQUIRED)
然后就是运行:
roscore
source devel/setup.bash
rosrun 工作区 cpp文件的名字
至此能正确显示图像,流程也是没有问题的。
不过有几个问题我没理清楚:
- opencv是我编译好的4.5.5么,还是ROS自带的?
- 收端怎么收的?
等我整明白了来还愿!
经验证上面的opencv用的是ROS自带的,我需要将opencv换成自己的4.5.5版本!
参考链接:
Compiling ROS cv_bridge with Python 3
解决Ubuntu环境下ROS Kinetic中的cv_bridge和自己安装OpenCV 2.4.xx兼容性笔记
这个大佬写的巨好!!
Compiling ROS cv_bridge with Python 3
OpenCV4 instead of opencv3 #272
也参考了这两个链接!
这里面要注意的是在Opencv4.5.5 中使用cv_bridge转换msgs 与 opencv图像需要将opencv版本换成自己的,我的是这样的:
set(OpenCV_VERSION 4.5.5)
set(OpenCV_VERSION_MAJOR 4)
set(OpenCV_VERSION_MINOR 5)
set(OpenCV_VERSION_PATCH 5)
set(OpenCV_SHARED ON)
set(OpenCV_CONFIG_PATH /usr/local/share/opencv4)
set(OpenCV_INSTALL_PATH /usr/local/)
set(OpenCV_LIB_COMPONENTS opencv_calib3d;opencv_core;opencv_dnn;opencv_features2d;opencv_flann;opencv_highgui;opencv_imgcodecs;opencv_imgproc;opencv_ml;opencv_objdetect;opencv_photo;opencv_shape;opencv_stitching;opencv_superres;opencv_video;opencv_videoio;opencv_videostab;opencv_viz;opencv_aruco;opencv_bgsegm;opencv_bioinspired;opencv_ccalib;opencv_cvv;opencv_datasets;opencv_dpm;opencv_face;opencv_fuzzy;opencv_hdf;opencv_img_hash;opencv_line_descriptor;opencv_optflow;opencv_phase_unwrapping;opencv_plot;opencv_reg;opencv_rgbd;opencv_saliency;opencv_stereo;opencv_structured_light;opencv_surface_matching;opencv_text;opencv_tracking;opencv_xfeatures2d;opencv_ximgproc;opencv_xobjdetect;opencv_xphoto)
set(OpenCV_USE_MANGLED_PATHS TRUE)
set(OpenCV_MODULES_SUFFIX )
最后成功的截图:
ROS这部分算是搞完了,虽然还有很多不理解,但是也算是圆满,接下来就是理解这玩意以及后续的应用!
查看opencv版本信息: pkg-config --cflags opencv
pkg-config --modversion opencv4
OPENCV_GENERATE_PKGCONFIG - pkg-config --modversion opencv4
2022年1月7更新:
我重新构建节点的时候报了个错误
Could neither find file "toplevel.cmake" in any workspace nor relative, checked the following paths
我尝试了网上很多解决办法都不行,会报新的问题,最终解决方案:
cd /opt/ros/noetic/share/
ls -l catkin
发现有catkin文件夹,我把这个文件夹移到了前面的目录
mv catkin ../
也就是share和catkin在同级目录下:
其他都按照之前的处理就好,最终显示也是正常的。
202年1月7更新,重新搞了一遍,存一些中间文件:
1. opencv冲突的解决方案:
https://blog.csdn.net/qq_38441692/article/details/107249191
2. cv_bridge
https://blog.csdn.net/weixin_43493992/article/details/116308137
3. 为什么OpenCV4 "pkg-config --modversion opencv"显示" No package 'opencv' found"?解决方法!
https://blog.csdn.net/qq_38505858/article/details/117780774
opencv4.pc 这是在pkgconfig中的,默认的会找这个文件
pkg-config --modversion opencv4
4. ubuntu18.04 编译OpenCV4.2.0 OpenCV_Contrib4.2.0
https://blog.csdn.net/PecoHe/article/details/90581526
https://blog.csdn.net/u011171361/article/details/106303216
5. sudo apt install python3-rosdep not sudo apt install python3-rosdep2
DEFAULT_SOURCES_LIST_URL = 'file:///home/qiao/project/rosdistro/rosdep/sources.list.d/20-default.list'
REP3_TARGETS_URL = 'file:///home/qiao/project/rosdistro/releases/targets.yaml'
DEFAULT_INDEX_URL = 'file:///home/qiao/project/rosdistro/index-v4.yaml'
sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
catkin_create_pkg --rosdistro noetic opencv_test sensor_msgs cv_bridge roscpp std_msgs image_transport
Original: https://blog.csdn.net/weixin_43868576/article/details/122688385
Author: 渡伴
Title: ROS+ubuntu20.04+opencv4.5.5