URL: http://127.0.0.1:9200/likecs_art_db/_search REQUEST:
Array
(
[query] => Array
(
[match] => Array
(
[text] => Array
(
[query] => Linux 桌面玩家指南:15. 深度学习可以这样玩 - 京山游侠
)
)
)
[highlight] => Array
(
[fields] => Array
(
[text] => stdClass Object
(
)
)
[pre_tags] => #em#
[post_tags] => #/em#
)
[size] => 8
[from] => 0
)
RESPONSE:string(9226) "{"took":42,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":10000,"relation":"gte"},"max_score":85.80619,"hits":[{"_index":"likecs_art_db","_type":"_doc","_id":"44323","_score":85.80619,"_source":{"id":"44323","text":"Linux \u684c\u9762\u73a9\u5bb6\u6307\u5357\uff1a15. \u6df1\u5ea6\u5b66\u4e60\u53ef\u4ee5\u8fd9\u6837\u73a9 - \u4eac\u5c71\u6e38\u4fa0","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"youxia","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1544891661"},"highlight":{"text":["#em#Linux#/em# #em#桌#/em##em#面#/em##em#玩#/em##em#家#/em##em#指#/em##em#南#/em#:#em#15#/em#. #em#深#/em##em#度#/em##em#学#/em##em#习#/em##em#可#/em##em#以#/em##em#这#/em##em#样#/em##em#玩#/em# - #em#京#/em##em#山#/em##em#游#/em##em#侠#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"30885","_score":56.761444,"_source":{"id":"30885","text":"Linux \u684c\u9762\u73a9\u5bb6\u6307\u5357\uff1a01. \u73a9\u8f6c Linux \u7cfb\u7edf\u7684\u65b9\u6cd5\u8bba - \u4eac\u5c71\u6e38\u4fa0","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"youxia","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1637691796"},"highlight":{"text":["#em#Linux#/em# #em#桌#/em##em#面#/em##em#玩#/em##em#家#/em##em#指#/em##em#南#/em#:01. #em#玩#/em#转 #em#Linux#/em# 系统的方法论 - #em#京#/em##em#山#/em##em#游#/em##em#侠#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"33220","_score":53.059574,"_source":{"id":"33220","text":"Linux \u684c\u9762\u73a9\u5bb6\u6307\u5357\uff1a04. Linux \u684c\u9762\u7cfb\u7edf\u5b57\u4f53\u914d\u7f6e\u8981\u7565 - \u4eac\u5c71\u6e38\u4fa0","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"youxia","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1637426174"},"highlight":{"text":["#em#Linux#/em# #em#桌#/em##em#面#/em##em#玩#/em##em#家#/em##em#指#/em##em#南#/em#:04. #em#Linux#/em# #em#桌#/em##em#面#/em#系统字体配置要略 - #em#京#/em##em#山#/em##em#游#/em##em#侠#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"38622","_score":52.99518,"_source":{"id":"38622","text":"Linux \u684c\u9762\u73a9\u5bb6\u6307\u5357\uff1a10. \u6ca1\u6709 GUI \u7684\u65f6\u5019\u5e94\u8be5\u600e\u4e48\u73a9 - \u4eac\u5c71\u6e38\u4fa0","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"youxia","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1637096405"},"highlight":{"text":["#em#Linux#/em# #em#桌#/em##em#面#/em##em#玩#/em##em#家#/em##em#指#/em##em#南#/em#:10. 没有 GUI 的时候应该怎么#em#玩#/em# - #em#京#/em##em#山#/em##em#游#/em##em#侠#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"32221","_score":51.877293,"_source":{"id":"32221","text":"Linux \u684c\u9762\u73a9\u5bb6\u6307\u5357\uff1a03. \u9488\u5bf9 Gnome 3 \u7684 Linux \u684c\u9762\u8fdb\u884c\u7f8e\u5316 - \u4eac\u5c71\u6e38\u4fa0","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"youxia","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1639109858"},"highlight":{"text":["#em#Linux#/em# #em#桌#/em##em#面#/em##em#玩#/em##em#家#/em##em#指#/em##em#南#/em#:03. 针对 Gnome 3 的 #em#Linux#/em# #em#桌#/em##em#面#/em#进行美化 - #em#京#/em##em#山#/em##em#游#/em##em#侠#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"35277","_score":48.616196,"_source":{"id":"35277","text":"Linux \u684c\u9762\u73a9\u5bb6\u6307\u5357\uff1a07. Linux \u4e2d\u7684 Qemu\u3001KVM\u3001VirtualBox\u3001Xen \u865a\u62df\u673a\u4f53\u9a8c - \u4eac\u5c71\u6e38\u4fa0","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"youxia","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1640661387"},"highlight":{"text":["#em#Linux#/em# #em#桌#/em##em#面#/em##em#玩#/em##em#家#/em##em#指#/em##em#南#/em#:07. #em#Linux#/em# 中的 Qemu、KVM、VirtualBox、Xen 虚拟机体验 - #em#京#/em##em#山#/em##em#游#/em##em#侠#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"48127","_score":47.406013,"_source":{"id":"48127","text":"Linux \u684c\u9762\u73a9\u5bb6\u6307\u5357\uff1a16. \u4f7f\u7528 CUDA \u53d1\u6325\u663e\u5361\u7684\u8ba1\u7b97\u6027\u80fd - \u4eac\u5c71\u6e38\u4fa0","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"youxia","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1639553818"},"highlight":{"text":["#em#Linux#/em# #em#桌#/em##em#面#/em##em#玩#/em##em#家#/em##em#指#/em##em#南#/em#:16. 使用 CUDA 发挥显卡的计算性能 - #em#京#/em##em#山#/em##em#游#/em##em#侠#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"61534","_score":46.447037,"_source":{"id":"61534","text":"Linux \u684c\u9762\u73a9\u5bb6\u6307\u5357\uff1a20. \u628a Linux \u7cfb\u7edf\u88c5\u5165\u79fb\u52a8\u786c\u76d8\u6253\u5305\u5e26\u8d70 - \u4eac\u5c71\u6e38\u4fa0","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"youxia","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1641074722"},"highlight":{"text":["#em#Linux#/em# #em#桌#/em##em#面#/em##em#玩#/em##em#家#/em##em#指#/em##em#南#/em#:20. 把 #em#Linux#/em# 系统装入移动硬盘打包带走 - #em#京#/em##em#山#/em##em#游#/em##em#侠#/em#"]}}]}}"
URL: http://127.0.0.1:9200/likecs_art_db/_search REQUEST:Array
(
[query] => Array
(
[match] => Array
(
[text] => Array
(
[query] => Linux 桌面玩家指南:15. 深度学习可以这样玩 - 京山游侠
)
)
)
[highlight] => Array
(
[fields] => Array
(
[text] => stdClass Object
(
)
)
[pre_tags] => #em#
[post_tags] => #/em#
)
[size] => 8
[from] => 8
)
RESPONSE:string(8889) "{"took":50,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":10000,"relation":"gte"},"max_score":85.80619,"hits":[{"_index":"likecs_art_db","_type":"_doc","_id":"229933","_score":44.000744,"_source":{"id":"229933","text":"Linux \u7eaf\u5b57\u7b26\u754c\u9762\u7684\u73a9\u6cd5 - \u4eac\u5c71\u6e38\u4fa0","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"youxia","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1629531520"},"highlight":{"text":["#em#Linux#/em# 纯字符界#em#面#/em#的#em#玩#/em#法 - #em#京#/em##em#山#/em##em#游#/em##em#侠#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"34766","_score":42.36573,"_source":{"id":"34766","text":"Linux \u684c\u9762\u73a9\u5bb6\u6307\u5357\uff1a05. \u53d1\u535a\u5ba2\u5fc5\u5907\u7684\u56fe\u7247\u5904\u7406\u548c\u89c6\u9891\u5f55\u5236\u795e\u5668 - \u4eac\u5c71\u6e38\u4fa0","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"youxia","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1636509814"},"highlight":{"text":["#em#Linux#/em# #em#桌#/em##em#面#/em##em#玩#/em##em#家#/em##em#指#/em##em#南#/em#:05. 发博客必备的图片处理和视频录制神器 - #em#京#/em##em#山#/em##em#游#/em##em#侠#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"490773","_score":42.36573,"_source":{"id":"490773","text":"Linux \u684c\u9762\u73a9\u5bb6\u6307\u5357\uff1a05. \u53d1\u535a\u5ba2\u5fc5\u5907\u7684\u56fe\u7247\u5904\u7406\u548c\u89c6\u9891\u5f55\u5236\u795e\u5668 - \u4eac\u5c71\u6e38\u4fa0","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"youxia","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1634346645"},"highlight":{"text":["#em#Linux#/em# #em#桌#/em##em#面#/em##em#玩#/em##em#家#/em##em#指#/em##em#南#/em#:05. 发博客必备的图片处理和视频录制神器 - #em#京#/em##em#山#/em##em#游#/em##em#侠#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"656779","_score":40.661724,"_source":{"id":"656779","text":"\u73a9\u8f6c Linux \u7cfb\u7edf\u7684\u65b9\u6cd5\u8bba - \u4eac\u5c71\u6e38\u4fa0","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"youxia","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1639438381"},"highlight":{"text":["#em#玩#/em#转 #em#Linux#/em# 系统的方法论 - #em#京#/em##em#山#/em##em#游#/em##em#侠#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"50704","_score":40.63748,"_source":{"id":"50704","text":"Linux \u684c\u9762\u73a9\u5bb6\u6307\u5357\uff1a17. \u5728 Ubuntu \u4e2d\u4f7f\u7528 deepin-wine\uff0c\u89e3\u51b3\u4e00\u4e9b\u4f9d\u8d56 Windows \u7684\u75db\u70b9\u95ee\u9898 - \u4eac\u5c71\u6e38\u4fa0","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"youxia","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1636613199"},"highlight":{"text":["#em#Linux#/em# #em#桌#/em##em#面#/em##em#玩#/em##em#家#/em##em#指#/em##em#南#/em#:17. 在 Ubuntu 中使用 deepin-wine,解决一些依赖 Windows 的痛点问题 - #em#京#/em##em#山#/em##em#游#/em##em#侠#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"39397","_score":39.544167,"_source":{"id":"39397","text":"Linux \u684c\u9762\u73a9\u5bb6\u6307\u5357\uff1a11. \u5728\u540c\u4e00\u4e2a\u786c\u76d8\u4e0a\u5b89\u88c5\u591a\u4e2a Linux \u53d1\u884c\u7248\u4ee5\u53ca\u4e3a Linux \u5b89\u88c5 Nvidia \u663e\u5361\u9a71\u52a8 - \u4eac\u5c71\u6e38\u4fa0","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"youxia","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1635317562"},"highlight":{"text":["#em#Linux#/em# #em#桌#/em##em#面#/em##em#玩#/em##em#家#/em##em#指#/em##em#南#/em#:11. 在同一个硬盘上安装多个 #em#Linux#/em# 发行版#em#以#/em#及为 #em#Linux#/em# 安装 Nvidia 显卡驱动 - #em#京#/em##em#山#/em##em#游#/em##em#侠#/em#"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"38454","_score":38.653915,"_source":{"id":"38454","text":"Linux \u684c\u9762\u73a9\u5bb6\u6307\u5357\uff1a09. X Window \u7684\u5965\u79d8","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"youxia","tagsname":"Linux|X Window","tagsid":"[\"274\",15889]","catesname":"[02]Linux\u5c31\u8981\u8fd9\u6837\u73a9","catesid":"[\"5188\"]","createtime":"1541002830"},"highlight":{"text":["#em#Linux#/em# #em#桌#/em##em#面#/em##em#玩#/em##em#家#/em##em#指#/em##em#南#/em#:09. X Window 的奥秘"]}},{"_index":"likecs_art_db","_type":"_doc","_id":"288377","_score":37.580177,"_source":{"id":"288377","text":"Linux \u684c\u9762\u7f8e\u5316\u90a3\u70b9\u4e8b\u513f - \u4eac\u5c71\u6e38\u4fa0","intro":"\u76ee\u5f55\n\nECharts\n\u5f02\u6b65\u52a0\u8f7d\n\n\n\nECharts\r\n\u6570\u636e\u53ef\u89c6\u5316\u5728\u8fc7\u53bb\u51e0\u5e74\u4e2d\u53d6\u5f97\u4e86\u5de8\u5927\u8fdb\u5c55\u3002\u5f00\u53d1\u4eba\u5458\u5bf9\u53ef\u89c6\u5316\u4ea7\u54c1\u7684\u671f\u671b\u4e0d\u518d\u662f\u7b80\u5355\u7684\u56fe\u8868\u521b\u5efa\u5de5\u5177\uff0c\u800c\u662f\u5728\u4ea4\u4e92\u3001\u6027\u80fd\u3001\u6570\u636e\u5904\u7406\u7b49\u65b9\u9762\u6709\u66f4\u9ad8\u7684\u8981\u6c42\u3002\r\nchart.setOption({\r\n color: [\r\n ","username":"youxia","tagsname":null,"tagsid":"","catesname":null,"catesid":"","createtime":"1638007866"},"highlight":{"text":["#em#Linux#/em# #em#桌#/em##em#面#/em#美化那点事儿 - #em#京#/em##em#山#/em##em#游#/em##em#侠#/em#"]}}]}}"
URL: http://192.168.101.128/searchcore/index.php/cihere_cn_db/_search REQUEST:Array
(
[query] => Array
(
[match] => Array
(
[title] => Array
(
[query] => Linux 桌面玩家指南:15. 深度学习可以这样玩 - 京山游侠
)
)
)
[highlight] => Array
(
[fields] => Array
(
[title] => stdClass Object
(
)
)
[pre_tags] => #em#
[post_tags] => #/em#
)
[from] => 0
)
RESPONSE:bool(false)
URL: http://127.0.0.1:9200/likecs_down_db/_search REQUEST:Array
(
[query] => Array
(
[bool] => Array
(
[must] => Array
(
[0] => Array
(
[match] => Array
(
[title] => Array
(
[query] => Linux 桌面玩家指南:15. 深度学习可以这样玩 - 京山游侠
)
)
)
)
[must_not] => Array
(
[0] => Array
(
[term] => Array
(
[cate1] => 电子书籍
)
)
)
)
)
[highlight] => Array
(
[fields] => Array
(
[title] => stdClass Object
(
)
)
[pre_tags] => #em#
[post_tags] => #/em#
)
[size] => 5
[from] => 0
)
RESPONSE:string(2910) "{"took":10,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":5387,"relation":"eq"},"max_score":27.08041,"hits":[{"_index":"likecs_down_db","_type":"_doc","_id":"68109","_score":27.08041,"_source":{"id":"68109","title":"toolxp.net\u73a9\u73a9\u5c0f\u6e38\u620f .net2.0\u7248 build 090706","spidertime":"1623079177","contenttime":"1674389802","pageimage":"https:\/\/img.jbzj.com\/do\/uploads\/allimg\/090706\/0939490.jpg","tag":".net2.0|\u5c0f\u6e38\u620f","cate1":"\u6e90\u7801\u4e0b\u8f7d","cate2":"asp.net\u6e90\u7801","cate3":"\u5c0f\u5077\u91c7\u96c6","attr1":"67KB"},"highlight":{"title":["toolxp.net#em#玩#/em##em#玩#/em#小#em#游#/em#戏 .net2.0版 build 090706"]}},{"_index":"likecs_down_db","_type":"_doc","_id":"68110","_score":27.08041,"_source":{"id":"68110","title":"toolxp.net\u73a9\u73a9\u5c0f\u6e38\u620f .net2.0\u7248 build 090326","spidertime":"1623079178","contenttime":"1672875579","tag":"\u73a9\u73a9\u5c0f\u6e38\u620f","cate1":"\u6e90\u7801\u4e0b\u8f7d","cate2":"asp.net\u6e90\u7801","cate3":"\u5c0f\u5077\u91c7\u96c6","attr1":"87KB"},"highlight":{"title":["toolxp.net#em#玩#/em##em#玩#/em#小#em#游#/em#戏 .net2.0版 build 090326"]}},{"_index":"likecs_down_db","_type":"_doc","_id":"5940","_score":27.08041,"_source":{"id":"5940","title":"toolxp.net\u73a9\u73a9\u5c0f\u6e38\u620f .net2.0\u7248 build 090706","spidertime":"1622871831","contenttime":"1674042366","pageimage":"https:\/\/img.jbzj.com\/do\/uploads\/allimg\/090706\/0939490.jpg","tag":".net2.0|\u5c0f\u6e38\u620f","cate1":"\u6e90\u7801\u4e0b\u8f7d","cate2":"asp.net\u6e90\u7801","cate3":"\u5c0f\u5077\u91c7\u96c6","attr1":"67KB"},"highlight":{"title":["toolxp.net#em#玩#/em##em#玩#/em#小#em#游#/em#戏 .net2.0版 build 090706"]}},{"_index":"likecs_down_db","_type":"_doc","_id":"5941","_score":27.08041,"_source":{"id":"5941","title":"toolxp.net\u73a9\u73a9\u5c0f\u6e38\u620f .net2.0\u7248 build 090326","spidertime":"1622871832","contenttime":"1622871832","tag":"\u73a9\u73a9\u5c0f\u6e38\u620f","cate1":"\u6e90\u7801\u4e0b\u8f7d","cate2":"asp.net\u6e90\u7801","cate3":"\u5c0f\u5077\u91c7\u96c6","attr1":"87KB"},"highlight":{"title":["toolxp.net#em#玩#/em##em#玩#/em#小#em#游#/em#戏 .net2.0版 build 090326"]}},{"_index":"likecs_down_db","_type":"_doc","_id":"58033","_score":26.376738,"_source":{"id":"58033","title":"TensorFlow2.0\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60\u6307\u5357 \u4e2d\u6587\u5b8c\u6574\u7248PDF","spidertime":"1623064837","contenttime":"1674363432","pageimage":"https:\/\/img.jbzj.com\/file_images\/article\/202101\/2021127163445103.jpg?2021027163519","tag":"Tensorflow2.0|\u6df1\u5ea6\u5f3a\u5316\u5b66\u4e60","cate1":"\u7535\u5b50\u4e66\u7c4d","cate2":"\u5176\u5b83\u76f8\u5173","attr1":"317KB"},"highlight":{"title":["TensorFlow2.0#em#深#/em##em#度#/em#强化#em#学#/em##em#习#/em##em#指#/em##em#南#/em# 中文完整版PDF"]}}]}}"
Linux 桌面玩家指南:15. 深度学习可以这样玩 - 京山游侠 - 爱码网
特别说明: 要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束。如果某条评论中出现了两个$,MathJax 会将两个$之间的内容按照数学公式进行排版,从而导致评论区格式混乱。如果大家的评论中用到了$,但是又不是为了使用数学公式,就请使用\$转义一下,谢谢。
想从头阅读该系列吗?下面是传送门:
前言
这一篇相当于是深度学习方面的一个 Hello World 吧。深度学习目前大火,吸引了无数人。但是很多时候,想了解深度学习的人总觉得云山雾罩,怎么也看不明白。如果要是有一个能运行的简单的深度学习的例子该多好啊。我这里就来玩一玩深度学习,来一个让大家摸得着、看得见的例子,揭开深度学习的神秘面纱。语言方面,当然是选择对科学计算极度友好的 Python 啦。我当然不会从头撸代码,肯定会使用现成的库的啦。目前最流行的深度学习框架是 Keras,在 Keras 中,它又使用了大名鼎鼎的 TensorFlow 作为后端。在 Python 中,安装这几个库真的是太方便了。最后说一句,我用的是 Python3。
上一篇浮光掠影地讲了一下科学计算,并探讨了一下适合数值计算的语言需要什么样的特色。非常幸运,Python 正好具有这样的特色,准确地说,应该是 Python 中的 numpy 库正好具有这样的特色。上一篇的内容略有过时,比如 IPython Notebook,目前就已经改成 Jupyter Notebook 了。但是在这一篇中,我就不用什么 Notebook 了,我用 PyCharm。
JetBrains 大家都知道啦,JetBrains 全家桶是广大程序员的福利啦。做科学计算,使用 PyCharm 的 Community 版就足够了,没必要下载 Professional 版啦,我更加是不鼓励大家用破解版的啦。
环境安装
到 JetBrains 的官网下载最新的 PyCharm 2018.3,正如前面所说,Community 版就够了。解压,运行之,用它创建一个 Python 项目,选择使用虚拟环境,如下图:
使用虚拟环境的好处,是可以为这个项目单独安装依赖的库,不用担心为了学一个什么东西而把系统中的 Python 搞得乱七八糟。直接打开 PyCharm 中的 Terminal,就可以进入这个项目的虚拟环境,在这个 Terminal 中运行的命令,默认就在这个项目的虚拟环境中执行。我们可以在这个 Terminal 中运行pip3 install命令安装所有需要的库。在 PyCharm 中使用pip3 install命令时,有一个令人头痛的问题,那就是从国外的源下载的速度太慢,我们可以替换成国内的源。我太懒,都是使用临时替换,只需要添加-i 源地址参数就可以了。例如,要安装 numpy,并且选择从阿里云下载,就使用pip3 install numpy -i https://mirrors.aliyun.com/pypi/simple/命令。如下图:
常用的国内源有:
新版 Ubuntu 要求使用 https 源,要注意。
在这里,我们需要安装 numpy、keras、tensorflow、matplotlib 库,numpy 用来操作向量和矩阵,matplotlib 用来画图。为了能够读取和预处理图片,我还需要使用 PIL,可惜 PIL 不支持 Python 3,不过没关系,使用 Pillow 就好了。安装这几个库只需要如下几个命令:
pip3 install numpy -i https://mirrors.aliyun.com/pypi/simple/
pip3 install tensorflow -i https://mirrors.aliyun.com/pypi/simple/
pip3 install keras -i https://mirrors.aliyun.com/pypi/simple/
pip3 install matplotlib -i https://mirrors.aliyun.com/pypi/simple/
pip3 install Pillow -i https://mirrors.aliyun.com/pypi/simple/
这些库都直接安装到了我们的项目内,不会和系统中的 Python 起冲突。如下图:
PyCharm 最大的优势当然是它的自动代码提示了。不管是写一个.py文件,还是直接使用 PyCharm 中的 Python Console,就是有非常好的代码提示的。Python Console 还有一个非常棒的功能,就是可以观察每一个变量的值,真的是太方便了。如下图:
而在系统的终端中直接运行 Python3,我们是得不到这么好的辅助功能的。如下图:
最简单的深度学习示例
首先,我们看一个最简单的深度学习示例,就是训练一个能够识别手写数字的密集连接神经网络。在这里,我们需要一个用于训练和测试的数据集,而这个数据集就是 MNIST 数据集,该数据集包含 60000 张用于训练的 28×28 像素的手写数字图片,以及 10000 张用于训练的 28×28 像素的手写数字图片。Keras 能够自动下载该数据集。训练这个神经网络的代码如下:
from keras.datasets import mnist
from keras import models
from keras import layers
from keras.utils import to_categorical
(train_images, train_labels),(test_images, test_labels) = mnist.load_data()
network = models.Sequential()
network.add(layers.Dense(512, activation=\'relu\', input_shape=(28*28,)))
network.add(layers.Dense(10, activation=\'softmax\'))
network.compile(optimizer=\'rmsprop\', loss=\'categorical_crossentropy\', metrics=[\'accuracy\'])
train_images = train_images.reshape((60000, 28*28))
train_images = train_images.astype(\'float32\') / 255
test_images = test_images.reshape(10000, 28*28)
test_images = test_images.astype(\'float32\') / 255
train_labels = to_categorical(train_labels)
test_labels = to_categorical(test_labels)
network.fit(train_images, train_labels, epochs=5, batch_size=128)
把以上这几行代码逐行输入到 PyCharm 的 Python 控制台,就可以看到效果了。当输入到(train_images, train_labels),(test_images, test_labels) = mnist.load_data()这一行时,Keras 就会自动下载 MNIST 数据集,可惜的是,由于下载地址被墙的原因,经常会出现下载失败的情况。不过出现下载失败也不用着急,用搜索引擎找一下,很容易找到这个数据集的文件:mnist.npz文件,大小才 11.5M,下载很快的。把下载的这个文件放到~/.keras/datasets目录中即可。
以上所有的代码都输入完成后,就开始了训练,在这个例子中,训练速度非常快,每个周期 4 秒多就完成了,总共 5 个周期。如下图:
可以看到,这个神经网络达到了 98.9% 的精度。下面,我自己手写一个数字测试一下。先打开 Inkscape,自己随便写一个数字,如下图:
保存为~/test.png。然后,用下面的代码把该图片读入内存,并更改大小为 28×28 像素,最后转化为灰度图像。这些操作都使用 PIL 完成。PIL 操作图像那是相当的方便。
from PIL import Image
image = Image.open(\'/home/youxia/test.png\').resize((28,28)).convert(\'L\')
然后,将该图像转化为 numpy 的数组,并将其中的数据处理为 0 到 1 之间的浮点数。
import numpy as np
im = np.array(image)
im = 255 - im
im = im.astype(\'float32\') / 255.0
可以使用 matplotlib 查看一下该图像,代码如下:
import matplotlib.pyplot as plt
plt.imshow(im, cmap=plt.cm.binary)
这是我们处理好之后的图像是下面这个效果,和 MNIST 自带的图像基本基本一致:
下面使用我们前面训练的神经网络来识别该图片,使用 predict 函数即可。识别时,需要将图像数据的 shape 更改为 (1,784):
network.predict(im.reshape(1,784))
返回的值是一个包含是个数字的列表,代表该图片可能为数字 0-9 的概率,可以看到,其中第 6 项,也就是为数字 5 的概率最大,接近于 1:
array([[2.19245143e-11, 7.56166017e-13, 2.06190620e-10, 3.12406366e-04,
1.12510295e-13, 9.99686599e-01, 8.85503199e-11, 2.70172443e-11,
2.85677032e-07, 7.55779013e-07]], dtype=float32)
如果不想自己用眼睛去判断哪个概率值最大,可以使用 numpy 的 argmax 函数,如下:
np.argmax(network.predict(im.reshape(1,784)))
返回结果为几,就说明识别出的数字为几,如下:
5
从密集连接神经网络到卷积神经网络
前面的例子使用的是密集连接神经网络,每一幅图像都转化为一个以为向量进行处理。在对图像进行深度学习时,最常用的方法是二维卷积神经网络。卷积神经网络的优点一是学到的模式具有平移不变性,在图像某一个区域学习到的模式,如果模式出现在新位置,它仍然能够识别;二是卷积神经网络可以学到模式的空间层次结构。
在 Keras 中,对卷积神经网络也提供了非常强大的支持。上一节的代码,只需要进行简单的修改,就可以构建一个二维卷积神经网络,代码如下:
from keras import layers
from keras import models
from keras.datasets import mnist
from keras.utils import to_categorical
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation=\'relu\', input_shape=(28, 28, 1)))
model.add(layers.MaxPooling2D(2, 2))
model.add(layers.Conv2D(64, (3, 3), activation=\'relu\'))
model.add(layers.MaxPooling2D(2, 2))
model.add(layers.Conv2D(64, (3, 3), activation=\'relu\'))
model.add(layers.Flatten())
model.add(layers.Dense(64, activation=\'relu\'))
model.add(layers.Dense(10, activation=\'softmax\'))
model.compile(optimizer=\'rmsprop\', loss=\'categorical_crossentropy\', metrics=[\'accuracy\'])
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
train_images = train_images.reshape((60000, 28, 28, 1))
train_images = train_images.astype(\'float32\') / 255
test_images = test_images.reshape(10000, 28, 28, 1)
test_images = test_images.astype(\'float32\') / 255
train_labels = to_categorical(train_labels)
test_labels = to_categorical(test_labels)
model.fit(train_images, train_labels, epochs=5, batch_size=64)
主要的改变体现在以下几个方面:一是使用 Conv2D 层、MaxPooling 层和 Flatten 层修改了深度学习框架的结构,二是修改了输入数组的形状。除此之外,该深度学习框架使用的激活函数、损失函数都和前面是一样的。训练该网络,发现它比前面的网络训练起来要慢一些,但是达到了 99.3%的准确度。
使用如下代码进行验证:
import numpy as np
from PIL import Image
im = np.array(Image.open(\'/home/youxia/test.png\').resize((28,28)).convert(\'L\'))
im = 255 - im
im = im.astype(\'float32\') / 255.0
print(np.argmax(model.predict(im.reshape(1, 28, 28, 1))))
关于深度学习的理论和实战
深度学习的理论相对来说比较难,所以我这篇随笔里面就没有怎么介绍。如果想全面了解深度学习的理论,可以阅读这本“圣经”:
但是,光有理论而无实践,这么枯燥的知识是学不下去的。在实战方面,我觉得这本书不错:
我这里的内容,就是参考了这本书。最后,再次对 Python 点赞,用 Python 写科学计算的代码,真的是太舒服了。
版权申明
该随笔由京山游侠在2018年12月16日发布于博客园,引用请注明出处,转载或出版请联系博主。QQ邮箱:1841079@qq.com
相关文章:
2021-08-21
2021-11-10
2021-12-14
2021-11-11
2021-10-27
2018-11-01
2021-11-27
猜你喜欢
2021-11-24
2021-11-21
2021-11-17
2021-12-10
2021-12-28
2021-12-15
2022-01-02
相关资源
下载
2023-01-22
下载
2023-01-05
下载
2023-01-22